Implementing the partner into the db and contracts
This commit is contained in:
@@ -37,7 +37,7 @@ class CrudDocument(BaseModel):
|
||||
|
||||
@classmethod
|
||||
async def create(cls, db, create_schema):
|
||||
model_dict = create_schema.model_dump() | {"created_by": db.user.id, "updated_by": db.user.id}
|
||||
model_dict = create_schema.model_dump() | {"created_by": db.partner.id, "updated_by": db.partner.id}
|
||||
document = cls.model_validate(model_dict).model_dump(mode="json")
|
||||
result = await cls._get_collection(db).insert_one(document)
|
||||
|
||||
@@ -52,8 +52,13 @@ class CrudDocument(BaseModel):
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def list(cls, db):
|
||||
return cls._get_collection(db).find({})
|
||||
async def list(cls, db, criteria={}):
|
||||
result = []
|
||||
for document in await cls._get_collection(db).find(criteria).to_list():
|
||||
document["id"] = document.pop("_id")
|
||||
result.append(cls.model_validate(document))
|
||||
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
async def get(cls, db, model_id):
|
||||
@@ -66,7 +71,7 @@ class CrudDocument(BaseModel):
|
||||
|
||||
@classmethod
|
||||
async def update(cls, db, model, update_schema):
|
||||
model_dict = update_schema.model_dump(mode="json") | {"updated_by": db.user.id}
|
||||
model_dict = update_schema.model_dump(mode="json") | {"updated_by": db.partner.id}
|
||||
update_query = {
|
||||
"$set": {field: value for field, value in model_dict.items() if field!= "id" }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user