Support for policies (ro)
This commit is contained in:
@ -1,8 +1,11 @@
|
||||
from typing import Optional, List
|
||||
from pydantic import BaseModel, Field, computed_field
|
||||
from typing import Optional, List, Union
|
||||
from pydantic import BaseModel, Field, computed_field, field_serializer, field_validator, model_serializer
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from enum import Enum
|
||||
|
||||
import json
|
||||
import pyjson5
|
||||
|
||||
|
||||
class v1RegisterMethod(str, Enum):
|
||||
|
||||
@ -58,6 +61,26 @@ class v1User(BaseModel):
|
||||
createdAt: datetime = Field(alias="createdAt", default=None)
|
||||
|
||||
|
||||
class v1Policy(BaseModel):
|
||||
|
||||
policy: dict = Field(alias="policy", default=None)
|
||||
updatedAt: datetime = Field(alias="updatedAt", default=None)
|
||||
|
||||
@field_validator("policy", mode="before")
|
||||
@classmethod
|
||||
def json_to_dict(cls, v: str):
|
||||
pydict = pyjson5.loads(v)
|
||||
return pydict
|
||||
|
||||
@property
|
||||
def minjson(self) -> str:
|
||||
return json.dumps(self.policy)
|
||||
|
||||
@property
|
||||
def json(self) -> str:
|
||||
return json.dumps(self.policy, indent=2)
|
||||
|
||||
|
||||
class v1Node(BaseModel):
|
||||
"""
|
||||
None model
|
||||
|
||||
Reference in New Issue
Block a user