from dataclasses import dataclass, field from datetime import UTC, datetime from dataclasses_ujson.dataclasses_ujson import UJsonMixin from sqlalchemy import BigInteger, Boolean, Column, DateTime, JSON, String, Text from server.config import get_app_config from server.infra.db.db_mapper import mapper_registry @mapper_registry.mapped @dataclass class Beerds(UJsonMixin): __sa_dataclass_metadata_key__ = "sa" __tablename__ = "beerds" id: str = field(metadata={"sa": Column(String(), primary_key=True, nullable=False)}) name: str = field(metadata={"sa": Column(Text(), nullable=False)}) descriptions: str = field( default=datetime.now(UTC), metadata={"sa": Column(Text(), nullable=False)} ) signs: dict = field( default=datetime.now(UTC), metadata={"sa": Column(JSON(), nullable=False)} )