Source code for y360_orglib.audit.models

from typing import List, Optional, Literal
from pydantic import BaseModel, Field


[docs] class MailEvent(BaseModel): """ Audit logs mail Event Details https://yandex.ru/dev/api360/doc/ru/ref/AuditLogService/AuditLogService_Mail#v1mailevent Attributes: client_ip (str): Client IP date (str): Event date event_type (Literal): Event type (mailbox_send, message_receive, message_seen, message_unseen, message_forward, message_purge, message_trash, message_spam, message_unspam, message_move, message_copy, message_answer) org_id (int): Organization ID request_id (str): System request ID (may be Not unique) source (str): Event source (server, imap, pop3, native) uniq_id (str): Unique event ID user_login (str): User login user_name (str): User name user_uid (str): User ID actor_uid (Optional[str]): Mailbox Actor ID (if exists) bcc (Optional[str]): BCC address (if exists) cc (Optional[str]): CC address (if exists) to (Optional[str]): To address (if exists) dest_mid (Optional[str]): New email id on copy (if exists) folder_name (Optional[str]): Personal folder name (if exists) folder_type (Optional[Literal]): Folder type (inbox, sent, trash, spam, drafts, outbox, archive, discount, restored, reply_later, user) from_s (Optional[str]): From address (if exists) labels (Optional[List[str]]): System email labels (if exists) (seen, attached, undo, delayed) mid (Optional[str]): Email Id (if exists) msg_id (Optional[str]): Message-ID header value (if exists) """ client_ip: str = Field(alias="clientIp") date: str # ISO формат даты event_type: Literal[ 'mailbox_send', 'message_receive', 'message_seen', 'message_unseen', 'message_forward', 'message_purge', 'message_trash', 'message_spam', 'message_unspam', 'message_move', 'message_copy', 'message_answer' ] = Field(alias='eventType') org_id: int = Field(alias="orgId") request_id: str = Field(alias="requestId") source: str uniq_id: str = Field(alias="uniqId") user_login: str = Field(alias="userLogin") user_name: str = Field(alias="userName") user_uid: str = Field(alias="userUid") actor_uid: Optional[str] = Field(alias="actorUid", default=None) bcc: Optional[str] = None cc: Optional[str] = None to: Optional[str] = None dest_mid: Optional[str] = Field(alias="destMid", default=None) folder_name: Optional[str] = Field(alias="folderName", default=None) folder_type: Optional[ Literal[ 'inbox', 'sent', 'trash', 'spam', 'drafts', 'outbox', 'archive', 'template_', 'discount', 'restored', 'reply_later', 'user' ] ] = Field(alias="folderType", default=None) from_s: Optional[str] = Field(alias="from", default=None) labels: Optional[List[str]] = None mid: Optional[str] = None msg_id: Optional[str] = Field(alias="msgId", default=None)
# Todo: add subject
[docs] class MailEventsPage(BaseModel): """ Audit logs mail Events page Details https://yandex.ru/dev/api360/doc/ru/ref/AuditLogService/AuditLogService_Mail Attributes: events (List[MailEvent]): List of events nextPageToken (Optional[str]): Next page token (if exists) """ events: List[MailEvent] nextPageToken: Optional[str] = ''