Teamlinker/code/common/routes/project.ts
sx1989827 1cbacd5df8 fix
2022-05-16 22:26:02 +08:00

248 lines
7.9 KiB
TypeScript

import { ICommon_Model_Issue_Type } from '../model/issue_type';
import { ECommon_Model_Project_Member_Type } from '../model/project_member';
import { ICommon_Model_Project_Role } from '../model/project_role';
import { Permission_Types } from '../permission/permission';
import { ICommon_Model_Project } from './../model/project';
import { ICommon_Model_Project_Module } from './../model/project_module';
import { ECommon_Services } from './../types';
import { ICommon_Route_Res_Project_CreateModule_Data, ICommon_Route_Res_Project_List, ICommon_Route_Res_Project_ListMemeber, ICommon_Route_Res_Project_ListTag, ICommon_Route_Res_Project_User_Item, ICommon_Route_Res_recentProjectList_Item } from './response';
import { ECommon_HttpApi_Method } from "./types";
const api={
baseUrl:"/project",
service:ECommon_Services.Cooperation,
routes:{
basic:{//项目基本信息
method:ECommon_HttpApi_Method.GET,
path:"/basic",
req:<{
projectId:string
}>{},
res:<ICommon_Model_Project>{},
permission:[Permission_Types.Project.READ]
},
create:{//创建项目
method:ECommon_HttpApi_Method.POST,
path:"/create",
req:<{
keyword :string,
name :string,
photo? :string,
description? :string,
}>{},
res:<ICommon_Model_Project>{}
},
edit:{//编辑项目
method:ECommon_HttpApi_Method.PUT,
path:"/edit",
req:<{
keyword? :string,
name? :string,
photo? :string,
description? :string,
projectId:string
}>{},
res:<ICommon_Model_Project>{},
permission:[Permission_Types.Project.EDIT]
},
remove:{//删除项目
method:ECommon_HttpApi_Method.DELETE,
path:"/remove",
req:<{
projectId:string
}>{},
res:{},
permission:{
data:[Permission_Types.Project.EDIT],
delete:true
}
},
listTag:{//tag列表
method:ECommon_HttpApi_Method.GET,
path:"/tag/list",
req:<{
projectId:string,
page:number,
size:number,
keyword?:string
}>{},
res:<ICommon_Route_Res_Project_ListTag>{},
permission:[Permission_Types.Project.READ]
},
createTag:{//创建tag
method:ECommon_HttpApi_Method.POST,
path:"/tag/item",
req:<{
projectId:string,
name:string
}>{},
res:<{
id:string,
name:string
}>{},
permission:[Permission_Types.Project.EDIT]
},
editTag:{//编辑tag
method:ECommon_HttpApi_Method.PUT,
path:"/tag/item",
req:<{
tagId:string,
name:string
}>{},
res:<{
id:string,
name:string
}>{},
permission:[Permission_Types.Project.EDIT]
},
removeTag:{//删除tag
method:ECommon_HttpApi_Method.DELETE,
path:"/tag/item",
req:<{
tagId:string
}>{},
res:{},
permission:[Permission_Types.Project.EDIT]
},
listModule:{//module列表
method:ECommon_HttpApi_Method.GET,
path:"/module/list",
req:<{
projectId:string
}>{},
res:<ICommon_Route_Res_Project_CreateModule_Data[]>{},
permission:[Permission_Types.Project.READ]
},
createModule:{//创建module
method:ECommon_HttpApi_Method.POST,
path:"/module/item",
req:<{
projectId:string,
parentModuleId?:string,
name:string
}>{},
res:<ICommon_Model_Project_Module>{},
permission:[Permission_Types.Project.EDIT]
},
editModule:{//编辑module
method:ECommon_HttpApi_Method.PUT,
path:"/module/item",
req:<{
parentModuleId?:string,
name?:string
moduleId:string
}>{},
res:<ICommon_Model_Project_Module>{},
permission:[Permission_Types.Project.EDIT]
},
removeModule:{//删除module
method:ECommon_HttpApi_Method.DELETE,
path:"/module/item",
req:<{
moduleId:string
}>{},
res:{},
permission:[Permission_Types.Project.EDIT]
},
listMember:{//成员列表
method:ECommon_HttpApi_Method.GET,
path:"/member/list",
req:<{
projectId:string,
page:number,
size:number
}>{},
res:<ICommon_Route_Res_Project_ListMemeber>{},
permission:[Permission_Types.Project.READ]
},
addMember:{//添加成员(用户,团队)
method:ECommon_HttpApi_Method.POST,
path:"/member/item",
req:<{
projectId:string,
memberId:string,
type:ECommon_Model_Project_Member_Type,
roleId:string
}>{},
res:{},
permission:{
data:[Permission_Types.Project.EDIT],
delete:true
}
},
editMember:{//编辑成员
method:ECommon_HttpApi_Method.PUT,
path:"/member/item",
req:<{
projectId:string,
memberId:string,
roleId:string
}>{},
res:{},
permission:{
data:[Permission_Types.Project.EDIT],
delete:true
}
},
removeMember:{//删除成员
method:ECommon_HttpApi_Method.DELETE,
path:"/member/item",
req:<{
projectId:string,
memberId:string,
}>{},
res:{},
permission:{
data:[Permission_Types.Project.EDIT],
delete:true
}
},
list:{
method:ECommon_HttpApi_Method.GET,
path:"/list",
req:<{
keyword?:string,
page:number,
size:number,
userId?:string
}>{},
res:<ICommon_Route_Res_Project_List>{},
},
roles:{
method:ECommon_HttpApi_Method.GET,
path:"/roles",
req:<{
projectId:string
}>{},
res:<ICommon_Model_Project_Role[]>{},
permission:[Permission_Types.Project.READ]
},
issueTypelist:{
method:ECommon_HttpApi_Method.GET,
path:"/issuetype/list",
req:<{
projectId:string
}>{},
res:<ICommon_Model_Issue_Type[]>{},
permission:[Permission_Types.Project.READ]
},
recentProjectList:{
method:ECommon_HttpApi_Method.GET,
path:"/recent/list",
req:<{
}>{},
res:<ICommon_Route_Res_recentProjectList_Item[]>{}
},
listUser:{
method:ECommon_HttpApi_Method.GET,
path:"/user/list",
req:<{
projectId:string,
keyword?:string
}>{},
res:<ICommon_Route_Res_Project_User_Item[]>{},
permission:[Permission_Types.Project.READ]
}
}
}
export default api