57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
|
|
import {
|
||
|
|
Body,
|
||
|
|
Controller,
|
||
|
|
Delete,
|
||
|
|
Get,
|
||
|
|
Patch,
|
||
|
|
Path,
|
||
|
|
Post,
|
||
|
|
Query,
|
||
|
|
Request,
|
||
|
|
Route,
|
||
|
|
Security,
|
||
|
|
Tags,
|
||
|
|
} from "tsoa";
|
||
|
|
import { AppDataSource } from "../database/data-source";
|
||
|
|
import HttpSuccess from "../interfaces/http-success";
|
||
|
|
import HttpStatus from "../interfaces/http-status";
|
||
|
|
import HttpError from "../interfaces/http-error";
|
||
|
|
import { RequestWithUser } from "../middlewares/user";
|
||
|
|
import { MetaWorkflow } from "../entities/MetaWorkflow";
|
||
|
|
import { MetaState } from "../entities/MetaState";
|
||
|
|
import { MetaStateOperator } from "../entities/MetaStateOperator";
|
||
|
|
@Route("api/v1/org/view-workflow")
|
||
|
|
@Tags("View Workflow")
|
||
|
|
@Security("bearerAuth")
|
||
|
|
export class ViewWorkFlowController extends Controller {
|
||
|
|
private metaWorkflowRepository = AppDataSource.getRepository(MetaWorkflow);
|
||
|
|
private metaStateRepository = AppDataSource.getRepository(MetaState);
|
||
|
|
private metaStateOperatorRepository = AppDataSource.getRepository(MetaStateOperator);
|
||
|
|
|
||
|
|
@Get("lists")
|
||
|
|
public async getSystems(@Request() req: RequestWithUser) {
|
||
|
|
const lists = await this.metaWorkflowRepository
|
||
|
|
.createQueryBuilder("metaWorkflow")
|
||
|
|
.select(["metaWorkflow.name", "metaWorkflow.sysName"])
|
||
|
|
.groupBy("metaWorkflow.name")
|
||
|
|
.getMany();
|
||
|
|
|
||
|
|
return new HttpSuccess(lists);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get("")
|
||
|
|
public async getLists(
|
||
|
|
@Request() req: RequestWithUser,
|
||
|
|
@Query("sysName") sysName: string,
|
||
|
|
@Query("posTypeName") posTypeName: string,
|
||
|
|
@Query("posLevelName") posLevelName: string,
|
||
|
|
) {
|
||
|
|
const lists = await this.metaWorkflowRepository.find({
|
||
|
|
select: ["id", "name", "sysName", "posTypeName", "posLevelName"],
|
||
|
|
where: { sysName: sysName, posTypeName: posTypeName, posLevelName: posLevelName },
|
||
|
|
relations: ["metaStates", "metaStates.metaStateOperators"],
|
||
|
|
});
|
||
|
|
return new HttpSuccess(lists);
|
||
|
|
}
|
||
|
|
}
|