Tasks create #12

Closed
opened 2022-02-20 16:38:47 +01:00 by nas · 9 comments
Owner

En envoyant la requête suivant afin de créer une tâche correspondant à une activité et une utilisatrice existante (ici 66 et 34).

url     : https://chronobriq-api.canaille.netlib.re/api/v1/tasks
méthode : POST
données : { "task" : {
  "name" : "test_1",
  "activity_id" : "66",
  "owner_id" : "34",
  "start_time" : "0"}}

Aucune réponse n'est renvoyé, de même lors des tentatives de récupérations :

url     : https://chronobriq-api.canaille.netlib.re/api/v1/tasks
méthode : GET
données : ""
token : fournit par l'utilisatrice correspondante au champ owner_id
En envoyant la requête suivant afin de créer une tâche correspondant à une activité et une utilisatrice existante (ici 66 et 34). ``` url : https://chronobriq-api.canaille.netlib.re/api/v1/tasks méthode : POST données : { "task" : { "name" : "test_1", "activity_id" : "66", "owner_id" : "34", "start_time" : "0"}} ``` Aucune réponse n'est renvoyé, de même lors des tentatives de récupérations : ``` url : https://chronobriq-api.canaille.netlib.re/api/v1/tasks méthode : GET données : "" token : fournit par l'utilisatrice correspondante au champ owner_id ```
Owner

J'ai aussi une erreur avec cette requête, je pense l'avoir identifiée. J'apporte un correctif dès que possible.

J'ai aussi une erreur avec cette requête, je pense l'avoir identifiée. J'apporte un correctif dès que possible.
Author
Owner

Okay. C'était pour rédiger le test correspondant; donc absolument rien d'urgent

Okay. C'était pour rédiger le test correspondant; donc absolument rien d'urgent
Owner

Oui pas de soucis, je préfère juste ne pas laisser traîner ça plus longtemps.
D'ailleurs, tu auras sans doute aussi un problème avec une requête POST sur /memberships.

Oui pas de soucis, je préfère juste ne pas laisser traîner ça plus longtemps.\ D'ailleurs, tu auras sans doute aussi un problème avec une requête POST sur `/memberships`.
Owner

Ok, problème résolu pour la création d'une tasks. En fait mon code était bon, mais notre manière de faire une requête était mauvaise.
Pour ajouter/modifier/supprimer une entrée task, il faut être sur son endpoint, et son endpoint est lié à une activity. En effet une tâche n'est pas indépendante, elle dépend d'une activité pour laquelle elle est exécutée. Pour afficher une tâche en particulier (def show dans le contrôleur), ou la modifier ou la supprimer il faut donc faire une requête sur le endpoint : /api/v1/activities/:activity_id/tasks/:id.

Ok, problème résolu pour la création d'une tasks. En fait mon code était bon, mais notre manière de faire une requête était mauvaise. Pour ajouter/modifier/supprimer une entrée `task`, il faut être sur son endpoint, et son endpoint est lié à une `activity`. En effet une tâche n'est pas indépendante, elle dépend d'une activité pour laquelle elle est exécutée. Pour afficher une tâche en particulier (`def show` dans le contrôleur), ou la modifier ou la supprimer il faut donc faire une requête sur le endpoint : `/api/v1/activities/:activity_id/tasks/:id`.
Owner

Aussi, il n'est pas nécessaire de préciser dans la requête l'activity_id, l'API la retrouve dans l'URL de la requête. Ne sont nécessaires de préciser que name et start_time.

Aussi, il n'est pas nécessaire de préciser dans la requête l'`activity_id`, l'API la retrouve dans l'URL de la requête. Ne sont nécessaires de préciser que `name` et `start_time`.
Lou closed this issue 2022-02-20 18:45:43 +01:00
Author
Owner

Bien noté pour la modification et la suppression. Pour la création, j'ai le même problème en utilisant l'activité et son id (77)

url : https://chronobriq-api.canaille.netlib.re/api/v1/activities/77/tasks
données : {"task" : {"name" : "test_1", "start_time" : "0"}}
méthode : POST

Tout comme la requête précédante, j'obtiens 422 Unprocessable Entity

Bien noté pour la modification et la suppression. Pour la création, j'ai le même problème en utilisant l'activité et son id (77) ```json url : https://chronobriq-api.canaille.netlib.re/api/v1/activities/77/tasks données : {"task" : {"name" : "test_1", "start_time" : "0"}} méthode : POST ``` Tout comme la requête précédante, j'obtiens `422 Unprocessable Entity`
nas reopened this issue 2022-02-20 19:31:43 +01:00
Owner

Le format de l'entrée start_time doit être du type datetime. Comme dit dans la précédente issue, hésite pas à te référer au contenu du fichier db/schema.rb.

Le format de l'entrée `start_time` doit être du type [datetime](https://ruby-doc.org/stdlib-3.0.2/libdoc/date/rdoc/DateTime.html). Comme dit dans la précédente issue, hésite pas à te référer au contenu du fichier `db/schema.rb`.
Author
Owner
{ "task" : {
  "name" : "test_1",
  "start_time" : "Tue, 23 Apr 1616 00:00:00 +0000"}
}

url https://chronobriq-api.canaille.netlib.re/api/v1/activities/78/tasks

renvoit un code 201 Created :)

```json { "task" : { "name" : "test_1", "start_time" : "Tue, 23 Apr 1616 00:00:00 +0000"} } ``` url https://chronobriq-api.canaille.netlib.re/api/v1/activities/78/tasks renvoit un code `201 Created` :)
nas closed this issue 2022-02-20 19:38:53 +01:00
Owner

Tu peux même préciser moins d'informations, c'est un format assez libre. Dans mes tests je me contente généralement de juste mettre l'heure sous la forme 12:12 et ça passe. L'API se charge de combler les données manquantes.

Tu peux même préciser moins d'informations, c'est un format assez libre. Dans mes tests je me contente généralement de juste mettre l'heure sous la forme `12:12` et ça passe. L'API se charge de combler les données manquantes.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cli/Chronobriq-API#12
No description provided.