Source code for app.lib.schema

from typing import Any

import msgspec
from advanced_alchemy.utils.text import camelize
from pydantic import BaseModel as _BaseModel
from pydantic import ConfigDict


[docs] class BaseStruct(msgspec.Struct): def to_dict(self) -> dict[str, Any]: return {f: getattr(self, f) for f in self.__struct_fields__ if getattr(self, f, None) != msgspec.UNSET}
[docs] class CamelizedBaseStruct(BaseStruct, rename="camel"): """Camelized Base Struct"""
[docs] class Message(CamelizedBaseStruct): message: str
[docs] class BaseSchema(_BaseModel): """Base Settings.""" model_config = ConfigDict( validate_assignment=True, from_attributes=True, use_enum_values=True, arbitrary_types_allowed=True, )
[docs] class CamelizedBaseSchema(BaseSchema): """Camelized Base pydantic schema.""" model_config = ConfigDict(populate_by_name=True, alias_generator=camelize)