เช็คตำแหน่งซ้ำ

This commit is contained in:
Kittapath 2024-02-20 13:35:11 +07:00
parent 885e1e725c
commit 5df57fc4d6
3 changed files with 408 additions and 9 deletions

View file

@ -2762,4 +2762,73 @@ export class OrganizationController extends Controller {
return error;
}
}
/**
* API node
*
* @summary node (ADMIN)
*
*/
@Post("find/node")
async findNodeAll(@Body() requestBody: { node: number; nodeId: string }) {
try {
switch (requestBody.node) {
case 0: {
const data = await this.orgRootRepository.findOne({
where: { id: requestBody.nodeId },
});
if (data == null) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found rootId.");
}
return new HttpSuccess([data.id]);
}
case 1: {
const data = await this.child1Repository.findOne({
where: { id: requestBody.nodeId },
});
if (data == null) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found child1.");
}
return new HttpSuccess([data.orgRootId, data.id]);
}
case 2: {
const data = await this.child2Repository.findOne({
where: { id: requestBody.nodeId },
});
if (data == null) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found child2.");
}
return new HttpSuccess([data.orgRootId, data.orgChild1Id, data.id]);
}
case 3: {
const data = await this.child3Repository.findOne({
where: { id: requestBody.nodeId },
});
if (data == null) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found child3.");
}
return new HttpSuccess([data.orgRootId, data.orgChild1Id, data.orgChild2Id, data.id]);
}
case 4: {
const data = await this.child4Repository.findOne({
where: { id: requestBody.nodeId },
});
if (data == null) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found child4.");
}
return new HttpSuccess([
data.orgRootId,
data.orgChild1Id,
data.orgChild2Id,
data.orgChild3Id,
data.id,
]);
}
default:
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found type: " + requestBody.node);
}
} catch (error) {
return error;
}
}
}