This commit is contained in:
wayanrivan
2026-04-22 11:27:12 +07:00
parent 898649045c
commit 2b13632d8d
2 changed files with 62 additions and 40 deletions

View File

@ -142,17 +142,34 @@ export class ReferenceRangeController {
id: Joi.string().uuid().required().label("Reference Range Id"), id: Joi.string().uuid().required().label("Reference Range Id"),
}); });
let param: any = await schema.validateAsync(req.params); const param: any = await schema.validateAsync(req.params);
let referenceRange = await ReferenceRangeModel.list({ "ReferenceRange.id": param.id }).then((q) => q.getOne()); // ❗ FIX: jangan pakai "ReferenceRange.id"
const referenceRange = await ReferenceRangeModel
.list({ id: param.id })
.then((q) => q.getOne());
if (!referenceRange) throw { message: "Reference Range Not Found" }; if (!referenceRange) {
throw { message: "Reference Range Not Found" };
}
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, referenceRange); return ReturnHelper.successResponseAny(
res,
200,
Language.lang.success_view,
referenceRange
);
} catch (e: unknown) { } catch (e: unknown) {
log.error(e); log.error(e);
const err = e as Error; const err = e as Error;
return ReturnHelper.errorResponse(res, 400, 401, Language.lang.failed_not_found, err.message);
return ReturnHelper.errorResponse(
res,
400,
401,
Language.lang.failed_not_found,
err.message
);
} }
} }

View File

@ -1,8 +1,6 @@
import { ReferenceRange } from "entity"; import { ReferenceRange } from "entity";
import { SelectQueryBuilder } from "typeorm"; import { SelectQueryBuilder } from "typeorm";
import CommonHelper from "../helpers/common";
import { OrmHelper } from "../helpers/orm"; import { OrmHelper } from "../helpers/orm";
import { ILogObj, Logger } from "tslog";
export class ReferenceRangeModel { export class ReferenceRangeModel {
static async list(filter: Record<string, any> = {}): Promise<SelectQueryBuilder<any>> { static async list(filter: Record<string, any> = {}): Promise<SelectQueryBuilder<any>> {
@ -13,10 +11,17 @@ export class ReferenceRangeModel {
if (filter && Object.keys(filter).length > 0) { if (filter && Object.keys(filter).length > 0) {
Object.entries(filter).forEach(([key, value]) => { Object.entries(filter).forEach(([key, value]) => {
if (value !== undefined && value !== null && value !== "") { if (value !== undefined && value !== null && value !== "") {
query.andWhere(`ReferenceRange.${key} = :${key}`, { [key]: value });
// 🔥 Handle kalau ada yang kirim "ReferenceRange.id"
const field = key.includes(".") ? key.split(".")[1] : key;
query.andWhere(`ReferenceRange.${field} = :${field}`, {
[field]: value,
});
} }
}); });
} }
return query; return query;
} }
} }