Source code for arbor_imago.schemas.api_key

from pydantic import BaseModel
from typing import Optional

from arbor_imago import custom_types
from arbor_imago.schemas import auth_credential as auth_credential_schema


[docs] class ApiKeyAvailable(BaseModel): name: custom_types.ApiKey.name
[docs] class ApiKeyAdminAvailable(ApiKeyAvailable): user_id: custom_types.User.id
[docs] class ApiKeyImport(BaseModel): pass
[docs] class ApiKeyUpdate(ApiKeyImport): name: Optional[custom_types.ApiKey.name] = None expiry: custom_types.AuthCredential.expiry | None = None
[docs] class ApiKeyAdminUpdate(ApiKeyUpdate, BaseModel): pass
[docs] class ApiKeyCreate(ApiKeyImport): name: custom_types.ApiKey.name expiry: custom_types.AuthCredential.expiry
[docs] class ApiKeyAdminCreate(ApiKeyCreate, BaseModel): user_id: custom_types.User.id
[docs] class ApiKeyExport(BaseModel): id: custom_types.ApiKey.id user_id: custom_types.User.id name: custom_types.ApiKey.name issued: custom_types.ApiKey.issued expiry: custom_types.ApiKey.expiry
[docs] class ApiKeyPublic(ApiKeyExport): pass
[docs] class ApiKeyPrivate(ApiKeyExport): pass