xbackend/api/api_v1/endpoints/project.py
2021-04-30 18:52:30 +08:00

47 lines
1.8 KiB
Python

from datetime import timedelta
from typing import Any, List
from fastapi import APIRouter, Body, Depends, HTTPException, Request
from sqlalchemy.orm import Session
import crud, models, schemas
from api import deps
router = APIRouter()
@router.get("/", response_model=List[schemas.Project])
def read_project(db: Session = Depends(deps.get_db),
current_user: models.User = Depends(deps.get_current_active_user)
) -> Any:
my_project = crud.project.get_my_project(db=db, user_id=current_user.id)
return my_project
@router.post("/create-project", response_model=schemas.Project)
def create_project(project_in: schemas.ProjectCreate, db: Session = Depends(deps.get_db),
current_user: models.User = Depends(deps.get_current_active_superuser)
) -> Any:
project = crud.project.create_with_project(db=db, obj_in=project_in, user_id=current_user.id)
# 我的看板 新建 未分组 和 共享给我的 文件夹
unknown_folder = schemas.FolderCreate(
user_id=current_user.id,
name='未分组的'
)
share_folder = schemas.FolderCreate(
user_id=current_user.id,
name='共享给我的'
)
folder1 = crud.folder.create_with_folder(db=db, obj_in=unknown_folder, user_id=current_user.id, )
folder2 = crud.folder.create_with_folder(db=db, obj_in=share_folder, user_id=current_user.id)
# 拥有这俩个文件夹权限
authority1 = schemas.AuthorityCreate(project_id=project.id, authority='rw', folder_id=folder1.id)
authority2 = schemas.AuthorityCreate(project_id=project.id, authority='rw', folder_id=folder2.id)
crud.authority.create_with_authority(db=db, obj_in=authority1, user_id=current_user.id)
crud.authority.create_with_authority(db=db, obj_in=authority2, user_id=current_user.id)
return project