assignPermission
This commit is contained in:
parent
eb554bc0e3
commit
51a6453f39
1 changed files with 71 additions and 0 deletions
71
src/controllers/AssignPermissionsController.ts
Normal file
71
src/controllers/AssignPermissionsController.ts
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
import { Controller, Route, Security, Tags, Request, Get, Path } from "tsoa";
|
||||
import { RequestWithUser } from "../middlewares/user";
|
||||
import { AppDataSource } from "../database/data-source";
|
||||
import HttpSuccess from "../interfaces/http-success";
|
||||
import CallAPI from "../interfaces/call-api";
|
||||
|
||||
import { AssignDirector } from "../entities/AssignDirector";
|
||||
import { Assign } from "../entities/Assign";
|
||||
|
||||
@Route("api/v1/probation/permissions")
|
||||
@Tags("สิทธิฟอร์มมอบหมายงาน")
|
||||
@Security("bearerAuth")
|
||||
export class AssignPermissionsController extends Controller {
|
||||
private assignDirector = AppDataSource.getRepository(AssignDirector);
|
||||
private assignRepository = AppDataSource.getRepository(Assign);
|
||||
|
||||
@Get("{id}")
|
||||
async GetAssignPermissions(
|
||||
@Request() request: RequestWithUser,
|
||||
@Path() id: string
|
||||
) {
|
||||
const director = await this.assignDirector.find({
|
||||
where: { assign_id: id },
|
||||
});
|
||||
|
||||
const personalId = await new CallAPI()
|
||||
.GetData(request, "/org/profile/keycloak")
|
||||
.catch((error) => {
|
||||
console.error("Error calling API:", error);
|
||||
});
|
||||
|
||||
const role = director.find((e: any) => e.role === personalId)?.role;
|
||||
|
||||
const reportPersonId = await this.assignRepository.findOneBy({
|
||||
reportPersonId: personalId,
|
||||
});
|
||||
|
||||
const response = {
|
||||
tab1: {
|
||||
isEdit: role === "commander",
|
||||
isView: true,
|
||||
},
|
||||
tab2: {
|
||||
isEdit: role === "mentor",
|
||||
isView: true,
|
||||
},
|
||||
tab3: {
|
||||
isEdit: role === "commander",
|
||||
isView: role === "commander" || role === "chairman",
|
||||
},
|
||||
tab4: {
|
||||
isEdit: role === "commander",
|
||||
isView: role === "commander" || role === "chairman",
|
||||
},
|
||||
tab5: {
|
||||
isEdit: Boolean(reportPersonId),
|
||||
isView: true,
|
||||
},
|
||||
tab6: {
|
||||
isEdit: true,
|
||||
isView: true,
|
||||
},
|
||||
tab7: {
|
||||
isEdit: false,
|
||||
isView: true,
|
||||
},
|
||||
};
|
||||
|
||||
return new HttpSuccess(response);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue