import uuid from app.config import TaskEnv from app.models.financial_pre_payment import PrePaymentModel from core.repositories.base import BaseRepository from core.service.mongo_db import use_collection class PrePaymentRepository(BaseRepository): def __init__(self): super().__init__(collection=TaskEnv.CLN_FINANCIAL_PRE_PAYMENT, model=PrePaymentModel) async def sum_amount(self,project_id:uuid.UUID): sum = await use_collection(TaskEnv.CLN_FINANCIAL_PRE_PAYMENT).aggregate([ {'$match': {'project_id': project_id}}, {'$group': {'_id': None, 'sum': { '$sum': "$amount"}}} ]).to_list(None) if sum: return sum[0]['sum'] return None async def get_list(self,project_id:uuid.UUID): get_list = await use_collection(TaskEnv.CLN_FINANCIAL_PRE_PAYMENT).find({'project_id': project_id}).to_list(None) return get_list