{"info":{"_postman_id":"f67c302d-947e-4186-b4ce-2ed51db9cf02","name":"API-SoftDesk-P10_mignon_helene","description":"<html><head></head><body><p><a href=\"https://github.com/hmignon/P10_mignon_helene\">API-SoftDesk</a> est une API RESTful permettant de remonter et suivre des problèmes techniques pour les trois plateformes <em>(site web, applications Android et iOS)</em>.</p>\n<p>L'application permet aux utilisateurs de créer divers projets, d'ajouter des utilisateurs (contributeurs) à des projets spécifiques, de créer des problèmes au sein des projets et d'attribuer des libellés à ces problèmes en fonction de leurs priorités, de balises, etc.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"19098124","collectionId":"f67c302d-947e-4186-b4ce-2ed51db9cf02","publishedId":"UVe9SpoZ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2022-01-29T22:47:15.000Z"},"item":[{"name":"Inscription / Connexion","item":[{"name":"1. Inscription de l'utilisateur","id":"8cb12f35-325e-4eea-a41e-05ab81cc6e5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"testuser","type":"text"},{"key":"email","type":"text","value":"testuser@email.com"},{"key":"password","value":"password321","type":"text"},{"key":"password2","value":"password321","type":"text"},{"key":"first_name","value":"John","type":"text"},{"key":"last_name","value":"Smith","type":"text"}]},"url":"http://127.0.0.1:8000/signup/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, l'utilisateur est créé dans la base de données.</p>\n<p>Dans le cas de mots de passe non identiques, le message \"<em>Password fields did not match.</em>\" est renvoyé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<p>Aucune permission n'est requise pour accéder à ce point de terminaison.</p>\n","urlObject":{"protocol":"http","port":"8000","path":["signup",""],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"8cb12f35-325e-4eea-a41e-05ab81cc6e5d"},{"name":"2. Connexion de l'utilisateur","id":"7a283861-eb18-414a-974d-2f984f3ce27a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"testuser","type":"text"},{"key":"password","value":"password321","type":"text"}]},"url":"http://127.0.0.1:8000/login/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, l'API renvoie un token d'accès JWT. Ce token permet l'accès à l'ensemble des points de terminaison pour une durée de 24 heures.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<p>Aucune permission n'est requise pour accéder à ce point de terminaison.</p>\n<p>Note : L'utilisateur doit avoir été préalablement créé via <a href=\"http://127.0.0.1:8000/signup/%60\">http://127.0.0.1:8000/signup/</a></p>\n","urlObject":{"protocol":"http","port":"8000","path":["login",""],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"7a283861-eb18-414a-974d-2f984f3ce27a"}],"id":"6dc21fc3-589c-4a1f-8671-190486b442c2","description":"<p>L'authentification JWT (JSON Web Token) est utilisée.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"78447026-8137-4662-b6d0-e27d9a2e7e5f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1017ad06-eff6-47e2-a397-83a414268c3c","type":"text/javascript","exec":[""]}}],"_postman_id":"6dc21fc3-589c-4a1f-8671-190486b442c2"},{"name":"Projets","item":[{"name":"3. Récupérer la liste de tous les projets rattachés à l'utilisateur connecté","id":"9a2c3de4-e8b8-4d31-84c8-4bb9a9de185a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/","description":"<p>L'API renvoie la liste de tous les projets dont l'utilisateur est l'auteur ou le contributeur.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","id":"f4384907-98ea-4140-af98-5664de21ad79","name":"Projets","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",""],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"1767a2cd-ef21-4f35-aac3-35ac56b0cba0","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Jan 2022 13:55:13 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"OPTIONS, GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"205"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 7,\n        \"title\": \"Project updated\",\n        \"description\": \"Project description updated\",\n        \"type\": \"iOS\",\n        \"author\": 1\n    },\n    {\n        \"id\": 9,\n        \"title\": \"Project test\",\n        \"description\": \"Project description test\",\n        \"type\": \"BACKEND\",\n        \"author\": 1\n    }\n]"}],"_postman_id":"9a2c3de4-e8b8-4d31-84c8-4bb9a9de185a"},{"name":"4. Créer un projet","id":"72f2bbb3-b007-4d9c-bf4c-0814fe35dfc8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"title","value":"Project test","type":"text"},{"key":"description","value":"Project description test","type":"text"},{"key":"type","value":"BACKEND","description":"<p>choices = BACKEND, FRONTEND, iOS, ANDROID</p>\n","type":"text"}]},"url":"http://127.0.0.1:8000/projects/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, un projet est créé dans la base de données, avec pour auteur l'utilisateur connecté.</p>\n<p>Un contributeur ayant pour rôle \"AUTHOR\" est automatiquement créé et rattaché à ce projet.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","id":"f4384907-98ea-4140-af98-5664de21ad79","name":"Projets","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",""],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"72f2bbb3-b007-4d9c-bf4c-0814fe35dfc8"},{"name":"5. Récupérer les détails d'un projet via son id","id":"d79ce8eb-eae3-4e2f-985e-7a06a29617ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/","description":"<p>L'API renvoie le détail du projet spécifié.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","id":"f4384907-98ea-4140-af98-5664de21ad79","name":"Projets","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"}]}},"response":[{"id":"316a24bc-43d0-48a1-b122-a261fb89f0b1","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/projects/:project_id/","protocol":"http","host":["127","0","0","1"],"port":"8000","path":["projects",":project_id",""],"variable":[{"key":"project_id","value":"9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 29 Jan 2022 22:20:38 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"OPTIONS, DELETE, PUT, GET"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"100"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 9,\n    \"title\": \"Project test\",\n    \"description\": \"Project description test\",\n    \"type\": \"BACKEND\",\n    \"author\": 1\n}"}],"_postman_id":"d79ce8eb-eae3-4e2f-985e-7a06a29617ba"},{"name":"6. Mettre à jour un projet","id":"77ec37a5-6fd3-4646-a584-68e31bd53ee7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"title","value":"Project updated","type":"text"},{"key":"description","value":"Project description updated","type":"text"},{"key":"type","value":"iOS","type":"text"}]},"url":"http://127.0.0.1:8000/projects/:project_id/","description":"<p>Lorsque l'utilisateur envoie une requête PUT, si les données entrées sont valides, un ou plusieurs attributs du projet spécifié sont modifiés.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","id":"f4384907-98ea-4140-af98-5664de21ad79","name":"Projets","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"7","key":"project_id"}]}},"response":[],"_postman_id":"77ec37a5-6fd3-4646-a584-68e31bd53ee7"},{"name":"7.  Supprimer un projet et ses problèmes","id":"12076176-c1bc-42b6-8912-da5e42af40c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/","description":"<p>Lorsque l'utilisateur envoie une requête DELETE, le projet spécifié est supprimé. Les contributeurs, problèmes et commentaires associés à ce projet sont également supprimés.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","id":"f4384907-98ea-4140-af98-5664de21ad79","name":"Projets","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"8","key":"project_id"}]}},"response":[],"_postman_id":"12076176-c1bc-42b6-8912-da5e42af40c7"}],"id":"f4384907-98ea-4140-af98-5664de21ad79","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"d121bff0-75ef-4a9c-b3c3-bffeb01f085d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"541c46ca-a944-4380-8cc2-d453d3b2e3b7","type":"text/javascript","exec":[""]}}],"_postman_id":"f4384907-98ea-4140-af98-5664de21ad79","description":""},{"name":"Utilisateurs","item":[{"name":"8. Ajouter un utilisateur (collaborateur) à un projet","id":"c2401a8a-1e23-4380-9005-2abf49f0d0a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"user","value":"3","type":"text"}]},"url":"http://127.0.0.1:8000/projects/:project_id/users/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, un contributeur associé au projet spécifié est créé dans la base de données.</p>\n<p>Le rôle \"CONTRIBUTOR\" est automatiquement attribué à ce contributeur.</p>\n<p>Dans le cas où le contributeur existe déjà, le message \"<em>This user has already been added.</em>\" est renvoyé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","name":"Utilisateurs","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","users",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"}]}},"response":[],"_postman_id":"c2401a8a-1e23-4380-9005-2abf49f0d0a6"},{"name":"9. Récupérer la liste de tous les utilisateurs attachés à un projet","id":"769c625b-dbf5-43eb-9750-38b80a538331","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/users/","description":"<p>L'API renvoie la liste de tous les contributeurs associés au projet spécifié.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","name":"Utilisateurs","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","users",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"}]}},"response":[{"id":"cb00af4f-1ddd-4993-9ef8-a8317d3a34b2","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/projects/:project_id/users/","protocol":"http","host":["127","0","0","1"],"port":"8000","path":["projects",":project_id","users",""],"variable":[{"key":"project_id","value":"9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Jan 2022 13:55:47 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"OPTIONS, GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"100"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 13,\n        \"role\": \"AUTHOR\",\n        \"user\": 1,\n        \"project\": 9\n    },\n    {\n        \"id\": 14,\n        \"role\": \"CONTRIBUTOR\",\n        \"user\": 2,\n        \"project\": 9\n    }\n]"}],"_postman_id":"769c625b-dbf5-43eb-9750-38b80a538331"},{"name":"10. Supprimer un utilisateur d'un projet","id":"1aa77519-06be-4b95-b833-536b224de0f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/users/:contributor_id/","description":"<p>Lorsque l'utilisateur envoie une requête DELETE, le contributeur spécifié est supprimé. Les problèmes et commentaires dont ce contributeur est l'auteur sont également supprimés.</p>\n<p>Note : il n'est pas possible de supprimer le contributeur ayant pour rôle \"AUTHOR\". Si une requête DELETE est envoyée dans ce sens, le message \"<em>Project author cannot be deleted.</em>\" est renvoyé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","name":"Utilisateurs","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","users",":contributor_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"15","key":"contributor_id"}]}},"response":[],"_postman_id":"1aa77519-06be-4b95-b833-536b224de0f6"}],"id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"dcc4aa8c-c54a-4ad9-92ff-74ec1d81eb77","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"6455d6a0-1efd-46c4-a354-87a8ad9dacd7","type":"text/javascript","exec":[""]}}],"_postman_id":"647bdc6c-c420-4c7d-bfde-a5e971e56dcc","description":""},{"name":"Problèmes","item":[{"name":"11. Récupérer la liste des problèmes liés à un projet","id":"79ccd595-d79b-4ff1-b714-e48ecbdeafba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/issues/","description":"<p>L'API renvoie la liste de tous les problèmes associés au projet spécifié.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","name":"Problèmes","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"}]}},"response":[{"id":"8fc1d389-edda-4ad1-80a9-b28ca46c3137","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/projects/:project_id/issues/","protocol":"http","host":["127","0","0","1"],"port":"8000","path":["projects",":project_id","issues",""],"variable":[{"key":"project_id","value":"9"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Jan 2022 13:56:13 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"OPTIONS, GET, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"210"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 2,\n        \"title\": \"Issue test updated\",\n        \"desc\": \"Issue description test updated\",\n        \"tag\": \"TASK\",\n        \"priority\": \"MEDIUM\",\n        \"status\": \"TODO\",\n        \"created_time\": \"2022-01-26T12:48:51.196049Z\",\n        \"project\": 9,\n        \"author\": 1,\n        \"assignee\": 14\n    }\n]"}],"_postman_id":"79ccd595-d79b-4ff1-b714-e48ecbdeafba"},{"name":"12. Créer un problème dans un projet","id":"d0fa611f-02ab-4129-bdc9-af197dced954","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"title","value":"Issue test 2","type":"text"},{"key":"desc","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit","type":"text"},{"key":"tag","value":"UPGRADE","type":"text","description":"<p>choices = BUG, TASK, UPGRADE</p>\n"},{"key":"priority","value":"LOW","type":"text","description":"<p>choices = LOW, MEDIUM, HIGH ; default = LOW</p>\n"},{"key":"status","value":"IN PROGRESS","type":"text","description":"<p>choices = TODO, IN PROGRESS, DONE ; default = TODO</p>\n"},{"key":"assignee","value":"13","type":"text","description":"<p>contributor.id</p>\n"}]},"url":"http://127.0.0.1:8000/projects/:project_id/issues/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, un problème associé au projet spécifié est créé dans la base de données.</p>\n<p>L'attributaire (<em>assignee</em>) de ce problème doit faire partie des contributeurs associés à ce projet. Si ce n'est pas le cas, le message \"<em>This user is not contributing to this project.</em>\" est renvoyé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","name":"Problèmes","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"}]}},"response":[],"_postman_id":"d0fa611f-02ab-4129-bdc9-af197dced954"},{"name":"13. Mettre à jour un problème dans un projet","id":"5ab58f12-dab3-4711-9de3-2edd30e5b2d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"title","value":"Issue test updated","type":"text"},{"key":"desc","value":"Issue description test updated","type":"text"},{"key":"tag","value":"TASK","type":"text","description":"<p>choices = BUG, TASK, UPGRADE</p>\n"},{"key":"priority","value":"MEDIUM","type":"text","description":"<p>choices = LOW, MEDIUM, HIGH ; default = LOW</p>\n"},{"key":"status","value":"TODO","type":"text","description":"<p>choices = TODO, IN PROGRESS, DONE ; default = TODO</p>\n"},{"key":"assignee","value":"14","type":"text","description":"<p>contributor.id</p>\n"}]},"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/","description":"<p>Lorsque l'utilisateur envoie une requête PUT, si les données entrées sont valides, un ou plusieurs attributs du problème spécifié sont modifiés.</p>\n<p>L'attributaire (<em>assignee</em>) de ce problème doit faire partie des contributeurs associés à ce projet. Si ce n'est pas le cas, le message \"<em>This user is not contributing to this project.</em>\" est renvoyé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n<li>L'utilisateur doit être l'auteur du problème spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","name":"Problèmes","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"2","key":"issue_id"}]}},"response":[],"_postman_id":"5ab58f12-dab3-4711-9de3-2edd30e5b2d2"},{"name":"14. Supprimer un problème d'un projet","id":"3dd0ebc7-78a2-458d-9aa7-66cb690b77cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/","description":"<p>Lorsque l'utilisateur envoie une requête DELETE, le problème spécifié est supprimé. Les commentaires associés à ce problème sont également supprimés.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n<li>L'utilisateur doit être l'auteur du problème spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","name":"Problèmes","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"3","key":"issue_id"}]}},"response":[],"_postman_id":"3dd0ebc7-78a2-458d-9aa7-66cb690b77cc"}],"id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"372eaf40-b32a-4108-9813-0048cea07922","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"058a1cdb-a11c-41b4-80a1-62ef09a9cc21","type":"text/javascript","exec":[""]}}],"_postman_id":"472e2d7a-4f2e-4338-a985-79b6d35d14af","description":""},{"name":"Commentaires","item":[{"name":"15. Créer des commentaires sur un problème","id":"b72cd44f-e2f5-4d2c-82ea-5d642f6e5b92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"description","value":"Comment content","type":"text"}]},"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/","description":"<p>Lorsque l'utilisateur envoie une requête POST, si les données entrées sont valides, un commentaire associé au problème spécifié est créé dans la base de données.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","id":"c087354f-718b-4802-91c1-015fe7a7e267","name":"Commentaires","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id","comments",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"","key":"issue_id"}]}},"response":[],"_postman_id":"b72cd44f-e2f5-4d2c-82ea-5d642f6e5b92"},{"name":"16. Récupérer la liste de tous les commentaires liés à un problème","id":"6c56df9e-e9e4-492b-a1f7-43380394c92d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/","description":"<p>L'API renvoie la liste de tous les commentaires associés au problème spécifié.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","id":"c087354f-718b-4802-91c1-015fe7a7e267","name":"Commentaires","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id","comments",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"2","key":"issue_id"}]}},"response":[{"id":"4fbfcf29-f86a-4b2a-9bd2-c0c5d3d9dae0","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/","protocol":"http","host":["127","0","0","1"],"port":"8000","path":["projects",":project_id","issues",":issue_id","comments",""],"variable":[{"key":"project_id","value":"9"},{"key":"issue_id","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Jan 2022 16:00:44 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"OPTIONS, POST, GET"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"222"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"description\": \"Test comment 2 updated\",\n        \"created_time\": \"2022-01-26T13:17:24.851193Z\",\n        \"author\": 1,\n        \"issue\": 2\n    },\n    {\n        \"id\": 3,\n        \"description\": \"Comment content\",\n        \"created_time\": \"2022-01-26T16:00:36.645557Z\",\n        \"author\": 1,\n        \"issue\": 2\n    }\n]"}],"_postman_id":"6c56df9e-e9e4-492b-a1f7-43380394c92d"},{"name":"17. Modifier un commentaire","id":"cbd19fea-ecbf-491f-af4b-fd01bd8525d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"description","value":"Test comment 2 updated","type":"text"}]},"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/:comment_id/","description":"<p>Lorsque l'utilisateur envoie une requête PUT, si les données entrées sont valides, un ou plusieurs attributs du commentaire spécifié sont modifiés.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n<li>L'utilisateur doit être l'auteur du commentaire spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","id":"c087354f-718b-4802-91c1-015fe7a7e267","name":"Commentaires","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id","comments",":comment_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"2","key":"issue_id"},{"type":"any","value":"1","key":"comment_id"}]}},"response":[],"_postman_id":"cbd19fea-ecbf-491f-af4b-fd01bd8525d9"},{"name":"18. Supprimer un commentaire","id":"800f0507-8294-4db4-a0f7-1b758b0af22c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/:comment_id/","description":"<p>Lorsque l'utilisateur envoie une requête DELETE, le commentaire spécifié est supprimé.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n<li>L'utilisateur doit être l'auteur du commentaire spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","id":"c087354f-718b-4802-91c1-015fe7a7e267","name":"Commentaires","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id","comments",":comment_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"2","key":"issue_id"},{"type":"any","value":"2","key":"comment_id"}]}},"response":[],"_postman_id":"800f0507-8294-4db4-a0f7-1b758b0af22c"},{"name":"19. Récupérer un commentaire via son id","id":"58ecc080-8339-4b44-9ea7-64075dd5e4ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/:comment_id/","description":"<p>L'API renvoie le détail du commentaire spécifié.</p>\n<h3 id=\"permissions\">Permissions</h3>\n<ul>\n<li>L'utilisateur doit être authentifié avec son JWT.</li>\n<li>L'utilisateur doit être l'auteur ou un contributeur du projet spécifié.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","id":"c087354f-718b-4802-91c1-015fe7a7e267","name":"Commentaires","type":"folder"}},"urlObject":{"protocol":"http","port":"8000","path":["projects",":project_id","issues",":issue_id","comments",":comment_id",""],"host":["127","0","0","1"],"query":[],"variable":[{"type":"any","value":"9","key":"project_id"},{"type":"any","value":"2","key":"issue_id"},{"type":"any","value":"1","key":"comment_id"}]}},"response":[{"id":"bcb78790-1476-491b-9256-2b1ac07f0edc","name":"Example response (HTTP_200_OK)","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/projects/:project_id/issues/:issue_id/comments/:comment_id/","protocol":"http","host":["127","0","0","1"],"port":"8000","path":["projects",":project_id","issues",":issue_id","comments",":comment_id",""],"variable":[{"key":"project_id","value":"9"},{"key":"issue_id","value":"2"},{"key":"comment_id","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Jan 2022 13:56:34 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"DELETE, PUT, OPTIONS, GET"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"113"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"description\": \"Test comment 2 updated\",\n    \"created_time\": \"2022-01-26T13:17:24.851193Z\",\n    \"author\": 1,\n    \"issue\": 2\n}"}],"_postman_id":"58ecc080-8339-4b44-9ea7-64075dd5e4ee"}],"id":"c087354f-718b-4802-91c1-015fe7a7e267","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"b3bd2933-dd4a-48fb-8717-6a61a43dd92e","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a484a2f1-fae1-4a11-865b-b4ca8a13fc56","type":"text/javascript","exec":[""]}}],"_postman_id":"c087354f-718b-4802-91c1-015fe7a7e267","description":""}],"event":[{"listen":"prerequest","script":{"id":"f9fab95a-f43e-4475-8453-360893217c15","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d4bd4719-d303-48cd-a2b0-ae458cfb21ed","type":"text/javascript","exec":[""]}}]}