36 lines
677 B
Python
36 lines
677 B
Python
from typing import List, Optional
|
|
|
|
from pydantic import BaseModel, HttpUrl
|
|
from pydantic.types import Decimal
|
|
|
|
|
|
class UserLink(BaseModel):
|
|
rel: str
|
|
href: HttpUrl
|
|
type: str
|
|
|
|
|
|
class UserItem(BaseModel):
|
|
name: str
|
|
creator: str
|
|
roles: List[str]
|
|
permissions: List[str]
|
|
password: Optional[str]
|
|
links: Optional[List[UserLink]]
|
|
|
|
class Config:
|
|
json_encoders = {
|
|
Decimal: lambda v: str(v)
|
|
}
|
|
|
|
|
|
class UserCollection(BaseModel):
|
|
items: List[UserItem]
|
|
links: Optional[List[UserLink]]
|
|
last_evaluated_key: Optional[str]
|
|
|
|
class Config:
|
|
json_encoders = {
|
|
Decimal: lambda v: str(v)
|
|
}
|