build.db.models.DocumentBaseModel.model_dump()   A
last analyzed

Complexity

Conditions 5

Size

Total Lines 8
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5.0729

Importance

Changes 0
Metric Value
cc 5
eloc 7
nop 2
dl 0
loc 8
ccs 6
cts 7
cp 0.8571
crap 5.0729
rs 9.3333
c 0
b 0
f 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