@7365admin1/core 3.35.0 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +74 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +74 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -24555,6 +24555,18 @@ function useSiteCameraRepo() {
|
|
|
24555
24555
|
throw new BadRequestError71("Failed to retrieve site cameras.");
|
|
24556
24556
|
}
|
|
24557
24557
|
}
|
|
24558
|
+
async function getCamerasBySiteId(site) {
|
|
24559
|
+
const _site = toObjectId9(site);
|
|
24560
|
+
try {
|
|
24561
|
+
const items = await collection.find({ site: _site, status: "active", type: "anpr" }).toArray();
|
|
24562
|
+
return items;
|
|
24563
|
+
} catch (error) {
|
|
24564
|
+
if (error instanceof BadRequestError71) {
|
|
24565
|
+
throw error;
|
|
24566
|
+
}
|
|
24567
|
+
throw new BadRequestError71("Failed to retrieve site cameras.");
|
|
24568
|
+
}
|
|
24569
|
+
}
|
|
24558
24570
|
async function getBySiteGuardPost(site, guardPost) {
|
|
24559
24571
|
try {
|
|
24560
24572
|
site = new ObjectId44(site);
|
|
@@ -24911,6 +24923,7 @@ function useSiteCameraRepo() {
|
|
|
24911
24923
|
getBySite,
|
|
24912
24924
|
getVisitorsInBySite,
|
|
24913
24925
|
getBySites,
|
|
24926
|
+
getCamerasBySiteId,
|
|
24914
24927
|
delCachedData,
|
|
24915
24928
|
getBySiteGuardPost,
|
|
24916
24929
|
updateById,
|
|
@@ -25236,6 +25249,22 @@ function usePersonRepo() {
|
|
|
25236
25249
|
);
|
|
25237
25250
|
}
|
|
25238
25251
|
}
|
|
25252
|
+
async function getApprovedPersonByPlateNumber(plateNumber, excludePersonId) {
|
|
25253
|
+
try {
|
|
25254
|
+
const query = {
|
|
25255
|
+
plateNumber,
|
|
25256
|
+
status: "approved"
|
|
25257
|
+
};
|
|
25258
|
+
if (excludePersonId) {
|
|
25259
|
+
query._id = { $ne: toObjectId10(excludePersonId) };
|
|
25260
|
+
}
|
|
25261
|
+
return await collection.findOne(query);
|
|
25262
|
+
} catch (error) {
|
|
25263
|
+
throw new InternalServerError26(
|
|
25264
|
+
"Failed to fetch approved person by plate number."
|
|
25265
|
+
);
|
|
25266
|
+
}
|
|
25267
|
+
}
|
|
25239
25268
|
async function getByNRIC(value) {
|
|
25240
25269
|
try {
|
|
25241
25270
|
if (!value || value.trim() === "") {
|
|
@@ -25616,6 +25645,7 @@ function usePersonRepo() {
|
|
|
25616
25645
|
getById,
|
|
25617
25646
|
createTextIndex,
|
|
25618
25647
|
getPersonByPlateNumber,
|
|
25648
|
+
getApprovedPersonByPlateNumber,
|
|
25619
25649
|
getByNRIC,
|
|
25620
25650
|
createIndexes,
|
|
25621
25651
|
getPersonByPhoneNumber,
|
|
@@ -26800,7 +26830,8 @@ function useVehicleService() {
|
|
|
26800
26830
|
throw new Error("Unable to start session for vehicle service.");
|
|
26801
26831
|
}
|
|
26802
26832
|
}
|
|
26803
|
-
const
|
|
26833
|
+
const plateNumbers = Array.isArray(value.plateNumber) ? value.plateNumber : value.plateNumber ? [value.plateNumber] : [];
|
|
26834
|
+
const [_vehiclePlateNumber] = plateNumbers;
|
|
26804
26835
|
const [existingPlateNumber, org] = await Promise.all([
|
|
26805
26836
|
_getVehicleByPlateNumber(_vehiclePlateNumber),
|
|
26806
26837
|
_getById(value.org)
|
|
@@ -26865,7 +26896,6 @@ function useVehicleService() {
|
|
|
26865
26896
|
}
|
|
26866
26897
|
}
|
|
26867
26898
|
const owner = value.name;
|
|
26868
|
-
const plateNumbers = value.plateNumber;
|
|
26869
26899
|
try {
|
|
26870
26900
|
if (!isExternalSession) {
|
|
26871
26901
|
session.startTransaction();
|
|
@@ -27082,7 +27112,10 @@ function useVehicleService() {
|
|
|
27082
27112
|
const dahuaResponse = await _addPlateNumber(dahuaPayload);
|
|
27083
27113
|
if (dahuaResponse?.statusCode != 200) {
|
|
27084
27114
|
console.log("dahuaResponse", dahuaResponse);
|
|
27085
|
-
console.log(
|
|
27115
|
+
console.log(
|
|
27116
|
+
"approveVehicleById dahuaResponse dahuaResponse?.statusCode != 200",
|
|
27117
|
+
dahuaResponse?.statusCode
|
|
27118
|
+
);
|
|
27086
27119
|
throw new BadRequestError75("Failed to add plate number to ANPR");
|
|
27087
27120
|
}
|
|
27088
27121
|
const responseData = dahuaResponse?.data.toString("utf-8");
|
|
@@ -27289,7 +27322,19 @@ function useVehicleService() {
|
|
|
27289
27322
|
if (value.peopleId) {
|
|
27290
27323
|
value.peopleId = new ObjectId49(value.peopleId);
|
|
27291
27324
|
}
|
|
27292
|
-
const {
|
|
27325
|
+
const {
|
|
27326
|
+
name,
|
|
27327
|
+
plateNumber,
|
|
27328
|
+
start,
|
|
27329
|
+
end,
|
|
27330
|
+
recNo,
|
|
27331
|
+
type,
|
|
27332
|
+
unit,
|
|
27333
|
+
site,
|
|
27334
|
+
block,
|
|
27335
|
+
level,
|
|
27336
|
+
...rest
|
|
27337
|
+
} = value;
|
|
27293
27338
|
if (_name != name || _plateNumber != plateNumber) {
|
|
27294
27339
|
const startDahua = value.start ? formatDahuaDate(new Date(value.start)) : formatDahuaDate(new Date(_start));
|
|
27295
27340
|
const endDahua = value.end ? formatDahuaDate(new Date(value.end)) : formatDahuaDate(new Date(_end));
|
|
@@ -27316,7 +27361,11 @@ function useVehicleService() {
|
|
|
27316
27361
|
for (const camera of siteCameras) {
|
|
27317
27362
|
const { host, username, password } = camera;
|
|
27318
27363
|
if (_plateNumber != plateNumber) {
|
|
27319
|
-
console.log(
|
|
27364
|
+
console.log(
|
|
27365
|
+
"updateVehicleById _plateNumber != plateNumber",
|
|
27366
|
+
_plateNumber,
|
|
27367
|
+
plateNumber
|
|
27368
|
+
);
|
|
27320
27369
|
const removePlateNumber = {
|
|
27321
27370
|
host,
|
|
27322
27371
|
username,
|
|
@@ -27363,7 +27412,11 @@ function useVehicleService() {
|
|
|
27363
27412
|
);
|
|
27364
27413
|
}
|
|
27365
27414
|
} else {
|
|
27366
|
-
console.log(
|
|
27415
|
+
console.log(
|
|
27416
|
+
"updateVehicleById _plateNumber == plateNumber",
|
|
27417
|
+
_plateNumber,
|
|
27418
|
+
plateNumber
|
|
27419
|
+
);
|
|
27367
27420
|
const dahuaPayload = {
|
|
27368
27421
|
host,
|
|
27369
27422
|
username,
|
|
@@ -36249,7 +36302,8 @@ function usePersonService() {
|
|
|
36249
36302
|
getById: _getById,
|
|
36250
36303
|
updateById: _updateById,
|
|
36251
36304
|
getByUserId: _getByUserId,
|
|
36252
|
-
reviewResidentPerson: _reviewResidentPerson
|
|
36305
|
+
reviewResidentPerson: _reviewResidentPerson,
|
|
36306
|
+
getApprovedPersonByPlateNumber
|
|
36253
36307
|
} = usePersonRepo();
|
|
36254
36308
|
const { addPlateNumber: _addPlateNumber } = useDahuaService();
|
|
36255
36309
|
const {
|
|
@@ -36262,7 +36316,7 @@ function usePersonService() {
|
|
|
36262
36316
|
} = useUserRepo();
|
|
36263
36317
|
const { add: addMember } = useMemberRepo();
|
|
36264
36318
|
const { getById: _getUnitById, updateById: updateUnitById } = useBuildingUnitRepo();
|
|
36265
|
-
const { getAllCameraWithPassword: _getAllSiteCameras } = useSiteCameraRepo();
|
|
36319
|
+
const { getAllCameraWithPassword: _getAllSiteCameras, getCamerasBySiteId } = useSiteCameraRepo();
|
|
36266
36320
|
const { updateStatusById } = useFileRepo();
|
|
36267
36321
|
const { getById: getOrgById } = useOrgRepo();
|
|
36268
36322
|
const { getSiteById } = useSiteRepo();
|
|
@@ -36357,7 +36411,7 @@ function usePersonService() {
|
|
|
36357
36411
|
"./public/handlebars/registration-pending"
|
|
36358
36412
|
)
|
|
36359
36413
|
});
|
|
36360
|
-
mailer.sendMail({
|
|
36414
|
+
await mailer.sendMail({
|
|
36361
36415
|
to: value.email,
|
|
36362
36416
|
subject: "Registration Received \u2013 Pending Review",
|
|
36363
36417
|
html: emailContent,
|
|
@@ -36517,7 +36571,7 @@ function usePersonService() {
|
|
|
36517
36571
|
value.approvedBy.id = approvedBy._id;
|
|
36518
36572
|
}
|
|
36519
36573
|
const vehicle = {
|
|
36520
|
-
plateNumber: person.plateNumber
|
|
36574
|
+
plateNumber: person.plateNumber ?? "",
|
|
36521
36575
|
type: "whitelist",
|
|
36522
36576
|
category: person.type || "",
|
|
36523
36577
|
name: person.name,
|
|
@@ -36549,7 +36603,16 @@ function usePersonService() {
|
|
|
36549
36603
|
case "approved":
|
|
36550
36604
|
userStatus = "active";
|
|
36551
36605
|
if (person.plateNumber && person.plateNumber.trim() !== "") {
|
|
36552
|
-
await
|
|
36606
|
+
const anprCameraList = await getCamerasBySiteId(
|
|
36607
|
+
person.site.toString()
|
|
36608
|
+
);
|
|
36609
|
+
const existingPerson = await getApprovedPersonByPlateNumber(
|
|
36610
|
+
person.plateNumber,
|
|
36611
|
+
id
|
|
36612
|
+
);
|
|
36613
|
+
if (anprCameraList.length > 0 && !existingPerson) {
|
|
36614
|
+
await addVehicle(vehicle, session);
|
|
36615
|
+
}
|
|
36553
36616
|
}
|
|
36554
36617
|
title = "Your account has been approved";
|
|
36555
36618
|
hideLogin = false;
|