25 lines
692 B
Python

from typing import Literal
from pydantic import Field
from .person import PersonModel
from .enums import HonoraryStatus, Membership, Gender
class FormerMemberModel(PersonModel):
title: str | None = None
gender: Gender | None = None
honorary_status: HonoraryStatus | None = None
# TODO: picture, study_start (year, month?), study_end
# company emails?
class AlumnModel(FormerMemberModel):
membership: Literal[Membership.alumn] = Membership.alumn
graduated: bool = False
receive_spam_mail: bool = True
class ExternalModel(PersonModel):
membership: Literal[Membership.extern] = Membership.extern
# TODO... payment???
# TODO require login info??