1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from typing import Annotated
- from app.admin.schema.intent_org import CreateIntentOrgParam, GetIntentOrgListDetails, UpdateIntentOrgParam
- from app.admin.service.intent_org_service import intent_org_service
- from common.pagination import DependsPagination, paging_data
- from common.response.response_schema import ResponseModel, response_base
- from common.security.jwt_call_center import DependsJwtAuth
- from common.security.permission import RequestPermission
- from database.db_mysql import CurrentSession
- from fastapi import APIRouter, Depends, Path, Query
- router = APIRouter()
- @router.get('/{pk}', summary='获取 intent_org 详情', dependencies=[DependsJwtAuth])
- async def get_intent_org(pk: Annotated[int, Path(...)]) -> ResponseModel:
- intent_org = await intent_org_service.get(pk=pk)
- return response_base.success(data=intent_org)
- @router.get(
- '',
- summary='(模糊条件)分页获取所有 intent_org',
- dependencies=[
- DependsJwtAuth,
- DependsPagination,
- ],
- )
- async def get_pagination_intent_org(db: CurrentSession) -> ResponseModel:
- intent_org_select = await intent_org_service.get_select()
- page_data = await paging_data(db, intent_org_select, GetIntentOrgListDetails)
- return response_base.success(data=page_data)
- @router.post(
- '',
- summary='创建 intent_org',
- dependencies=[
- Depends(RequestPermission('intent_org:add')),
- ],
- )
- async def create_intent_org(obj: CreateIntentOrgParam) -> ResponseModel:
- await intent_org_service.create(obj=obj)
- return response_base.success()
- @router.put(
- '/{pk}',
- summary='更新 intent_org',
- dependencies=[
- Depends(RequestPermission('intent_org:edit')),
- ],
- )
- async def update_intent_org(pk: Annotated[int, Path(...)], obj: UpdateIntentOrgParam) -> ResponseModel:
- count = await intent_org_service.update(pk=pk, obj=obj)
- if count > 0:
- return response_base.success()
- return response_base.fail()
- @router.delete(
- '',
- summary='(批量)删除 intent_org',
- dependencies=[
- Depends(RequestPermission('intent_org:del')),
- ],
- )
- async def delete_intent_org(pk: Annotated[list[int], Query(...)]) -> ResponseModel:
- count = await intent_org_service.delete(pk=pk)
- if count > 0:
- return response_base.success()
- return response_base.fail()
|