company flows
This commit is contained in:
parent
6541284a4c
commit
cc3f3f3de5
17 changed files with 1960 additions and 66 deletions
|
|
@ -51,6 +51,81 @@ class AuthResponse(BaseModel):
|
|||
account: AccountRead
|
||||
|
||||
|
||||
class OrgMemberCreate(BaseModel):
|
||||
first_name: str = Field(min_length=1, max_length=80)
|
||||
last_name: str = Field(min_length=1, max_length=80)
|
||||
email: EmailStr
|
||||
org_role: Literal["user", "admin"] = "user"
|
||||
send_invitation: bool = True
|
||||
password: str | None = Field(default=None, min_length=8, max_length=128)
|
||||
|
||||
|
||||
class OrgMemberRead(BaseModel):
|
||||
id: UUID
|
||||
email: EmailStr
|
||||
first_name: str
|
||||
last_name: str
|
||||
org_role: str
|
||||
member_status: str
|
||||
is_domain_owner: bool = False
|
||||
groups: list[str] = Field(default_factory=list)
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class OrgMemberListResponse(BaseModel):
|
||||
items: list[OrgMemberRead]
|
||||
counts: dict[str, int]
|
||||
|
||||
|
||||
class MailGroupCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=120)
|
||||
email: EmailStr
|
||||
group_type: Literal["distribution", "dynamic"] = "distribution"
|
||||
member_ids: list[UUID] = Field(default_factory=list)
|
||||
|
||||
|
||||
class MailGroupRead(BaseModel):
|
||||
id: UUID
|
||||
name: str
|
||||
email: EmailStr
|
||||
group_type: str
|
||||
member_count: int
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class MailGroupListResponse(BaseModel):
|
||||
items: list[MailGroupRead]
|
||||
counts: dict[str, int]
|
||||
|
||||
|
||||
class MailAliasCreate(BaseModel):
|
||||
alias_address: EmailStr
|
||||
forwards_to: EmailStr
|
||||
alias_type: Literal["user", "group"] = "user"
|
||||
is_domain_alias: bool = False
|
||||
|
||||
|
||||
class MailAliasRead(BaseModel):
|
||||
id: UUID
|
||||
alias_address: EmailStr
|
||||
forwards_to: EmailStr
|
||||
alias_type: str
|
||||
is_domain_alias: bool
|
||||
status: str
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class MailAliasListResponse(BaseModel):
|
||||
items: list[MailAliasRead]
|
||||
counts: dict[str, int]
|
||||
|
||||
|
||||
class EmailCreate(BaseModel):
|
||||
recipients: list[EmailStr] = Field(min_length=1)
|
||||
cc: list[EmailStr] = Field(default_factory=list)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue