59 lines
2.3 KiB
TypeScript
59 lines
2.3 KiB
TypeScript
import { Controller, Route, Security, Tags, SuccessResponse, Response, Get } from "tsoa";
|
|
import { AppDataSource } from "../database/data-source";
|
|
import HttpSuccess from "../interfaces/http-success";
|
|
import HttpStatus from "../interfaces/http-status";
|
|
import { BloodGroup } from "../entities/BloodGroup";
|
|
import { Gender } from "../entities/Gender";
|
|
import { Prefixe } from "../entities/Prefixe";
|
|
import { Relationship } from "../entities/Relationship";
|
|
import { Religion } from "../entities/Religion";
|
|
import { Rank } from "../entities/Rank";
|
|
import { EducationLevel } from "../entities/EducationLevel";
|
|
import { Province } from "../entities/Province";
|
|
|
|
@Route("api/v1/org/metadata")
|
|
@Tags("Profile")
|
|
@Security("bearerAuth")
|
|
@Response(
|
|
HttpStatus.INTERNAL_SERVER_ERROR,
|
|
"เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง",
|
|
)
|
|
@SuccessResponse(HttpStatus.OK, "สำเร็จ")
|
|
export class MainController extends Controller {
|
|
private bloodGroupRepo = AppDataSource.getRepository(BloodGroup);
|
|
private genderRepo = AppDataSource.getRepository(Gender);
|
|
private prefixeRepo = AppDataSource.getRepository(Prefixe);
|
|
private relationshipRepo = AppDataSource.getRepository(Relationship);
|
|
private religionRepo = AppDataSource.getRepository(Religion);
|
|
private rankRepo = AppDataSource.getRepository(Rank);
|
|
private educationLevelRepo = AppDataSource.getRepository(EducationLevel);
|
|
private provinceRepo = AppDataSource.getRepository(Province);
|
|
/**
|
|
* API ข้อมูลหลัก
|
|
*
|
|
* @summary ORG_065 - ข้อมูลหลัก
|
|
*
|
|
*/
|
|
@Get("main/person")
|
|
async getMainPerson() {
|
|
const bloodGroups = await this.bloodGroupRepo.find();
|
|
const genders = await this.genderRepo.find();
|
|
const prefixs = await this.prefixeRepo.find();
|
|
const relationships = await this.relationshipRepo.find();
|
|
const religions = await this.religionRepo.find();
|
|
const rank = await this.rankRepo.find();
|
|
const educationLevels = await this.educationLevelRepo.find();
|
|
const provinces = await this.provinceRepo.find();
|
|
|
|
return new HttpSuccess({
|
|
bloodGroups,
|
|
genders,
|
|
prefixs,
|
|
relationships,
|
|
religions,
|
|
rank,
|
|
educationLevels,
|
|
provinces,
|
|
});
|
|
}
|
|
}
|