Source code for rasenmaeher_api.web.api.firstuser.schema

"""Schema for enrollment."""
from pydantic import BaseModel, Extra


[docs] class FirstuserCheckCodeIn(BaseModel): # pylint: disable=too-few-public-methods """Enrollment init in response schema"""
[docs] temp_admin_code: str
[docs] class Config: # pylint: disable=too-few-public-methods """Example values for schema"""
[docs] extra = Extra.forbid
[docs] schema_extra = { "examples": [ { "name": "normal", "summary": "Description text", "description": "This containts **description** of values.", "value": {"temp_admin_code": "[str] - temporary init admin users string"}, }, { "name": "with_values", "summary": "Example values", "description": "**Example** of values.", "value": {"temp_admin_code": "some_permit_hash_abba_abc"}, }, ] }
[docs] class FirstuserCheckCodeOut(BaseModel): # pylint: disable=too-few-public-methods """Enrollment config add manager schema out"""
[docs] code_ok: bool
[docs] class Config: # pylint: disable=too-few-public-methods """Example values for schema"""
[docs] extra = Extra.forbid
[docs] schema_extra = { "example": { "code_ok": "[bool] - True = Requested 'first use admin code' was found and can be used.", } }
[docs] class FirstuserAddAdminIn(BaseModel): # pylint: disable=too-few-public-methods """Enrollment init in response schema""" # temp_admin_code: str
[docs] callsign: str
[docs] class Config: # pylint: disable=too-few-public-methods """Example values for schema"""
[docs] extra = Extra.forbid
[docs] schema_extra = { "examples": [ { "name": "normal", "summary": "Description text", "description": "This containts **description** of values.", "value": { "callsign": "[str] - id/name for new user that is elevated to admin", }, }, { "name": "with_values", "summary": "Example values", "description": "**Example** of values.", "value": {"callsign": "porakoira666"}, }, ] }
[docs] class FirstuserAddAdminOut(BaseModel): # pylint: disable=too-few-public-methods """Enrollment config add manager schema out"""
[docs] admin_added: bool
[docs] jwt_exchange_code: str
[docs] class Config: # pylint: disable=too-few-public-methods """Example values for schema"""
[docs] extra = Extra.forbid
[docs] schema_extra = { "example": { "admin_added": "[bool] - True = admin user were added", "jwt_exchange_code": "[str] - Code that can be exchanged to jwt token", } }