openreplay/ee/api/schemas_ee.py
2022-06-17 10:41:59 +02:00

38 lines
1.1 KiB
Python

from typing import Optional, List, Literal
from pydantic import BaseModel, Field
import schemas
from chalicelib.utils.TimeUTC import TimeUTC
class RolePayloadSchema(BaseModel):
name: str = Field(...)
description: Optional[str] = Field(None)
permissions: List[str] = Field(...)
all_projects: bool = Field(True)
projects: List[int] = Field([])
class Config:
alias_generator = schemas.attribute_to_camel_case
class CreateMemberSchema(schemas.CreateMemberSchema):
roleId: Optional[int] = Field(None)
class EditMemberSchema(schemas.EditMemberSchema):
roleId: int = Field(...)
class TrailSearchPayloadSchema(schemas._PaginatedSchema):
limit: int = Field(default=200, gt=0)
startDate: int = Field(default=TimeUTC.now(-7))
endDate: int = Field(default=TimeUTC.now(1))
user_id: Optional[int] = Field(default=None)
query: Optional[str] = Field(default=None)
action: Optional[str] = Field(default=None)
order: Literal["asc", "desc"] = Field(default="desc")
class Config:
alias_generator = schemas.attribute_to_camel_case