xbackend/schemas/space.py
2021-08-18 17:17:16 +08:00

60 lines
985 B
Python

import uuid
from datetime import datetime
from enum import Enum
from typing import List
from pydantic import BaseModel
from schemas import DBBase
class SpaceBase(BaseModel):
name: str = None
class Authority(str, Enum):
rw = 'rw'
r = 'r'
class Member(BaseModel):
user_id: str
authority: Authority
# 解析请求json 创建项目
class SpaceCreate(SpaceBase):
name: str
project_id: str
members: List[Member] = []
is_all_member: bool = False
authority: Authority = 'r'
class SpaceDelete(DBBase):
pass
class SpaceDetail(BaseModel):
space_id: str
class SpaceRename(BaseModel):
space_id: str
new_name: str
class AddSpaceMembers(BaseModel):
space_id: str
members: List[Member]
# --------------------------------------------------------------
# 数据库模型
class SpaceDB(DBBase):
name: str
user_id: str
project_id: str
members: List[Member] = []
create_date: datetime = datetime.now()