hrms-api-probation/src/controllers/CalculateController.ts

48 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-09-05 13:59:43 +07:00
import {
Controller,
Route,
Security,
Tags,
Request,
SuccessResponse,
Response,
Get,
Post,
Body,
} from "tsoa";
import HttpSuccess from "../interfaces/http-success";
import HttpStatusCode from "../interfaces/http-status";
import { RequestWithUser } from "../middlewares/user";
import { findEndDate } from "../interfaces/utils";
2024-09-05 16:56:22 +07:00
@Route("api/v1/probation/calculate")
2024-09-05 13:59:43 +07:00
@Tags("ฟอร์มมอบหมายงาน")
@Security("bearerAuth")
@Response(
HttpStatusCode.INTERNAL_SERVER_ERROR,
2024-09-05 16:56:22 +07:00
"เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง",
2024-09-05 13:59:43 +07:00
)
@SuccessResponse(HttpStatusCode.OK, "สำเร็จ")
export class CalculateController extends Controller {
/**
* API
*
* @summary
*
*/
@Post("assign-finish")
async AssignFinish(
@Body()
requestBody: {
month: number;
start_date: Date;
},
2024-09-05 16:56:22 +07:00
@Request() request: RequestWithUser,
2024-09-05 13:59:43 +07:00
) {
const { month, start_date } = requestBody;
const finish_date = findEndDate(month, start_date);
return new HttpSuccess({ finish_date });
}
}