Files
roleplay-contract/api/rpk-api/hub/firm/__init__.py
2025-04-11 00:04:47 +02:00

30 lines
760 B
Python

from beanie import PydanticObjectId
from pydantic import Field, BaseModel
from pymongo import IndexModel
from hub.core import CrudDocument
class Firm(CrudDocument):
name: str = Field()
instance: str = Field()
owner: PydanticObjectId = Field()
def compute_label(self) -> str:
return self.name
class Settings:
indexes = [
IndexModel(["name", "instance"], unique=True),
]
class FirmRead(BaseModel):
instance: str = Field()
name: str = Field()
class FirmCreate(FirmRead):
instance: str = Field(max_length=32, min_length=3, pattern="^[0-9a-z-]+$")
name: str = Field(max_length=32, min_length=3, pattern="^[0-9a-z-]+$")
class FirmUpdate(BaseModel):
owner: PydanticObjectId = Field()