23 lines
666 B
Python
23 lines
666 B
Python
from pydantic import Field
|
|
|
|
from .person import PersonModel
|
|
from .enums import OnlineAlmanacField
|
|
from .submodels import Address, LoginInfo
|
|
|
|
class MemberModel(PersonModel):
|
|
login: LoginInfo
|
|
address: Address
|
|
contribution_paid: bool = False
|
|
active_member: bool = False
|
|
studying: bool = False
|
|
|
|
# preferences
|
|
receive_company_mail: bool = True
|
|
receive_spam_mail: bool = True
|
|
in_physical_almanac: bool = False
|
|
in_online_almanac: bool = True
|
|
online_almanac_fields: list[OnlineAlmanacField] = Field(default_factory=list)
|
|
# IT stuff
|
|
shell: str = "/bin/bash" # TODO: support other shells?
|
|
mail_token: str | None = None
|