Coverage for api/database/entity.py: 50%
12 statements
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
1from typing import Any, Callable, TypeVar
3from dbcc import MongoTableEngine
4from utils.helper import get_hash
7async def update_etag(data: dict[str, Any], col: MongoTableEngine):
8 etag = get_hash(data)
9 await col.collection.update_one(
10 {"id": data["id"]}, {"$set": {"etag": etag}}
11 )
12 data["etag"] = etag
15B = TypeVar("B")
18async def update_etag_and_text_search(
19 data: dict[str, Any],
20 col: MongoTableEngine,
21 data_type: type[B],
22 getter: Callable[[B], str],
23):
24 etag = get_hash(data)
25 await col.collection.update_one(
26 {"id": data["id"]},
27 {"$set": {"etag": etag, "text_search": getter(data_type(**data))}},
28 )
29 data["etag"] = etag