import projectApi from "../../../common/routes/project"; import {DComponent} from "../../common/decorate/component"; import {DHttpApi, DHttpController, DHttpReqParam, DHttpReqParamRequired} from "../../common/http/http"; import {ProjectLabelService} from "../service/label"; @DComponent @DHttpController(projectApi) class TagController { @DHttpApi(projectApi.routes.listLabel) async listTag(@DHttpReqParamRequired("projectId") projectId:string,@DHttpReqParamRequired("page") page:number,@DHttpReqParamRequired("size") size:number,@DHttpReqParam("keyword") keyword:string):Promise { let tag=new ProjectLabelService() tag.assignItem({ project_id:projectId }) let ret=await tag.listTag(page,size,keyword); return ret; } @DHttpApi(projectApi.routes.createLabel) async createTag(@DHttpReqParamRequired("projectId") projectId:string,@DHttpReqParamRequired("name") name:string):Promise{ let tag=new ProjectLabelService() tag.assignItem({ project_id:projectId, name:name }) let ret= await tag.create(); return ret; } @DHttpApi(projectApi.routes.editLabel) async editTag(@DHttpReqParamRequired("labelId") labelId:string,@DHttpReqParamRequired("name") name:string):Promise{ let tag=new ProjectLabelService() tag.assignItem({ id:labelId, name:name }) let ret= await tag.update(); return ret; } @DHttpApi(projectApi.routes.removeLabel) async removeTag(@DHttpReqParamRequired("labelId") labelId:string):Promise{ let tag=new ProjectLabelService() tag.assignItem({ id:labelId }) await tag.delete(); return } }