Coverage for api/handlers/resources/processor.py: 67%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.2, created at 2024-10-10 03:02 +0300

1import asyncio 

2from typing import Any, Callable 

3 

4from database.entity import update_etag_and_text_search 

5from dbcc import MongoTableEngine 

6from pydantic import BaseModel 

7from services.notifications.director import notification_api 

8from sotrans_models.utils.text_mappers import get_vehicles_text_search 

9 

10 

11async def process_final_entity( 

12 resource: dict[str, Any], 

13 col: MongoTableEngine, 

14 model: type[BaseModel], 

15 text_search: Callable = get_vehicles_text_search, 

16) -> dict[str, Any]: 

17 await update_etag_and_text_search( 

18 resource, 

19 col, 

20 model, 

21 text_search, 

22 ) 

23 tm = model(**resource) 

24 asyncio.create_task( 

25 notification_api.carriers_entity_verification_company_notification(tm) 

26 ) 

27 return resource