diff --git a/src/controllers/reference_range.ts b/src/controllers/reference_range.ts index aed5f1a..7fdad7e 100644 --- a/src/controllers/reference_range.ts +++ b/src/controllers/reference_range.ts @@ -114,8 +114,8 @@ export class ReferenceRangeController { referenceRange.value_min = param.value_min; referenceRange.value_max = param.value_max; referenceRange.status = param.status; - referenceRange.created_by = req.auth.data.name; - referenceRange.updated_by = req.auth.data.name; + referenceRange.created_by = req.auth?.data.name; + referenceRange.updated_by = req.auth?.data.name; await queryRunner.manager.save(referenceRange); await queryRunner.commitTransaction(); @@ -191,7 +191,7 @@ export class ReferenceRangeController { referenceRange.value_min = param.value_min; referenceRange.value_max = param.value_max; referenceRange.status = param.status; - referenceRange.updated_by = req.auth.data.name; + referenceRange.updated_by = req.auth?.data.name; await queryRunner.manager.save(referenceRange); await queryRunner.commitTransaction(); @@ -228,7 +228,7 @@ export class ReferenceRangeController { if (!referenceRange) throw { message: "Reference Range " + Language.lang.failed_not_found }; - referenceRange.deleted_by = req.auth.data.name; + referenceRange.deleted_by = req.auth?.data.name; referenceRange.deleted_at = moment().toDate(); await OrmHelper.DB.manager.save(referenceRange); affected = 1; diff --git a/src/model/reference_range.ts b/src/model/reference_range.ts index c2fb1fe..f35eb46 100644 --- a/src/model/reference_range.ts +++ b/src/model/reference_range.ts @@ -4,20 +4,19 @@ import CommonHelper from "../helpers/common"; import { OrmHelper } from "../helpers/orm"; export class ReferenceRangeModel { - static async list(filter = {}): Promise> { + static async list(filter: Record = {}): Promise> { const repo = OrmHelper.DB.getRepository(ReferenceRange); - let whereAttr: string[] = []; - let whereVal: any = {}; + + const query = repo.createQueryBuilder("ReferenceRange"); + if (filter && Object.keys(filter).length > 0) { - whereAttr = [...whereAttr, ...CommonHelper.handleQueryFilter(filter).whereAttr]; - whereVal = { ...whereVal, ...CommonHelper.handleQueryFilter(filter).whereVal }; + Object.entries(filter).forEach(([key, value]) => { + if (value !== undefined && value !== null && value !== "") { + query.andWhere(`ReferenceRange.${key} = :${key}`, { [key]: value }); + } + }); } - - var query = repo.createQueryBuilder("ReferenceRange"); - if (whereAttr.length != 0) { - query = query.where(whereAttr.join(" and "), whereVal); - } - + return query; } }