Files
microsoft-365-service/app/graph_fields.py
T
JiriUhlir fb97a8bf63 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
2026-09-23 06:51:05 +02:00

41 lines
2.4 KiB
Python

"""Selectable Microsoft Graph fields per resource. Single source for defaults and Swagger descriptions."""
EVENT_FIELDS = (
"id", "subject", "bodyPreview", "body", "start", "end", "location", "locations", "attendees", "organizer",
"webLink", "isOnlineMeeting", "onlineMeeting", "onlineMeetingUrl", "onlineMeetingProvider", "showAs",
"isCancelled", "isAllDay", "isDraft", "isOrganizer", "isReminderOn", "reminderMinutesBeforeStart",
"importance", "sensitivity", "categories", "recurrence", "seriesMasterId", "type", "responseStatus",
"responseRequested", "allowNewTimeProposals", "hideAttendees", "hasAttachments", "iCalUId",
"createdDateTime", "lastModifiedDateTime", "changeKey", "originalStart", "originalStartTimeZone",
"originalEndTimeZone", "transactionId",
)
EVENT_DEFAULT_SELECT = (
"id,subject,start,end,location,attendees,webLink,isOnlineMeeting,onlineMeeting,showAs,isCancelled,organizer"
)
MESSAGE_FIELDS = (
"id", "subject", "body", "bodyPreview", "uniqueBody", "from", "sender", "toRecipients", "ccRecipients",
"bccRecipients", "replyTo", "receivedDateTime", "sentDateTime", "createdDateTime", "lastModifiedDateTime",
"hasAttachments", "isRead", "isDraft", "importance", "categories", "conversationId", "conversationIndex",
"internetMessageId", "internetMessageHeaders", "flag", "parentFolderId", "webLink",
"inferenceClassification", "isDeliveryReceiptRequested", "isReadReceiptRequested", "changeKey",
)
MESSAGE_DEFAULT_SELECT = "id,subject,from,toRecipients,receivedDateTime,hasAttachments,isRead,webLink"
GROUP_FIELDS = (
"id", "displayName", "description", "mail", "mailNickname", "mailEnabled", "securityEnabled", "groupTypes",
"visibility", "classification", "createdDateTime", "renewedDateTime", "expirationDateTime",
"resourceProvisioningOptions", "resourceBehaviorOptions", "proxyAddresses", "membershipRule",
"membershipRuleProcessingState", "isAssignableToRole", "preferredLanguage", "theme",
"onPremisesSyncEnabled", "deletedDateTime",
)
GROUP_DEFAULT_SELECT = "id,displayName,mail,groupTypes,securityEnabled,mailEnabled"
def select_description(default: str, fields: tuple[str, ...]) -> str:
"""Swagger text for the select query parameter."""
return (
"Comma separated Graph fields to return. Replaces the default selection. "
f"Default: {default}. Available: {', '.join(fields)}."
)