Esemény API
Események és események megjegyzései
Események létrehozása, ismétlődő sorozatok kezelése és együttműködés a megjegyzésekkel
Ez az oldal az esemény CRUD felületét, ismétlődő eseménykezelését, naptári hatókörű eseményét dokumentálja olvas, és az eseményekhez csatolt megjegyzésszál végpontjai.
JWT vagy felhasználói API kulcsIsmétlődő frissítésekNaptártartomány lekérdezésekMegjegyzés szálak
Hitelesítés és engedélyek
- Ezen az oldalon minden útvonal hitelesítésre szolgál.
- Az esemény megjegyzései a
JwtAuthGuardkódot használják a vezérlő szintjén. - Az esemény CRUD-útvonalai kifejezetten a
JwtAuthGuard-t használják minden metóduson, kivéve aGET /api/events/calendar/:calendarId-t. - Forrás megjegyzés:
GET /api/events/calendar/:calendarIdtovábbra isreq.user.idolvasható, ezért kezelje hitelesített útvonalként, még akkor is, ha a dekorátor hiányzik a vezérlő forrásából. - Az eseményekhez és megjegyzésekhez való hozzáférést az események és naptárak tulajdonjoga vagy a szolgáltatási réteg megosztási engedélyei kényszerítik ki.
Végpont referencia
Események
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth |
|---|---|---|---|---|
POST | /api/events | Hozzon létre egy eseményt. | Törzs: eseménymezők | JWT vagy felhasználói API kulcs |
POST | /api/events/recurring | Hozzon létre egy ismétlődő eseménysorozatot. | Törzs: ismétlődő eseménymezők | JWT vagy felhasználói API kulcs |
GET | /api/events | Az elérhető események listája egy opcionális dátumtartományban. | Lekérdezés: startDate,endDate | JWT vagy felhasználói API kulcs |
GET | /api/events/:id | Szerezzen be egy eseményt. | Elérési út: id | JWT vagy felhasználói API kulcs |
PATCH | /api/events/:id | Frissítsen egy eseményt vagy egy ismétlődő előfordulást. | Elérési út: id, törzs: részleges eseménymezők plusz updateMode | JWT vagy felhasználói API kulcs |
DELETE | /api/events/:id | Egy esemény törlése. | Elérési út: id | JWT vagy felhasználói API kulcs |
PATCH | /api/events/:id/recurring | Frissítsen egy ismétlődő sorozatot explicit hatókörrel. | Elérési út: id, törzs: ismétlődő frissítési mezők plusz updateScope | JWT vagy felhasználói API kulcs |
GET | /api/events/calendar/:calendarId | Egy naptár eseményeinek listája. | Elérési út: calendarId | Hitelesítettként kezeljük |
Esemény megjegyzései
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth |
|---|---|---|---|---|
GET | /api/events/:eventId/comments | Megjegyzések listázása egy eseményhez. | Elérési út: eventId | JWT vagy felhasználói API kulcs |
POST | /api/events/:eventId/comments | Hozzon létre egy megjegyzést. | Elérési út: eventId, törzs: content,templateKey,parentCommentId,isFlagged | JWT vagy felhasználói API kulcs |
POST | /api/events/:eventId/comments/track-open | Nyomon követheti, hogy egy felhasználó megnyitott-e egy eseményt. | Elérési út: eventId, törzs: note | JWT vagy felhasználói API kulcs |
PATCH | /api/events/:eventId/comments/:commentId | Megjegyzés frissítése. | Elérési út: eventId,commentId, törzs: content | JWT vagy felhasználói API kulcs |
PATCH | /api/events/:eventId/comments/:commentId/flag | Megjegyzés megjelölése vagy jelölésének megszüntetése. | Elérési út: eventId,commentId, törzs: isFlagged | JWT vagy felhasználói API kulcs |
POST | /api/events/:eventId/comments/:commentId/replies | Válasz egy megjegyzésre. | Elérési út: eventId,commentId, törzs: megjegyzés mezők létrehozása | JWT vagy felhasználói API kulcs |
Kérjen alakzatokat
Esemény létrehozása és frissítése
CreateEventDto és UpdateEventDto
title: kötelező a létrehozásnál, karakterláncdescription: opcionális karakterláncstartDate: létrehozáskor kötelező, ISO dátumstartTime: opcionális karakterláncendDate: opcionális ISO-dátumendTime: opcionális karakterláncisAllDay: opcionális logikai értéklocation: opcionális karakterláncstatus: opcionális enumconfirmed|tentative|cancelledrecurrenceType: opcionális enumnone|daily|weekly|monthly|yearlyrecurrenceRule: opcionális JSON hasznos adatcolor: opcionális karakterláncicon: opcionális karakterláncnotes: opcionális karakterlánctags: opcionális string tömb, egyenként legfeljebb 64 karakterlabels: opcionális álnév atagsszámáracalendarId: opcionális számupdateMode: csak frissítési enumsingle|all|future
Korlátok:
titlehossza: 300locationhossza: 200iconhossza: 10colorhossza: 7
Ismétlődő sorozatok
CreateRecurringEventDto és UpdateRecurringEventDto
calendarId: létrehozáskor kötelezőrecurrence.type: kötelező enumnone|daily|weekly|monthly|yearlyrecurrence.interval: opcionális szám, alapértelmezett1recurrence.daysOfWeek: opcionális enum tömbSU|MO|TU|WE|TH|FR|SArecurrence.dayOfMonth: opcionális számrecurrence.monthOfYear: opcionális számrecurrence.endType: nem kötelezőnever|count|daterecurrence.count: opcionális számrecurrence.endDate: opcionális ISO-dátumrecurrence.timezone: opcionális karakterláncupdateScope: csak frissítési enumthis|future|all
Lista lekérdezés
ListEventsQueryDto.startDate: opcionális ISO-dátumListEventsQueryDto.endDate: opcionális ISO-dátum
Megjegyzések
CreateEventCommentDto
content: opcionális karakterlánctemplateKey: opcionális enumCommentTemplateKeyparentCommentId: opcionális számisFlagged: opcionális logikai érték
Egyéb megjegyzés DTO-k:
UpdateEventCommentDto.content: kötelező karakterláncFlagCommentDto.isFlagged: kötelező logikai értékTrackEventOpenDto.note: opcionális karakterlánc
Példahívások
Naptáresemény létrehozása
curl -X POST "$PRIMECAL_API/api/events" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "School pickup",
"startDate": "2026-03-30",
"startTime": "15:30",
"endDate": "2026-03-30",
"endTime": "16:00",
"calendarId": 5,
"tags": ["family", "kids"]
}'
Hozzon létre egy ismétlődő eseménysorozatot
curl -X POST "$PRIMECAL_API/api/events/recurring" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Soccer practice",
"startDate": "2026-04-01",
"startTime": "17:00",
"endDate": "2026-04-01",
"endTime": "18:30",
"calendarId": 5,
"recurrence": {
"type": "weekly",
"interval": 1,
"daysOfWeek": ["WE"],
"endType": "date",
"endDate": "2026-06-30"
}
}'
Egy ismétlődő sorozat egyetlen előfordulásának frissítése
curl -X PATCH "$PRIMECAL_API/api/events/42" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startTime": "17:30",
"endTime": "19:00",
"updateMode": "single"
}'
Megjegyzés hozzáadása
curl -X POST "$PRIMECAL_API/api/events/42/comments" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "Running 10 minutes late."
}'