27 lines
843 B
Python
27 lines
843 B
Python
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)}
|
|
)
|
|
|