from apps.auth.auth_require import required from apps.project.business.version import VersionBusiness from apps.project.extentions import parse_json_form, validation from library.api.render import json_detail_render from library.api.tBlueprint import tblueprint bpname = 'version' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' version = tblueprint(bpname, __name__, has_view=False) # 版本新增 @version.route('/', methods=['POST']) @required(modify_permission) @validation('POST:versioncreate') def version_add_handler(): """ @api {post} /v1/version/ 新增版本 @apiName CreateVersion @apiGroup 项目 @apiDescription 新增版本 @apiParam {string} title 标题 @apiParam {int} project_id 项目ID @apiParam {string} start_time 版本开始时间 @apiParam {string} end_time 版本结束时间 @apiParam {int} creator 创建人 @apiParam {int} publish_status 发布状态0:未发布1:已发布 @apiParam {string} description 描述 @apiParam {string} comment 备注 @apiParamExample {json} Request-Example:
from flask import request, current_app, g from apps.auth.auth_require import required from apps.auth.business.auth import AuthBusiness from apps.auth.business.users import UserBusiness from apps.auth.extentions import parse_list_args, validation, parse_json_form from library.api.render import json_list_render, json_detail_render from library.api.tBlueprint import tblueprint bpname = 'user' bpname_relate = 'projectconfig' view_permission = f'{bpname_relate}_view' modify_permission = f'{bpname_relate}_modify' user = tblueprint(bpname, __name__, bpname=bpname_relate, has_view=False) @user.route('/', methods=['GET']) def user_list_handler(): """ @api {get} /v1/user/ 获取 用户信息 @apiName GetUserInfo @apiGroup 用户 @apiDescription 分页查询用户信息,可选参数角色 @apiParam {int} [role] roleid @apiSuccess {list} role 用户权限列表 @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "code": 0, "data": [ {
from flask import request from apps.auth.auth_require import required from apps.project.business.requirement import RequirementBusiness, RequirementRecordBusiness, RequirementReviewBusiness from apps.project.extentions import parse_list_args2, parse_json_form, validation from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'requirement' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' requirement = tblueprint(bpname, __name__) # 需求新增 @requirement.route('/', methods=['POST']) @required(modify_permission) @validation('POST:requirementcreate') def requirement_add_handler(): """ @api {post} /requirement/ 新增需求 @apiName CreateRequirement @apiGroup 项目 @apiDescription 新增需求 @apiParam {string} title 标题 @apiParam {int} project_id 项目ID @apiParam {string} version 所属版本 @apiParam {int} requirement_type 类型 @apiParam {int} creator 创建人 @apiParam {int} handler 处理人 @apiParam {int} board_status 需求看板状态
from flask import request from apps.flow.business.deploy import DeployBusiness, DeployRecordBusiness, DeployLogBusiness from apps.flow.extentions import validation, parse_json_form, parse_list_args2 from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'deploy' bpname_relate = 'flow' view_permission = f'{bpname_relate}_view' modify_permission = f'{bpname_relate}_modify' deploy = tblueprint(bpname, __name__, bpname=bpname_relate) @deploy.route('/getserver', methods=['GET']) def deploy_get_server_handler(): """ @api {get} /v1/deploy/getserver 获取服务列表 @apiName deployGetServer @apiGroup Deploy @apiDescription 获取服务列表 @apiParam {int} project_id 项目id @apiParamExample {json} Request-Example: { "project_id": 1, } @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "code": 0, "data": [
from apps.auth.business.ability import AbilityBusiness from apps.auth.extentions import parse_list_args from library.api.render import json_list_render from library.api.tBlueprint import tblueprint bpname = 'ability' ability = tblueprint(bpname, __name__) @ability.route('/', methods=['GET']) def ability_index_handler(): """ @api {get} /v1/ability 查询 Ability列表 @apiName GetAbility @apiGroup 用户 @apiDescription 查询Ability列表 @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "code": 0, "data": [ { "handler": "user", "id": 1, "name": "用户模块" } ], "limit": 99999, "message": "ok", "offset": 0 }
from flask import request from apps.auth.auth_require import required from apps.project.business.modules import ModuleBusiness from apps.project.extentions import parse_json_form, validation from library.api.render import json_detail_render from library.api.tBlueprint import tblueprint bpname = 'module' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' module = tblueprint(bpname, __name__) @module.route('/', methods=['POST']) @required(modify_permission) @validation('POST:modulecreate') def module_indexs_handler(): """ @api {post} /v1/module/ 新增 模块 @apiName CreateModule @apiGroup 项目 @apiDescription 新增模块,分为父模块还是子模块 @apiParam {string} name 名称 @apiParam {int} project_id 项目od @apiParam {string} description 描述 @apiParam {int} parent_id 父模块id @apiParamExample {json} Request-Example: { "name":"用力模块", "project_id":4,
from flask import request from apps.auth.auth_require import required from apps.project.business.cases import CaseBusiness from apps.project.extentions import parse_list_args2, parse_json_form, validation from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'case' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' case = tblueprint(bpname, __name__) @case.route('/', methods=['POST']) @required(modify_permission) @validation('POST:casecreate') def case_create_handler(): """ @api {post} /v1/case/ 新增 用例 @apiName CreateCase @apiGroup 项目 @apiDescription 新增用例 @apiParam {int} module_id 模块id @apiParam {string} ctype 用例类型 @apiParam {string} title 标题 @apiParam {string} precondition 前置条件 @apiParam {string} step_result 用例步骤及预期结果 json->string格式存入 @apiParam {int} creator 创建人 @apiParam {int} priority 优先级 0:紧急 1:高 2:中 3:低 @apiParam {list} requirement_ids 需求 ID 列表
from apps.auth.auth_require import required from apps.project.business.tasks import TaskBusiness, TaskDashBoardBusiness from apps.project.extentions import parse_list_args2, parse_json_form, validation from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'task' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' task = tblueprint(bpname, __name__) # 新增task @task.route('/', methods=['POST']) @required(modify_permission) @validation('POST:task_create') def task_add_handler(): """ @api {post} /v1/task/ 新增 任务 @apiName CreateTask @apiGroup 项目 @apiDescription 新增任务 @apiParam {string} description 任务描述 @apiParam {string} tmethod 任务方法:自动化or人工测试 @apiParam {string} ttype 任务类型:功能测试,兼容性测试… @apiParam {int} creator 创建任务的人 @apiParam {int} executor 执行任务的人 @apiParam {int} priority 优先级0:紧急1:高2:中3:低 @apiParam {list} case_list 关联的case列表 @apiParam {string} name 名称 @apiParam {int} project_id 项目ID
from apps.auth.auth_require import is_admin, required_without_projectid from apps.project.business.assets import PhoneBusiness, PhoneRecordBusiness, VirtualAssetBusiness, PhoneBorrowBusiness from apps.project.extentions import parse_list_args2, parse_json_form, validation from library.api.render import json_list_render2, json_detail_render from library.api.tBlueprint import tblueprint bpname = 'asset' modify_permission = f'{bpname}_modify' phone = tblueprint('phone', __name__, bpname, with_pid=False, has_view=False) virtualasset = tblueprint('virtual', __name__, bpname, with_pid=False, has_view=False) """ blueprint自带的before_request 做get和delete这些没有争议的请求方式权限控制 post可能包含查询、新增、修改等,所以单独加上装饰器管理 """ @phone.route('/', methods=['GET']) def phone_index_handler(): """ @api {get} /v1/asset/phone 查询 资产设备列表 @apiName GetPhoneList @apiGroup 项目 @apiDescription 查询 资产设备列表 @apiParam {int} [page_size] 分页-单页大小 @apiParam {int} [page_index] 分页-页数 @apiParam {string} [name] 资产名称 @apiParam {string} [vendor] 制造商 @apiParam {string} [os] 操作系统 @apiParam {string} [resolution] 分辨率 @apiParam {int} [borrower_id] 持有人 ID
from apps.auth.auth_require import required from apps.project.business.boardconfig import BoardConfigBusiness from apps.project.extentions import validation, parse_json_form from library.api.render import json_detail_render from library.api.tBlueprint import tblueprint bpname = 'boardconfig' bpname_relate = 'projectconfig' modify_permission = f'{bpname}_modify' board_config = tblueprint(bpname, __name__, bpname=bpname_relate, has_view=False) @board_config.route('/<int:project_id>', methods=['GET']) def get_project_config(project_id): """ @api {get} /v1/boardconfig/{project_id} 获取 项目看板配置 @apiName GetBoardConfig @apiGroup 项目 @apiDescription 获取当前项目的看板配置情况,包括requirement和issue @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "code": 0, "data": [ { "issue": { "1": "代办", "2": "修复中",
from flask import request from apps.auth.auth_require import required from apps.project.business.issue import IssueBusiness, IssueRecordBusiness, IssueDashBoardBusiness from apps.project.extentions import parse_json_form, validation, parse_list_args2 from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'issue' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' issue = tblueprint(bpname, __name__) # 新增issue @issue.route('/', methods=['POST']) @required(modify_permission) @validation('POST:issue_create') def issue_add_handler(): """ @api {post} /v1/issue 新增 缺陷 @apiName CreateIssue @apiGroup 项目 @apiDescription 新增 缺陷 @apiParam {int} module_id 模块 ID @apiParam {int} handler 处理人 ID @apiParam {int} issue_type 类型 @apiParam {int} chance 出现几率 @apiParam {int} level 级别 @apiParam {int} priority 优先级 @apiParam {int} system 系统
from apps.auth.auth_require import required from apps.project.business.project import ProjectBusiness from apps.project.extentions import parse_json_form, validation from library.api.render import json_detail_render from library.api.tBlueprint import tblueprint bpname = 'project' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' project = tblueprint(bpname, __name__, with_pid=False, has_view=False) @project.route('/', methods=['POST']) @required(modify_permission) @validation('POST:addproject') def project_indexs_handler(): """ @api {post} /v1/project/ 新增项目 @apiName CreateProject @apiGroup 项目 @apiDescription 新增项目 @apiParam {string} name 项目名称 @apiParam {string} description 描述 @apiParam {string} logo logo图片 @apiParamExample {json} Request-Example: { "name": "电梯贷款", "description": "description", "logo":"pic" } @apiSuccessExample {json} Success-Response:
from apps.auth.auth_require import required from apps.project.business.issue import IssueBusiness from apps.project.business.tasks import TaskCaseRecordBusiness, TaskDashBoardBusiness, TaskCaseBusiness from apps.project.extentions import parse_json_form, validation from library.api.render import json_detail_render from library.api.tBlueprint import tblueprint bpname = 'taskcase' bpname_relate = 'case' excute_permission = f'{bpname_relate}_excute' taskcase = tblueprint(bpname, __name__, bpname=bpname_relate, has_delete=False) # 根据taskcaseid进行修改,删除操作 @taskcase.route('/<int:task_case_id>', methods=['POST']) @required(excute_permission) @validation('POST:task_case_modify') def task_case_modify_handler(task_case_id): """ @api {post} /v1/taskcase/{taskcaseid} 修改 单个任务用例 @apiName ModifyTaskCase @apiGroup 项目 @apiDescription 修改单个任务用例 @apiParam {int} executor 用例执行者保存的为用户id @apiParam {int} exe_way 执行方式,0:批量执行1:单个执行 @apiParam {string} case_number 编号 @apiParam {int} module_id 用例模块 @apiParam {string} case_type 用例类型 @apiParam {string} title 标题 @apiParam {string} case_describe 用例描述 @apiParam {string} precondition 前置条件
from flask import request from apps.auth.auth_require import required from apps.project.business.tag import TagBusiness from apps.project.extentions import parse_json_form, validation from library.api.tBlueprint import tblueprint bpname = 'tag' modify_permission = f'{bpname}_modify' tag = tblueprint(bpname, __name__) # 获取到的tag标签 @tag.route('/', methods=['GET']) def gain_tag(): """ @api {get} /v1/tag/ 获取 标签 @apiName GetTag @apiGroup 项目 @apiDescription 根据当前project_id来获取所有标签 @apiParam {int} project_id 项目ID @apiParam {string} tag tag名称模糊查询 @apiSuccessExample {json} Success-Response: HTTP/1.1 200 OK { "code": 0, "data": [ { "id": 16, "tag": "老功能新操作" },
from flask import request from apps.auth.auth_require import required from apps.flow.business.deploy import DeployLogBusiness from apps.flow.business.flow import FlowBusiness from apps.flow.extentions import validation, parse_json_form, parse_list_args2 from library.api.render import json_detail_render, json_list_render2 from library.api.tBlueprint import tblueprint bpname = 'flow' view_permission = f'{bpname}_view' modify_permission = f'{bpname}_modify' flow = tblueprint(bpname, __name__) # 流程新增 @flow.route('/', methods=['POST']) @validation('POST:flow_create') @required(modify_permission) def flow_add_handler(): """ @api {post} /v1/flow/ 新增 流程 @apiName CreateFlow @apiGroup 流程 @apiDescription 新增流程 @apiParam {int} flow_type 流程类型 @apiParam {int} flow_assemble_id 流程集合 @apiParam {int} [priority] 优先级 @apiParam {int} project_id 项目ID @apiParam {int} version_id 版本ID @apiParam {int} creator 创建用户ID