Coverage for mongodb_odm / utils / _internal_models.py: 100%
21 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-12-07 08:37 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2025-12-07 08:37 +0000
1from typing import Any, Optional, Union 1abcdef
3from mongodb_odm.types import DICT_TYPE 1abcdef
4from pydantic import BaseModel 1abcdef
5from pydantic._internal._repr import Representation as PydanticRepresentation 1abcdef
6from pymongo import AsyncMongoClient, MongoClient 1abcdef
9class Connection: 1abcdef
10 # Use this model to maintain database connection object structure.
11 url: Optional[str] = None 1abcdef
12 client: Optional[Union[MongoClient[Any], AsyncMongoClient[Any]]] = None 1abcdef
13 databases: Optional[set[str]] = None 1abcdef
14 connection_kwargs: Optional[DICT_TYPE] = None 1abcdef
15 async_is_enabled: bool = False 1abcdef
18class RelationalFieldInfo(PydanticRepresentation): 1abcdef
19 def __init__( 1abcdef
20 self, *, model: Any, local_field: str, related_field: Optional[str] = None
21 ) -> None:
22 self.model = model 1abcdef
23 self.local_field = local_field 1abcdef
24 self.related_field = related_field 1abcdef
27class CollectionConfig(BaseModel): 1abcdef
28 # Connection configuration model for each model.
29 collection_name: str 1abcdef
30 child_collection_name: Optional[str] = None 1abcdef
31 database_name: Optional[str] = None 1abcdef
32 has_children: bool = False 1abcdef