update
This commit is contained in:
@ -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
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user