25 lines
695 B
Python

from typing import Annotated
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: Annotated[Membership, Field(pattern="alumn")]
graduated: bool = False
receive_spam_mail: bool = True
class ExternalModel(PersonModel):
membership: Annotated[Membership, Field(pattern="extern")]
# TODO... payment???
# TODO require login info??