Merge branch 'feat/issues' into develop
All checks were successful
Build & Deploy on Dev / build (push) Successful in 1m5s

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2026-01-28 10:58:00 +07:00
commit a0a79bf6b6

View file

@ -16,6 +16,7 @@ import HttpStatusCode from "../interfaces/http-status";
import { AppDataSource } from "../database/data-source"; import { AppDataSource } from "../database/data-source";
import { Issues, CreateIssueRequest, UpdateIssueRequest } from "../entities/Issues"; import { Issues, CreateIssueRequest, UpdateIssueRequest } from "../entities/Issues";
import HttpSuccess from "../interfaces/http-success"; import HttpSuccess from "../interfaces/http-success";
import { RequestWithUser } from "../middlewares/user";
@Route("api/v1/org/issues") @Route("api/v1/org/issues")
@Tags("issues") @Tags("issues")
@ -38,22 +39,33 @@ export class IssuesController extends Controller {
} }
@Post("") @Post("")
async createIssue(@Body() requestBody: CreateIssueRequest) { async createIssue(@Body() requestBody: CreateIssueRequest, @Request() request: RequestWithUser) {
let issue = this.issuesRepository.create(requestBody); let issue = this.issuesRepository.create(requestBody);
issue.createdUserId = request.user.sub;
issue.createdFullName = request.user.name;
issue.createdAt = new Date();
issue.lastUpdateUserId = "";
issue.lastUpdateFullName = "";
await this.issuesRepository.save(issue); await this.issuesRepository.save(issue);
return new HttpSuccess(issue); return new HttpSuccess(issue);
} }
@Put("{id}") @Put("{id}")
async updateIssue(@Path("id") id: string, @Body() requestBody: Partial<UpdateIssueRequest>) { async updateIssue(
@Path("id") id: string,
@Body() requestBody: Partial<UpdateIssueRequest>,
@Request() request: RequestWithUser,
) {
let issue = await this.issuesRepository.findOneBy({ id }); let issue = await this.issuesRepository.findOneBy({ id });
if (!issue) { if (!issue) {
this.setStatus(HttpStatusCode.NOT_FOUND); this.setStatus(HttpStatusCode.NOT_FOUND);
return { message: "ไม่พบข้อมูลที่ต้องการแก้ไข" }; return { message: "ไม่พบข้อมูลที่ต้องการแก้ไข" };
} }
Object.assign(issue, requestBody); Object.assign(issue, requestBody);
issue.lastUpdateUserId = request.user.sub;
issue.lastUpdateFullName = request.user.name;
issue.lastUpdatedAt = new Date();
await this.issuesRepository.save(issue); await this.issuesRepository.save(issue);
return new HttpSuccess(issue); return new HttpSuccess(issue);
} }