Parametr select u vypisu, telo udalosti v calendarView

- calendar/view: include_body a body_type (html, text), telo udalosti
  rovnou ve vypisu bez dalsiho volani
- select u vypisu mailu, udalosti, calendarView, jedne udalosti a skupin;
  nahrazuje vychozi sadu poli
- app/graph_fields.py: vychozi sady a seznamy dostupnych poli, Swagger
  je zobrazuje v popisu parametru
- README: endpointy, popis select, zaznam zmen
This commit is contained in:
JiriUhlir
2026-09-23 06:51:05 +02:00
parent d80193da8b
commit fb97a8bf63
4 changed files with 121 additions and 24 deletions
+18 -6
View File
@@ -88,20 +88,20 @@ GET /version
GET /status
GET /users?top=25&search=jane
GET /users/{user_id}
GET /users/{user_id}/mail/messages?folder=Inbox&top=25
GET /users/{user_id}/mail/messages?folder=Inbox&top=25&select=...
POST /users/{user_id}/mail/send
GET /admin-consent/url?redirect_uri=...&state=...
GET /users/{user_id}/calendar
GET /users/{user_id}/calendar/events?top=25
GET /users/{user_id}/calendar/events?top=25&select=...
POST /users/{user_id}/calendar/events
GET /users/{user_id}/calendar/view?start=...&end=...&top=25&time_zone=Europe/Prague
GET /users/{user_id}/calendar/view?start=...&end=...&top=25&time_zone=Europe/Prague&include_body=true&body_type=text&select=...
POST /users/{user_id}/calendar/schedule
GET /users/{user_id}/calendar/events/{event_id}
GET /users/{user_id}/calendar/events/{event_id}?select=...
PATCH /users/{user_id}/calendar/events/{event_id}
DELETE /users/{user_id}/calendar/events/{event_id}
GET /users/{user_id}/drive/root/children?top=25
PUT /users/{user_id}/drive/root/{path}
GET /groups?top=25
GET /groups?top=25&select=...
GET /groups/{group_id}/planner/plans
GET /teams/{team_id}/channels
GET /planner/plans/{plan_id}/buckets
@@ -113,7 +113,13 @@ DELETE /planner/tasks/{task_id} (volitelně hlavička If-Match)
```
Parametry `start` a `end` u calendarView jsou ISO 8601 s offsetem, například
`2026-09-08T08:00:00+02:00`. Datumy u Planneru (`due_date_time`, `start_date_time`)
`2026-09-08T08:00:00+02:00`. Tělo událostí se ve výpisu nevrací, dokud se nepošle
`include_body=true`; `body_type=text` vrátí tělo jako čistý text místo HTML.
Výpisy mailů, událostí a skupin a načtení jedné události vracejí jen výchozí sadu polí.
Parametr `select` (pole oddělená čárkou) ji nahradí; výchozí sada i seznam dostupných
polí jsou u každého endpointu ve Swaggeru a v `app/graph_fields.py`. Neznámé pole
Graph odmítne a služba vrátí 502 s jeho chybou. Datumy u Planneru (`due_date_time`, `start_date_time`)
jsou ISO 8601 s offsetem, například `2026-09-10T16:00:00Z`. Řešitelé se předávají
jako Graph user id v `assign_user_ids`, odebírají v `unassign_user_ids`.
@@ -155,6 +161,12 @@ Vygenerované OpenAPI UI otevřete na `http://localhost:8000/docs`.
## Záznam změn
- 2026-09-22: parametr `select` u výpisu mailů, událostí, calendarView, jedné události
a skupin. Výchozí sady a seznamy polí v `app/graph_fields.py`, Swagger je zobrazuje.
- 2026-09-22: `calendar/view` má `include_body` a `body_type` (html, text), tělo události
se dá dotáhnout rovnou ve výpisu bez dalšího volání na jednotlivé události.
- 2026-09-22: šifrování hlaviček `X-MS365-*` odstraněno, hodnoty se posílají tak, jak jsou.
Zrušena proměnná `MS365_CREDENTIAL_ENCODING_SECRET` a závislost `cryptography`.
- 2026-09-22: `GET /users/{user_id}/calendar` (objekt kalendáře schránky, id a name) pro