Ugrás a fő tartalomhoz
Was this helpful?

Feladatok API

Feladat munkaterület

Feladatok létrehozása, munka szűrése és újrafelhasználható feladatcímkék kezelése

Ezek a PrimeCal feladat munkaterületre vezetnek vissza. Mindegyik a hitelesített felhasználóra vonatkozik és magában foglalja a feladat CRUD-t és a címkekezelést is.

JWT vagy felhasználói API kulcsOldalszámozás és szűrésInline címkékFeladat a naptárhídhoz

Forrás

  • Feladatvezérlő: backend-nestjs/src/tasks/tasks.controller.ts
  • Feladatcímkék vezérlője: backend-nestjs/src/tasks/task-labels.controller.ts
  • DTO-k: backend-nestjs/src/tasks/dto/create-task.dto.ts, backend-nestjs/src/tasks/dto/query-tasks.dto.ts, backend-nestjs/src/tasks/dto/create-task-label.dto.ts, backend-nestjs/src/tasks/dto/update-task-labels.dto.ts
  • Enums: backend-nestjs/src/entities/task.entity.ts

Hitelesítés és engedélyek

  • Ezen az oldalon minden útvonal hitelesítést igényel.
  • A feladat és a címke tulajdonjoga az aktuális felhasználóra vonatkozik.
  • A feladatcímke-útvonalak a /api/tasks/labels és a régi /api/task-labels alatt is elérhetők.

Végpont referencia

Feladatok

módszerÚtvonalCélKérjen vagy érdeklődjönAuthForrás
POST/api/tasksHozzon létre egy feladatot.Törzs: feladatmezőkJWT vagy felhasználói API kulcstasks/tasks.controller.ts
GET/api/tasksFeladatok listázása szűrőkkel.Lekérdezés: status,priority,search,dueFrom,dueTo,labelIds,sortBy,sortDirection,page,limitJWT vagy felhasználói API kulcstasks/tasks.controller.ts
GET/api/tasks/:idKapjon egy feladatot.Elérési út: idJWT vagy felhasználói API kulcstasks/tasks.controller.ts
PATCH/api/tasks/:idFrissítsen egy feladatot.Elérési út: id, törzs: részleges feladatmezőkJWT vagy felhasználói API kulcstasks/tasks.controller.ts
DELETE/api/tasks/:idEgy feladat törlése.Elérési út: idJWT vagy felhasználói API kulcstasks/tasks.controller.ts
POST/api/tasks/:id/labelsCserélje ki vagy bővítse ki a feladatcímkéket.Elérési út: id, törzs: labelIds,inlineLabelsJWT vagy felhasználói API kulcstasks/tasks.controller.ts
DELETE/api/tasks/:id/labels/:labelIdTávolítson el egy címkét a feladatból.Elérési út: id,labelIdJWT vagy felhasználói API kulcstasks/tasks.controller.ts

Feladatcímkék

módszerÚtvonalCélKérjen vagy érdeklődjönAuthForrás
GET/api/tasks/labelsFeladatcímkék listázása.Egyik semJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
POST/api/tasks/labelsHozzon létre egy feladatcímkét.Törzs: name,colorJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
PATCH/api/tasks/labels/:idFeladatcímke frissítése.Elérési út: id, törzs: részleges címkemezőkJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
DELETE/api/tasks/labels/:idFeladatcímke törlése.Elérési út: idJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
GET/api/task-labelsRégi álnév a címkék listájához.Egyik semJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
POST/api/task-labelsRégi álnév címkekészítéshez.Törzs: name,colorJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
PATCH/api/task-labels/:idRégi álnév a címke frissítéséhez.Elérési út: idJWT vagy felhasználói API kulcstasks/task-labels.controller.ts
DELETE/api/task-labels/:idRégi álnév a címke törléséhez.Elérési út: idJWT vagy felhasználói API kulcstasks/task-labels.controller.ts

Kérjen alakzatokat

Feladat hasznos teher

CreateTaskDto itt: backend-nestjs/src/tasks/dto/create-task.dto.ts

  • title: kötelező, maximum 240 karakter
  • body: opcionális, legfeljebb 8000 karakter
  • bodyFormat: opcionális, jelenleg csak markdown
  • color: választható 6 számjegyű hexadecimális szín
  • priority: opcionális enum high|medium|low
  • status: opcionális enum todo|in_progress|done
  • place: opcionális, legfeljebb 255 karakter
  • dueDate: opcionális ISO-dátum karakterlánc
  • dueEnd: opcionális ISO-dátum karakterlánc
  • dueTimezone: opcionális, legfeljebb 100 karakter
  • assigneeId: opcionális egész szám
  • labelIds: opcionális egyedi egész tömb, maximum 12 elem

Az entitás alapértelmezései innen: backend-nestjs/src/entities/task.entity.ts

  • bodyFormat: markdown
  • color: #eab308
  • priority: medium
  • status: todo

Lekérdezési szűrők

QueryTasksDto

  • status: opcionális enum todo|in_progress|done
  • priority: opcionális enum high|medium|low
  • search: opcionális karakterlánc, legfeljebb 120 karakter
  • dueFrom: opcionális ISO-dátum karakterlánc
  • dueTo: opcionális ISO-dátum karakterlánc
  • labelIds: opcionális egyedi egész tömb, maximum 10 elem
  • sortBy: updatedAt|createdAt|dueDate
  • sortDirection: asc|desc
  • page: int >= 1, alapértelmezett 1
  • limit: int 1..100, alapértelmezett 25

Címke rakományok

  • CreateTaskLabelDto.name: kötelező, legfeljebb 64 karakter
  • CreateTaskLabelDto.color: választható 6 számjegyű hexadecimális szín
  • UpdateTaskLabelsDto.labelIds: a meglévő címkék opcionális azonosítói
  • UpdateTaskLabelsDto.inlineLabels: opcionális új címkék létrehozása és csatolása egy hívásban

Példahívások

Hozzon létre egy feladatot

curl -X POST "$PRIMECAL_API/api/tasks" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Pack school bags",
"priority": "high",
"dueDate": "2026-03-30T18:00:00.000Z",
"dueTimezone": "Europe/Budapest",
"labelIds": [3, 7]
}'

Feladatok szűrése

curl "$PRIMECAL_API/api/tasks?status=todo&sortBy=updatedAt&sortDirection=desc&limit=25" \
-H "Authorization: Bearer $TOKEN"

Hozzon létre egy címkét

curl -X POST "$PRIMECAL_API/api/tasks/labels" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "School",
"color": "#14b8a6"
}'

Válasz és viselkedés megjegyzések

  • A feladatok tükrözött naptáreseményekhez kapcsolhatók a feladat-naptár hídon keresztül, de ez a kapcsolat nincs közvetlenül konfigurálva ezekben a DTO-kban.
  • A POST /api/tasks/:id/labels támogatja a meglévő címkéket és a soron belüli címkekészítést is.
  • A kompatibilitás érdekében a feladatcímke-útvonalak szándékosan megkettőződnek a régi /api/task-labels útvonalon.

Legjobb gyakorlatok

  • Használja a sortBy=updatedAt és egy kis limit-t az interaktív feladatlistákhoz.
  • A labelIds előnyben részesítse az ismert címkék csatolásakor, és a inlineLabels csak akkor, ha a címke még valóban nem létezik.
  • Tartsa a dueTimezone kifejezett kifejezést az időzónák között tükröződő vagy értelmezhető feladatok esetében.
  • Kezelje a /api/tasks/labels-t kanonikus címkeútvonalként, a /api/task-labels-t pedig kompatibilitási útvonalként.