thunderbird_accounts.mail.types.jmap
Module Attributes
A JMap ID field Ref: https://jmap.io/spec/rfc8620/#section-1.2 |
Classes
|
|
|
A base schema that allows us to ingest camelCase names to snake_case variables. |
|
Typed capabilities |
|
|
|
The shape for a jmap request. |
|
|
|
|
|
|
|
|
|
Base type for all jmap responses |
|
|
|
|
|
- class thunderbird_accounts.mail.types.jmap.BaseSchema(**extra_data: Any)[source]
Bases:
BaseModelA base schema that allows us to ingest camelCase names to snake_case variables. This will serialize it back to camelCase for requests as well.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.Invocation(*, name: str, arguments: dict, methodCallId: str, **extra_data: Any)[source]
Bases:
BaseSchemaThe shape for a jmap request.
The
nameis the request you’d like to make (e.g.x:Domains/getto do a get request for Stalwart domains.)argumentsis the request data, andmethod_call_idis an id that can be used to reference this request in batched queries.Ref: https://jmap.io/spec/rfc8620/#section-3.2
- classmethod transform_tuple(data)[source]
Since we serialize this model as a list, we need to a way to reverse this serialization.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.JMapRequest(*, using: list[str], methodCalls: list[Invocation], createdIds: list[str] | None = None, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.JMapResponse(*, methodResponses: list[Invocation], createdIds: list[str] | None = None, sessionState: str, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.JMapCorePropertyCapability(*, maxSizeUpload: int | None = None, maxConcurrentUpload: int | None = None, maxSizeRequest: int | None = None, maxConcurrentRequests: int | None = None, maxCallsInRequest: int | None = None, maxObjectsInGet: int | None = None, maxObjectsInSet: int | None = None, collationAlgorithms: list[str] | None = None, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.JMapSievePropertyCapability(*, implementation: str | None = None, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.JMapWebsocketPropertyCapability(*, url: str | None = None, supportsPush: bool | None = None, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.Account(*, name: str, isPersonal: bool, isReadOnly: bool, accountCapabilities: dict, **extra_data: Any)[source]
Bases:
BaseSchema- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.Capabilities(*, urnIetfParamsJmapCore: JMapCorePropertyCapability, urnIetfParamsJmapSieve: JMapSievePropertyCapability, urnIetfParamsJmapWebsocket: JMapWebsocketPropertyCapability, **extra_data: Any)[source]
Bases:
BaseSchemaTyped capabilities
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.SessionResource(*, capabilities: Capabilities, accounts: dict[str, Account], primaryAccounts: dict[str, str], username: str, apiUrl: str, downloadUrl: str, uploadUrl: str, eventSourceUrl: str, state: str, **extra_data: Any)[source]
Bases:
BaseSchema- capabilities: Capabilities
dict | dict[Literal[’urn:ietf:params:jmap:core’], JMapCorePropertyCapability]
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- thunderbird_accounts.mail.types.jmap.Id
A JMap ID field Ref: https://jmap.io/spec/rfc8620/#section-1.2
alias of
Annotated[str, FieldInfo(annotation=NoneType, required=True)]
- class thunderbird_accounts.mail.types.jmap.JMapType(*, id: Annotated[str, FieldInfo(annotation=NoneType, required=True)] | None = None, **extra_data: Any)[source]
Bases:
BaseSchemaBase type for all jmap responses
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class thunderbird_accounts.mail.types.jmap.Identity(*, id: Annotated[str, FieldInfo(annotation=NoneType, required=True)] | None = None, name: str, email: str, replyTo: list | None = None, bcc: list | None = None, textSignature: str, htmlSignature: str, mayDelete: bool, **extra_data: Any)[source]
Bases:
JMapType- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'extra': 'allow', 'from_attributes': True, 'populate_by_name': True, 'serialize_by_alias': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].