46 lines
781 B
Python
46 lines
781 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(DBBase):
|
|
name: 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 SpaceDB(DBBase):
|
|
name: str
|
|
user_id: str
|
|
project_id: str
|
|
members: List[Member] = []
|
|
create_date: datetime = datetime.now()
|