Fixed bug in validate schema
All checks were successful
checks-impure / test (pull_request) Successful in 26s
checks / test (pull_request) Successful in 3m17s

This commit is contained in:
2024-01-14 15:57:30 +01:00
parent 44797a0bc3
commit 7045f945c8
4 changed files with 25 additions and 17 deletions

View File

@@ -1,25 +1,15 @@
import logging
from datetime import datetime
from enum import Enum
from typing import List
from pydantic import BaseModel, Field, validator
from . import sql_models
from .db_types import Role, Status
log = logging.getLogger(__name__)
class Status(Enum):
ONLINE = "online"
OFFLINE = "offline"
UNKNOWN = "unknown"
class Role(Enum):
PROSUMER = "service_prosumer"
AP = "AP"
DLG = "DLG"
class Machine(BaseModel):
name: str
status: Status
@@ -72,8 +62,12 @@ class Entity(EntityBase):
# define a custom getter function for roles
@validator("roles", pre=True)
def get_roles(cls, v: List[EntityRoles | Role]) -> List[Role]:
if isinstance(v, list) and len(v) > 0 and isinstance(v[0], EntityRoles):
def get_roles(cls, v: List[sql_models.EntityRoles | Role]) -> List[Role]:
if (
isinstance(v, list)
and len(v) > 0
and isinstance(v[0], sql_models.EntityRoles)
):
return [x.role for x in v] # type: ignore
else:
return v # type: ignore