Test Failed
Pull Request — master (#56)
by Vinicius
07:13
created

build.db.models   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 5

1 Method

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