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