""" Global Pydantic schemas Exports: - CustomBaseModel: Schema used for all other Pydantic models - ResourceName """ from pydantic import BaseModel, Field from typing import Optional class CustomBaseModel(BaseModel): pass class ResourceName(CustomBaseModel): service: str organisation: str resource: str instance: Optional[str] = None ### Mixins ### class OrgIDMixin(CustomBaseModel): organisation_id: int = Field(gt=0) class GroupIDMixin(CustomBaseModel): group_id: int = Field(gt=0) class PermIDMixin(CustomBaseModel): permission_id: int = Field(gt=0) class ServiceIDMixin(CustomBaseModel): service_id: int = Field(gt=0) class UserIDMixin(CustomBaseModel): user_id: int = Field(gt=0)