| | |
| | | from ast import parse |
| | | |
| | | from fastapi import APIRouter, Depends |
| | | from app.api import Response, pwd_context, get_current_user, ResponseList |
| | | from app.config.config import settings |
| | | from win32ctypes.pywin32.pywintypes import datetime |
| | | |
| | | from app.api import Response, get_current_user |
| | | from app.models.base_model import get_db |
| | | from app.models.group_model import GroupInfoModel, UserGroupModel, GroupData, GroupUsers |
| | | from app.models.group_model import GroupModel, GroupData, GroupUsers |
| | | from app.models.user import PageParameter |
| | | from app.models.user_model import UserModel |
| | | from app.service.bisheng import BishengService |
| | | from app.service.group import create_group, group_list, edit_group_data, delete_group_data, get_group_users, \ |
| | | save_user_to_group |
| | | from app.service.token import get_bisheng_token |
| | | |
| | | group_router = APIRouter() |
| | | |
| | |
| | | async def add_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): |
| | | if not group.group_name: |
| | | return Response(code=400, msg="The group_name cannot be empty!") |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_name == group.group_name).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first() |
| | | if db_group: |
| | | return Response(code=200, msg="group already created") |
| | | is_create = await create_group(db, group.group_name, group.group_description) |
| | |
| | | async def edit_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): |
| | | if not group.group_name: |
| | | return Response(code=400, msg="The group_name cannot be empty!") |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_name == group.group_name).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first() |
| | | if db_group: |
| | | return Response(code=200, msg="group_name already created") |
| | | is_edit = await edit_group_data(db, group.id, |
| | | {"group_name": group.group_name, "group_description": group.group_description}) |
| | | {"group_name": group.group_name, "group_description": group.group_description, |
| | | "updated_at": datetime.now()}) |
| | | if not is_edit: |
| | | return Response(code=200, msg="group edit failure", data={}) |
| | | return Response(code=200, msg="group edit successfully", data={"group_name": group.group_name}) |
| | |
| | | |
| | | @group_router.post("/edit_group_status", response_model=Response) |
| | | async def edit_group_status(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): |
| | | if group.group_status not in [0, 1]: |
| | | if group.group_status not in ["0", "1"]: |
| | | return Response(code=400, msg="The status cannot be {}!".format(group.group_status)) |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() |
| | | if not db_group: |
| | | return Response(code=200, msg="group does not exist") |
| | | is_edit = await edit_group_data(db, group.id, |
| | | {"group_status": group.group_status}) |
| | | {"status": group.group_status,"updated_at": datetime.now()}) |
| | | if not is_edit: |
| | | return Response(code=200, msg="group status edit failure", data={}) |
| | | return Response(code=200, msg="group status edit successfully", data={"group_name": group.group_name}) |
| | |
| | | |
| | | @group_router.post("/delete_group", response_model=Response) |
| | | async def delete_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() |
| | | if not db_group: |
| | | return Response(code=200, msg="group does not exist") |
| | | is_edit = await delete_group_data(db, group.id) |
| | |
| | | |
| | | @group_router.post("/group_users", response_model=Response) |
| | | async def group_users(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() |
| | | if not db_group: |
| | | return Response(code=200, data={}) |
| | | return Response(code=200, msg="group does not exist", data={}) |
| | | return Response(code=200, msg="success", data=await get_group_users(db, group.id)) |
| | | |
| | | |
| | | @group_router.post("/save_group_user", response_model=Response) |
| | | async def save_group_user(group_user: GroupUsers, current_user: UserModel = Depends(get_current_user), |
| | | db=Depends(get_db)): |
| | | db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group_user.id).first() |
| | | db_group = db.query(GroupModel).filter(GroupModel.id == group_user.id).first() |
| | | if not db_group: |
| | | return Response(code=200, msg="group does not exist") |
| | | is_success = await save_user_to_group(db, current_user.id, group_user.id, group_user.user_list) |