Total Complexity | 5 |
Total Lines | 32 |
Duplicated Lines | 0 % |
Coverage | 93.75% |
Changes | 0 |
1 | """DB models.""" |
||
2 | # pylint: disable=unused-argument,invalid-name,unsubscriptable-object |
||
3 | # pylint: disable=no-name-in-module |
||
4 | |||
5 | 1 | from datetime import datetime |
|
6 | 1 | from typing import Optional |
|
7 | |||
8 | 1 | from pydantic import BaseModel, Field |
|
9 | |||
10 | |||
11 | 1 | class DocumentBaseModel(BaseModel): |
|
12 | """DocumentBaseModel.""" |
||
13 | |||
14 | 1 | id: str = Field(None, alias="_id") |
|
15 | 1 | inserted_at: Optional[datetime] = None |
|
16 | 1 | updated_at: Optional[datetime] = None |
|
17 | |||
18 | 1 | def model_dump(self, **kwargs) -> dict: |
|
19 | """Model to dict.""" |
||
20 | 1 | values = super().model_dump(**kwargs) |
|
21 | 1 | if "id" in values and values["id"]: |
|
22 | 1 | values["_id"] = values["id"] |
|
23 | 1 | if "exclude" in kwargs and "_id" in kwargs["exclude"]: |
|
24 | values.pop("_id") |
||
25 | 1 | return values |
|
26 | |||
27 | |||
28 | 1 | class LivenessDoc(DocumentBaseModel): |
|
29 | """Liveness document model.""" |
||
30 | |||
31 | enabled: bool |
||
32 |