{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"7afcfb96-5db7-428b-b0da-b8bb09c657fb","name":"BFI_Tasklist","description":"## Was kann das Backend?\n\nFolgende Funktionen können aktuell mit dem Backend umgesetzt werden:\n\n- **Anmelden/Registrieren**\n    \n    BenutzerInnen können sich selbstständig registrieren und anmelden. Es sind prinzipiell alle Benutzer gleichwertig - es gibt also keine Unterscheidungen zwischen \"normalen\" BenutzerInnen und Admins. Diese Funktionalität war zwar gewünscht, ist aber etwas anders gelöst (mehr Details weiter unten). Somit kann euer Frontend einheitlicher gelöst sein, ohne von Anfang an zwischen Admins und normalen BenutzerInnen unterscheiden zu müssen.\n    \n- **Benutzerverwaltung**\n    \n    Registrierte BenutzerInnen können ihre eigenen Daten verwalten, ein Profilbild hochladen sowie den eigenen Account wieder löschen. Nachdem es keine Adminuser gibt, kann nur der-/diejenige BenutzerIn selbst sein/ihr Profil bearbeiten oder löschen.\n    \n- **Benutzerübersicht**\n    \n    Es können alle Benutzerprofile, Tasks und Tasklists **ohne login** ausgelesen (aber nicht bearbeitet oder gelöscht) werden.\n    \n- **Tasklists**\n    \n    Tasklists sind Gruppierungen an Tasks. Sie können daher als eigene Projekte, Sprints, Boards und dergleichen verwendet werden. Registriert sich ein(e) BenutzerIn, so wird automatisch eine Standard-Tasklist angelegt. Sollte daher jemand keine Unterscheidung zwischen Projekten/Boards/... machen wollen, sondern alle Tasks einem Benutzer direkt zuweisen, dann ist dafür einfach die Standard-Tasklist zu verwenden.\n    \n    Tasklists haben immer einen (einzigen) Besitzer, der als Admin fungiert. Es können keine weiteren BenutzerInnen als Admins hinzugefügt werden. Stattdessen können vom Admin andere BenutzerInnen zur jeweiligen Tasklist hinzugefügt werden, welche Tasks der Tasklist bearbeiten, hinzufügen oder löschen können. Alle BenutzerInnen, die zu einer Tasklist hinzugefügt wurden, sind gleichwertig. Es gibt daher auch kein Rechtemanagement, mit dem man spezifizieren könnte, dass bestimmte BenutzerInnen bspw. keine Tasks löschen dürfen.\n    \n- **Tasks**\n    \n    Alle Tasks sind verpflichtend einer Tasklist zugewiesen. Tasks kann man BenutzerInnen zuweisen, die zuvor der Tasklist hinzugefügt wurden. Weiters kann man an Tasks auch Dateien anhängen. Dabei wird keine Unterscheidung zwischen Datentypen gemacht wird. Bitte daher im Frontend überprüfen, ob eine Datei ein Bild/Pdf/... ist, bevor es dementsprechend verwendet wird. Der Dateityp wird im Vorhinein im Task mitgespeichert.\n    \n\n# ER- Diagramm\n\n<img src=\"https://content.pstmn.io/3f154238-a743-4ee8-b191-b5817a5097b3/RVJfRGlhZ3JhbW0ucG5n\" width=\"1237\" height=\"1260\">\n\n# Verwendung der PostmanCollection\n\nDie Postmancollection bietet eine Übersicht aller vorhandenen Request die das Backend empfangen kann und dementsprechend Daten zurückliefert.\n\nJeder Request hat eine Beschreibung wie der Request auszusehen hat und welcher Response und welche Status Codes Zurückkommen.\n\nViel Spaß beim Entwickeln des Frontends!\n\nMit AUTH gekenzeichnete Requests benötigen eine Authentifizierung mitel Bearer-Token\n\nFür Fileuploads: Formdata mit der Kennung \"file\"","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"32985222","team":6040410,"collectionId":"7afcfb96-5db7-428b-b0da-b8bb09c657fb","publishedId":"2sA3XMkPsN","public":true,"publicUrl":"https://task-docs.coding-mfg.app","privateUrl":"https://go.postman.co/documentation/32985222-7afcfb96-5db7-428b-b0da-b8bb09c657fb","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"236084"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"49c7ab"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"236084"}}]}},"version":"8.10.1","publishDate":"2024-12-30T06:35:33.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"CodersBay Tasklist","id":"cdd9d19c-ea50-4956-8f30-c1af667769c7","owner":"32985084","values":[{"key":"url","value":"https://task-list.codersbay.wien/api","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/1f25937ebe981186db1db4f273562927c5110e4c0bb142b931b3a47e523c2382","favicon":"https://coding-mfg.app/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"CodersBay Tasklist","value":"32985084-cdd9d19c-ea50-4956-8f30-c1af667769c7"}],"canonicalUrl":"https://task-docs.coding-mfg.app/view/metadata/2sA3XMkPsN"}