"""Schema for enrollment."""
from typing import List, Dict, Any
from pydantic import BaseModel, Extra, Field
[docs]
class EnrollmentGenVerifiOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment gen verification code out"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentConfigTaskDone(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment config add manager schema out"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentStatusIn(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment status in schema"""
[docs]
class EnrollmentStatusOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment status check schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentShowVerificationCodeIn(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment status in schema"""
[docs]
class EnrollmentShowVerificationCodeOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment status check schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentHaveIBeenAcceptedOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment status check schema"""
[docs]
have_i_been_accepted: bool
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentInitIn(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment init in response schema"""
[docs]
callsign: str = Field(description="Callsign to create enrollment for")
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentInitOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment init out response schema"""
[docs]
callsign: str = Field(description="Callsign for which the enrollment got initialized")
[docs]
approvecode: str = Field(description="Code used to approve the enrollment, must be delivered to an admin")
[docs]
jwt: str = Field(
description="JWT that allows client to check enrollment approval status and fetc mTLS certs when approved"
)
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentDeliverIn(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment promote in schema"""
[docs]
class EnrollmentDeliverOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment init out response schema"""
[docs]
cert_download_link: str
[docs]
howto_download_link: str
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentAcceptIn(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment init out response schema"""
[docs]
callsign: str = Field(description="Callsign to approve")
[docs]
approvecode: str = Field(
description="Approval code for the callsign, this must have been delivered by the person to be enrolled"
)
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentAcceptOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment init out response schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentDemoteIn(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment demote in schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentLockIn(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment lock in schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentIsInvitecodeActiveIn(BaseModel):
"""Enrollment check if invitecode is still active"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentIsInvitecodeActiveOut(BaseModel): # pylint: disable=too-few-public-methods
"""Enrollment config add manager schema out"""
[docs]
invitecode_is_active: bool
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentListOut(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment list out response schema"""
[docs]
callsign_list: List[Dict[Any, Any]]
[docs]
class EnrollmentPoolListItem(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Items for EnrollmentPoolListOut"""
[docs]
invitecode: str = Field(description="The invitation code")
[docs]
active: bool = Field(description="Is this pool currently active, ie can it be used")
[docs]
owner_cs: str = Field(description="Pool wwners callsign")
[docs]
created: str = Field(description="ISO datetime of when this pool was created")
[docs]
class EnrollmentPoolListOut(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment pools list out response schema"""
[docs]
pools: List[EnrollmentPoolListItem] = Field(description="The pools")
[docs]
class EnrollmentInviteCodeCreateOut(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment Invite code response schema"""
[docs]
class EnrollmentInviteCodeDeactivateIn(BaseModel):
"""Enrollment Invite code deactivate request schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentInviteCodeDeactivateOut(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment Invite code deactivate response schema"""
[docs]
class EnrollmentInviteCodeActivateIn(BaseModel):
"""Enrollment Invite code activate request schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentInviteCodeActivateOut(BaseModel, extra=Extra.forbid): # pylint: disable=too-few-public-methods
"""Enrollment Invite code activate response schema"""
[docs]
class EnrollmentInviteCodeEnrollIn(BaseModel):
"""Enrollment Enrollment Invite code request schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""
[docs]
class EnrollmentInviteCodeDeleteIn(BaseModel):
"""Enrollment Invite code deactivate request schema"""
[docs]
class Config: # pylint: disable=too-few-public-methods
"""Example values for schema"""