This repository has been archived on 2020-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
statuspage/app/schemas.py

73 lines
1.2 KiB
Python
Raw Normal View History

import time
from typing import List, Optional
from pydantic import BaseModel, HttpUrl
class ServiceBase(BaseModel):
name: str
owner_id: int
is_private: bool = True
description: Optional[str] = None
service_type: int
url: HttpUrl
is_active: bool = True
class Service(BaseModel):
created_unix: float
updated_unix: float = None
class ServiceCreate(ServiceBase):
pass
class ServiceUpdate(ServiceBase):
name: Optional[str]
owner_id: Optional[int]
is_private: Optional[bool]
description: Optional[str]
service_type: Optional[int]
url: Optional[HttpUrl]
is_active: Optional[bool]
class Service(ServiceBase):
pass
class Config:
orm_mode = True
class UserBase(BaseModel):
name: str
full_name: Optional[str] = None
is_active: bool = True
class User(BaseModel):
created_unix: float
updated_unix: float = None
last_login_unix: float = None
class UserCreate(UserBase):
password: str
class UserUpdate(UserBase):
name: Optional[str]
full_name: Optional[str]
password: Optional[str]
is_active: Optional[bool]
class User(UserBase):
pass
class Config:
orm_mode = True
class APISimpleSuccessResponse(BaseModel):
success: bool = True
class APISimpleErrorResponse(BaseModel):
success: bool = False
errors: Optional[List[str]]