Implementing the partner into the db and contracts
This commit is contained in:
@@ -36,14 +36,15 @@ class CurrentFirmModel(CrudDocument):
|
||||
class CurrentFirmSchemaRead(Reader):
|
||||
entity: EntityRead
|
||||
partner: EntityRead
|
||||
partner_list: list[EntityRead]
|
||||
instance: str
|
||||
firm: str
|
||||
primary_color: str
|
||||
secondary_color: str
|
||||
|
||||
@classmethod
|
||||
def from_model_and_entities(cls, model, entity, partner):
|
||||
schema = cls(**model.model_dump(mode="json"), entity=entity, partner=partner)
|
||||
def from_model_and_entities(cls, model, entity, partner, partner_list):
|
||||
schema = cls(**model.model_dump(mode="json"), entity=entity, partner=partner, partner_list=partner_list)
|
||||
return schema
|
||||
|
||||
class CurrentFirmSchemaCreate(Writer):
|
||||
|
||||
@@ -10,10 +10,17 @@ current_firm_router = APIRouter()
|
||||
@current_firm_router.get("/", response_model=CurrentFirmSchemaRead, response_description=f"Current Firm records retrieved")
|
||||
async def read(reg=Depends(get_authed_tenant_registry)) -> CurrentFirmSchemaRead:
|
||||
document = await CurrentFirmModel.get_current(reg.db)
|
||||
entity = await Entity.get(reg.db, document.entity_id)
|
||||
firm_entity = await Entity.get(reg.db, document.entity_id)
|
||||
partner = await Partner.get_by_user_id(reg.db, reg.user.id)
|
||||
partner = await Entity.get(reg.db, partner.entity_id)
|
||||
return CurrentFirmSchemaRead.from_model_and_entities(document, EntityRead.from_model(entity), EntityRead.from_model(partner))
|
||||
partner_list = await Partner.list(reg.db)
|
||||
partner_list = await Entity.list(reg.db, {"_id": {"$in": [p.entity_id for p in partner_list]}})
|
||||
return CurrentFirmSchemaRead.from_model_and_entities(
|
||||
document,
|
||||
EntityRead.from_model(firm_entity),
|
||||
EntityRead.from_model(partner),
|
||||
[EntityRead.from_model(p) for p in partner_list]
|
||||
)
|
||||
|
||||
@current_firm_router.post("/", response_description=f"Current Firm added to the database")
|
||||
async def create(schema: CurrentFirmSchemaCreate, reg=Depends(get_uninitialized_registry)) -> CurrentFirmSchemaRead:
|
||||
|
||||
Reference in New Issue
Block a user