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-labelsalatt is elérhetők.
Végpont referencia
Feladatok
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
POST | /api/tasks | Hozzon létre egy feladatot. | Törzs: feladatmezők | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
GET | /api/tasks | Feladatok listázása szűrőkkel. | Lekérdezés: status,priority,search,dueFrom,dueTo,labelIds,sortBy,sortDirection,page,limit | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
GET | /api/tasks/:id | Kapjon egy feladatot. | Elérési út: id | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
PATCH | /api/tasks/:id | Frissítsen egy feladatot. | Elérési út: id, törzs: részleges feladatmezők | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
DELETE | /api/tasks/:id | Egy feladat törlése. | Elérési út: id | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
POST | /api/tasks/:id/labels | Cserélje ki vagy bővítse ki a feladatcímkéket. | Elérési út: id, törzs: labelIds,inlineLabels | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
DELETE | /api/tasks/:id/labels/:labelId | Távolítson el egy címkét a feladatból. | Elérési út: id,labelId | JWT vagy felhasználói API kulcs | tasks/tasks.controller.ts |
Feladatcímkék
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/tasks/labels | Feladatcímkék listázása. | Egyik sem | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
POST | /api/tasks/labels | Hozzon létre egy feladatcímkét. | Törzs: name,color | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
PATCH | /api/tasks/labels/:id | Feladatcímke frissítése. | Elérési út: id, törzs: részleges címkemezők | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
DELETE | /api/tasks/labels/:id | Feladatcímke törlése. | Elérési út: id | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
GET | /api/task-labels | Régi álnév a címkék listájához. | Egyik sem | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
POST | /api/task-labels | Régi álnév címkekészítéshez. | Törzs: name,color | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
PATCH | /api/task-labels/:id | Régi álnév a címke frissítéséhez. | Elérési út: id | JWT vagy felhasználói API kulcs | tasks/task-labels.controller.ts |
DELETE | /api/task-labels/:id | Régi álnév a címke törléséhez. | Elérési út: id | JWT vagy felhasználói API kulcs | tasks/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 karakterbody: opcionális, legfeljebb 8000 karakterbodyFormat: opcionális, jelenleg csakmarkdowncolor: választható 6 számjegyű hexadecimális színpriority: opcionális enumhigh|medium|lowstatus: opcionális enumtodo|in_progress|doneplace: opcionális, legfeljebb 255 karakterdueDate: opcionális ISO-dátum karakterláncdueEnd: opcionális ISO-dátum karakterláncdueTimezone: opcionális, legfeljebb 100 karakterassigneeId: opcionális egész számlabelIds: 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:markdowncolor:#eab308priority:mediumstatus:todo
Lekérdezési szűrők
QueryTasksDto
status: opcionális enumtodo|in_progress|donepriority: opcionális enumhigh|medium|lowsearch: opcionális karakterlánc, legfeljebb 120 karakterdueFrom: opcionális ISO-dátum karakterláncdueTo: opcionális ISO-dátum karakterlánclabelIds: opcionális egyedi egész tömb, maximum 10 elemsortBy:updatedAt|createdAt|dueDatesortDirection:asc|descpage: int>= 1, alapértelmezett1limit: int1..100, alapértelmezett25
Címke rakományok
CreateTaskLabelDto.name: kötelező, legfeljebb 64 karakterCreateTaskLabelDto.color: választható 6 számjegyű hexadecimális színUpdateTaskLabelsDto.labelIds: a meglévő címkék opcionális azonos ítóiUpdateTaskLabelsDto.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/labelstá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 kislimit-t az interaktív feladatlistákhoz. - A
labelIdselőnyben részesítse az ismert címkék csatolásakor, és ainlineLabelscsak akkor, ha a címke még valóban nem létezik. - Tartsa a
dueTimezonekifejezett 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.