29 lines
580 B
Python
29 lines
580 B
Python
from beanie import PydanticObjectId
|
|
from pydantic import Field, BaseModel
|
|
from pymongo import IndexModel
|
|
|
|
from hub 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):
|
|
pass
|
|
|
|
class FirmUpdate(FirmRead):
|
|
pass
|