wip(semantic):数据æapi接口改为集中式
This commit is contained in:
@@ -2,12 +2,13 @@ from flask import Blueprint, Flask
|
||||
|
||||
api_bp = Blueprint('api', __name__, url_prefix='/api/v1')
|
||||
|
||||
from . import department
|
||||
from . import file
|
||||
from . import roles
|
||||
from . import rights
|
||||
from . import passport
|
||||
from . import users
|
||||
from .rights import register_rights_api
|
||||
from .system import register_system_api
|
||||
from .users import register_users_api
|
||||
|
||||
register_rights_api(api_bp)
|
||||
register_users_api(api_bp)
|
||||
register_system_api(api_bp)
|
||||
|
||||
|
||||
def init_api(app: Flask):
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
from flask_restful import Api
|
||||
|
||||
from .department import Departments, Department, DeptEnable
|
||||
from .rights import RightRights, RightPower, RightPowerEnable, AdminConfigs, AdminMenu
|
||||
from .roles import RoleRoles, RoleRole, RoleEnable, RolePower
|
||||
|
||||
|
||||
def register_rights_api(api_bp):
|
||||
dept_api = Api(api_bp, prefix='/dept')
|
||||
dept_api.add_resource(Departments, '/departments')
|
||||
dept_api.add_resource(Department, '/department/<int:dept_id>')
|
||||
dept_api.add_resource(DeptEnable, '/department/<int:dept_id>/status')
|
||||
|
||||
rights_api = Api(api_bp, prefix='/rights')
|
||||
rights_api.add_resource(RightRights, '/rights')
|
||||
rights_api.add_resource(RightPower, '/power/<int:power_id>')
|
||||
rights_api.add_resource(RightPowerEnable, '/power/<int:right_id>/status')
|
||||
rights_api.add_resource(AdminConfigs, '/configs')
|
||||
rights_api.add_resource(AdminMenu, '/menu')
|
||||
|
||||
role_api = Api(api_bp, prefix='/roles')
|
||||
role_api.add_resource(RoleRoles, '/roles')
|
||||
role_api.add_resource(RoleRole, '/role/<int:role_id>')
|
||||
role_api.add_resource(RoleEnable, '/role/<int:role_id>/status')
|
||||
role_api.add_resource(RolePower, '/role_power/<int:role_id>')
|
||||
@@ -1,18 +1,15 @@
|
||||
from flask import jsonify
|
||||
from flask_restful import Api, Resource
|
||||
from applications.api import api_bp
|
||||
from flask_restful import Resource
|
||||
from flask_restful import marshal, reqparse
|
||||
|
||||
from applications.common.serialization import dept_fields
|
||||
from applications.common.utils.http import success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.extensions import db
|
||||
from applications.models import CompanyDepartment, CompanyUser
|
||||
from flask_restful import marshal, reqparse
|
||||
from applications.common.serialization import dept_fields
|
||||
|
||||
dept_api = Api(api_bp, prefix='/dept')
|
||||
|
||||
|
||||
@dept_api.resource('/departments')
|
||||
class Department(Resource):
|
||||
class Departments(Resource):
|
||||
|
||||
@authorize("admin:dept:main", log=True)
|
||||
def get(self):
|
||||
@@ -54,8 +51,7 @@ class Department(Resource):
|
||||
return success_api(msg="成功")
|
||||
|
||||
|
||||
@dept_api.resource('/department/<int:dept_id>')
|
||||
class DeptURD(Resource):
|
||||
class Department(Resource):
|
||||
@authorize("admin:dept:edit", log=True)
|
||||
def get(self, dept_id):
|
||||
dept = CompanyDepartment.query.filter_by(id=dept_id).first()
|
||||
@@ -109,7 +105,6 @@ class DeptURD(Resource):
|
||||
return fail_api(msg="删除失败")
|
||||
|
||||
|
||||
@dept_api.resource('/department/<int:dept_id>/status')
|
||||
class DeptEnable(Resource):
|
||||
@authorize("admin:dept:edit", log=True)
|
||||
def put(self, dept_id):
|
||||
@@ -3,9 +3,8 @@ from collections import OrderedDict
|
||||
|
||||
from flask import request, jsonify, current_app
|
||||
from flask_login import current_user, login_required
|
||||
from flask_restful import Resource, reqparse, Api, marshal
|
||||
from flask_restful import Resource, reqparse, marshal
|
||||
|
||||
from applications.api import api_bp
|
||||
from applications.common.serialization import power2_fields, power_fields
|
||||
from applications.common.utils.http import success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
@@ -143,8 +142,6 @@ def batch_remove_power(ids):
|
||||
remove_power(_id)
|
||||
|
||||
|
||||
rights_api = Api(api_bp, prefix='/rights')
|
||||
|
||||
parser_power = reqparse.RequestParser(bundle_errors=True)
|
||||
parser_power.add_argument('icon', type=str)
|
||||
parser_power.add_argument('openType', type=str, dest='open_type')
|
||||
@@ -156,7 +153,6 @@ parser_power.add_argument('powerUrl', type=str, dest='power_url')
|
||||
parser_power.add_argument('sort', type=int, dest='sort')
|
||||
|
||||
|
||||
@rights_api.resource('/rights')
|
||||
class RightRights(Resource):
|
||||
@authorize("admin:power:main", log=True)
|
||||
def get(self):
|
||||
@@ -179,8 +175,7 @@ class RightRights(Resource):
|
||||
return success_api(msg="批量删除成功")
|
||||
|
||||
|
||||
@rights_api.resource('/power/<int:power_id>')
|
||||
class RightsPowerView(Resource):
|
||||
class RightPower(Resource):
|
||||
|
||||
@authorize("admin:power:add", log=True)
|
||||
def post(self, power_id):
|
||||
@@ -246,8 +241,7 @@ class RightsPowerView(Resource):
|
||||
return success_api(msg="更新权限成功")
|
||||
|
||||
|
||||
@rights_api.resource('/power/<int:right_id>/status')
|
||||
class PowerStatus(Resource):
|
||||
class RightPowerEnable(Resource):
|
||||
@authorize("admin:power:edit", log=True)
|
||||
def put(self, right_id):
|
||||
|
||||
@@ -261,14 +255,12 @@ class PowerStatus(Resource):
|
||||
return fail_api(msg="出错啦")
|
||||
|
||||
|
||||
@rights_api.resource('/configs')
|
||||
class AdminConfigs(Resource):
|
||||
@login_required
|
||||
def get(self):
|
||||
return get_render_config()
|
||||
|
||||
|
||||
@rights_api.resource('/menu')
|
||||
class AdminMenu(Resource):
|
||||
@login_required
|
||||
def get(self):
|
||||
@@ -1,14 +1,12 @@
|
||||
from flask import jsonify
|
||||
from flask_login import login_required
|
||||
from flask_restful import Resource, Api, reqparse, marshal
|
||||
from flask_restful import Resource, reqparse, marshal
|
||||
|
||||
from applications.common.serialization import power_fields
|
||||
from applications.common.utils.http import table_api, success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.serialization import power_fields
|
||||
|
||||
from applications.extensions import db
|
||||
from applications.models import RightsPower, RightsRole, CompanyUser
|
||||
from . import api_bp
|
||||
|
||||
|
||||
def remove_role(role_id):
|
||||
@@ -39,10 +37,6 @@ def batch_remove_role(role_ids):
|
||||
remove_role(role_id)
|
||||
|
||||
|
||||
role_api = Api(api_bp, prefix='/roles')
|
||||
|
||||
|
||||
@role_api.resource('/roles')
|
||||
class RoleRoles(Resource):
|
||||
# 表格数据
|
||||
@authorize("admin:role:main", log=True)
|
||||
@@ -88,7 +82,6 @@ class RoleRoles(Resource):
|
||||
return success_api(msg="批量删除成功")
|
||||
|
||||
|
||||
@role_api.resource('/role/<int:role_id>')
|
||||
class RoleRole(Resource):
|
||||
|
||||
@authorize("admin:role:add", log=True)
|
||||
@@ -141,7 +134,6 @@ class RoleRole(Resource):
|
||||
return success_api(msg="更新角色成功")
|
||||
|
||||
|
||||
@role_api.resource('/role/<int:role_id>/status')
|
||||
class RoleEnable(Resource):
|
||||
"""启用用户"""
|
||||
|
||||
@@ -157,7 +149,6 @@ class RoleEnable(Resource):
|
||||
return success_api(msg=message)
|
||||
|
||||
|
||||
@role_api.resource('/role_power/<int:role_id>')
|
||||
class RolePower(Resource):
|
||||
|
||||
@authorize("admin:role:main", log=True)
|
||||
@@ -0,0 +1,12 @@
|
||||
from flask_restful import Api
|
||||
|
||||
from .file import FilePhotos, FileTable
|
||||
from .passport import Login
|
||||
|
||||
|
||||
def register_system_api(api_bp):
|
||||
sys_api = Api(api_bp)
|
||||
|
||||
sys_api.add_resource(FilePhotos, '/file/photos')
|
||||
sys_api.add_resource(FileTable, '/file/photo/<int:photo_id>')
|
||||
sys_api.add_resource(Login, '/passport/login')
|
||||
@@ -1,10 +1,9 @@
|
||||
import os
|
||||
|
||||
from flask import request, jsonify, current_app
|
||||
from flask_restful import Api, Resource, marshal
|
||||
from flask_restful import Resource, marshal
|
||||
from sqlalchemy import desc
|
||||
|
||||
from applications.api import api_bp
|
||||
from applications.common.serialization import photo_fields
|
||||
from applications.common.utils.http import fail_api, success_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
@@ -12,10 +11,7 @@ from applications.common.utils.upload import upload_one, delete_photo_by_id
|
||||
from applications.extensions import db
|
||||
from applications.models import FilePhoto
|
||||
|
||||
file_api = Api(api_bp, prefix='/file')
|
||||
|
||||
|
||||
@file_api.resource('/photos')
|
||||
class FilePhotos(Resource):
|
||||
|
||||
@authorize("admin:file:main", log=True)
|
||||
@@ -61,7 +57,6 @@ class FilePhotos(Resource):
|
||||
return fail_api(msg="删除失败")
|
||||
|
||||
|
||||
@file_api.resource('/photo/<int:photo_id>')
|
||||
class FileTable(Resource):
|
||||
"""图片数据"""
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
from flask import render_template, make_response
|
||||
from flask import session, redirect, url_for, request
|
||||
from flask_login import current_user, login_user
|
||||
from flask_restful import Resource, reqparse, Api
|
||||
from flask_restful import Resource, reqparse
|
||||
|
||||
from applications.api import api_bp
|
||||
from applications.common.admin_log import login_log
|
||||
from applications.common.gen_captcha import add_auth_session
|
||||
from applications.common.utils.http import fail_api, success_api
|
||||
from applications.models import CompanyUser
|
||||
|
||||
from flask import render_template, make_response
|
||||
|
||||
passport_api = Api(api_bp, prefix='/passport')
|
||||
|
||||
|
||||
@passport_api.resource('/login')
|
||||
class Login(Resource):
|
||||
login_req = reqparse.RequestParser(bundle_errors=True)
|
||||
login_req.add_argument('username', type=str, help='请输入用户名', required=True)
|
||||
@@ -1,7 +1,16 @@
|
||||
from flask_restful import Api
|
||||
|
||||
from applications.api import api_bp
|
||||
from .profile import UserStatus, UserAvatar, UserInfo, UserPassword
|
||||
from .user import UserUsers, UserUser, UserRole
|
||||
|
||||
users_api = Api(api_bp, prefix='/users')
|
||||
|
||||
from . import user, profile
|
||||
def register_users_api(api_bp):
|
||||
users_api = Api(api_bp, prefix='/users')
|
||||
|
||||
users_api.add_resource(UserInfo, '/user/<int:user_id>/info')
|
||||
users_api.add_resource(UserStatus, '/user/<int:user_id>/status')
|
||||
users_api.add_resource(UserAvatar, '/user/<int:user_id>/avatar')
|
||||
users_api.add_resource(UserPassword, '/user/<int:user_id>/password')
|
||||
users_api.add_resource(UserUsers, '/users')
|
||||
users_api.add_resource(UserUser, '/user/<int:user_id>')
|
||||
users_api.add_resource(UserRole, '/user/<int:user_id>/role')
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
# 个人中心
|
||||
from flask import request, jsonify
|
||||
from flask_login import login_required, current_user
|
||||
from flask_login import login_required
|
||||
from flask_restful import Resource, reqparse
|
||||
|
||||
from applications.common.utils.http import fail_api, success_api
|
||||
from applications.extensions import db
|
||||
from applications.models import CompanyUser
|
||||
|
||||
from . import users_api
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>/status')
|
||||
class UserStatus(Resource):
|
||||
def put(self, user_id):
|
||||
# 启用或者禁用用户 enable disable
|
||||
@@ -35,7 +32,6 @@ class UserStatus(Resource):
|
||||
return message
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>/avatar')
|
||||
class UserAvatar(Resource):
|
||||
"""修改头像"""
|
||||
|
||||
@@ -49,7 +45,6 @@ class UserAvatar(Resource):
|
||||
return success_api(msg="修改成功")
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>/info')
|
||||
class UserInfo(Resource):
|
||||
|
||||
@login_required
|
||||
@@ -72,7 +67,6 @@ class UserInfo(Resource):
|
||||
return success_api(msg="更新成功")
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>/password')
|
||||
class UserPassword(Resource):
|
||||
"""前用户密码"""
|
||||
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
from flask import request
|
||||
|
||||
from flask_restful import Resource, reqparse
|
||||
from flask_login import current_user
|
||||
from flask_restful import Resource, reqparse
|
||||
from sqlalchemy import desc
|
||||
|
||||
from applications.extensions import db
|
||||
from applications.common.utils.http import fail_api, success_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.models import CompanyUser, RightsRole, CompanyDepartment
|
||||
from applications.extensions import db
|
||||
from applications.models import AdminLog
|
||||
from . import users_api
|
||||
from applications.models import CompanyUser, RightsRole, CompanyDepartment
|
||||
|
||||
|
||||
def get_current_user_logs():
|
||||
@@ -59,7 +57,6 @@ def update_user_role(_id, roles_list):
|
||||
db.session.commit()
|
||||
|
||||
|
||||
@users_api.resource('/users')
|
||||
class UserUsers(Resource):
|
||||
"""用户列表数据操作"""
|
||||
|
||||
@@ -140,7 +137,6 @@ class UserUsers(Resource):
|
||||
return success_api(msg="批量删除成功")
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>')
|
||||
class UserUser(Resource):
|
||||
"""修改用户数据"""
|
||||
|
||||
@@ -185,7 +181,6 @@ class UserUser(Resource):
|
||||
return success_api(msg="删除成功")
|
||||
|
||||
|
||||
@users_api.resource('/user/<int:user_id>/role')
|
||||
class UserRole(Resource):
|
||||
@authorize("admin:user:edit", log=True)
|
||||
def put(self, user_id):
|
||||
@@ -201,8 +196,8 @@ class UserRole(Resource):
|
||||
|
||||
# 更新用户数据
|
||||
CompanyUser.query.filter_by(id=user_id).update({'username': res.username,
|
||||
'realname': res.real_name,
|
||||
'dept_id': res.dept_id})
|
||||
'realname': res.real_name,
|
||||
'dept_id': res.dept_id})
|
||||
db.session.commit()
|
||||
|
||||
update_user_role(user_id, role_ids)
|
||||
|
||||
Reference in New Issue
Block a user