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