@7365admin1/core 2.81.0 → 2.82.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/dist/index.js CHANGED
@@ -536,13 +536,13 @@ var require_logger = __commonJS({
536
536
  "use strict";
537
537
  exports.__esModule = true;
538
538
  var _utils = require_utils();
539
- var logger197 = {
539
+ var logger198 = {
540
540
  methodMap: ["debug", "info", "warn", "error"],
541
541
  level: "info",
542
542
  // Maps a given level value to the `methodMap` indexes above.
543
543
  lookupLevel: function lookupLevel(level) {
544
544
  if (typeof level === "string") {
545
- var levelMap = _utils.indexOf(logger197.methodMap, level.toLowerCase());
545
+ var levelMap = _utils.indexOf(logger198.methodMap, level.toLowerCase());
546
546
  if (levelMap >= 0) {
547
547
  level = levelMap;
548
548
  } else {
@@ -553,9 +553,9 @@ var require_logger = __commonJS({
553
553
  },
554
554
  // Can be overridden in the host environment
555
555
  log: function log(level) {
556
- level = logger197.lookupLevel(level);
557
- if (typeof console !== "undefined" && logger197.lookupLevel(logger197.level) <= level) {
558
- var method = logger197.methodMap[level];
556
+ level = logger198.lookupLevel(level);
557
+ if (typeof console !== "undefined" && logger198.lookupLevel(logger198.level) <= level) {
558
+ var method = logger198.methodMap[level];
559
559
  if (!console[method]) {
560
560
  method = "log";
561
561
  }
@@ -566,7 +566,7 @@ var require_logger = __commonJS({
566
566
  }
567
567
  }
568
568
  };
569
- exports["default"] = logger197;
569
+ exports["default"] = logger198;
570
570
  module2.exports = exports["default"];
571
571
  }
572
572
  });
@@ -5931,6 +5931,7 @@ __export(src_exports, {
5931
5931
  MBulletinBoard: () => MBulletinBoard,
5932
5932
  MBulletinVideo: () => MBulletinVideo,
5933
5933
  MCategoryPreloved: () => MCategoryPreloved,
5934
+ MChannelPreloved: () => MChannelPreloved,
5934
5935
  MChat: () => MChat,
5935
5936
  MChatPreloved: () => MChatPreloved,
5936
5937
  MCustomer: () => MCustomer,
@@ -6077,6 +6078,7 @@ __export(src_exports, {
6077
6078
  schemaBulletinBoard: () => schemaBulletinBoard,
6078
6079
  schemaBulletinVideo: () => schemaBulletinVideo,
6079
6080
  schemaCategoryPreloved: () => schemaCategoryPreloved,
6081
+ schemaChannelPreloved: () => schemaChannelPreloved,
6080
6082
  schemaChatPreloved: () => schemaChatPreloved,
6081
6083
  schemaCustomerSite: () => schemaCustomerSite,
6082
6084
  schemaDocumentManagement: () => schemaDocumentManagement,
@@ -6185,6 +6187,8 @@ __export(src_exports, {
6185
6187
  useBulletinVideoService: () => useBulletinVideoService,
6186
6188
  useCategoryPrelovedController: () => useCategoryPrelovedController,
6187
6189
  useCategoryPrelovedRepo: () => useCategoryPrelovedRepo,
6190
+ useChannelPrelovedController: () => useChannelPrelovedController,
6191
+ useChannelPrelovedRepo: () => useChannelPrelovedRepo,
6188
6192
  useChatController: () => useChatController,
6189
6193
  useChatPrelovedController: () => useChatPrelovedController,
6190
6194
  useChatPrelovedRepo: () => useChatPrelovedRepo,
@@ -9477,27 +9481,23 @@ function useMemberRepo() {
9477
9481
  limit = 10,
9478
9482
  user = "",
9479
9483
  org = "",
9484
+ siteId = "",
9480
9485
  type = "",
9481
9486
  status = ""
9482
9487
  }) {
9483
9488
  limit = limit > 0 ? limit : 10;
9484
9489
  search = search || "";
9485
9490
  page = page > 0 ? page - 1 : 0;
9486
- const query = { type, status };
9491
+ const query = {
9492
+ type,
9493
+ status
9494
+ };
9487
9495
  const cacheOptions = {
9488
9496
  page,
9489
9497
  limit,
9490
9498
  type,
9491
9499
  status
9492
9500
  };
9493
- if (user) {
9494
- try {
9495
- query.user = new import_mongodb11.ObjectId(user);
9496
- cacheOptions.user = user.toString();
9497
- } catch (error) {
9498
- throw new import_node_server_utils12.BadRequestError("Invalid user ID format.");
9499
- }
9500
- }
9501
9501
  if (org) {
9502
9502
  try {
9503
9503
  query.org = new import_mongodb11.ObjectId(org);
@@ -9506,6 +9506,22 @@ function useMemberRepo() {
9506
9506
  throw new import_node_server_utils12.BadRequestError("Invalid organization ID format.");
9507
9507
  }
9508
9508
  }
9509
+ if (siteId) {
9510
+ try {
9511
+ query.siteId = new import_mongodb11.ObjectId(siteId);
9512
+ cacheOptions.siteId = siteId.toString();
9513
+ } catch (error) {
9514
+ throw new import_node_server_utils12.BadRequestError("Invalid site ID format.");
9515
+ }
9516
+ }
9517
+ if (user) {
9518
+ try {
9519
+ query.user = new import_mongodb11.ObjectId(user);
9520
+ cacheOptions.user = user.toString();
9521
+ } catch (error) {
9522
+ throw new import_node_server_utils12.BadRequestError("Invalid user ID format.");
9523
+ }
9524
+ }
9509
9525
  if (search) {
9510
9526
  query.$text = { $search: search };
9511
9527
  cacheOptions.search = search;
@@ -14413,6 +14429,7 @@ function useMemberController() {
14413
14429
  limit: import_joi15.default.number().integer().min(1).max(50).allow("", null).default(10),
14414
14430
  user: import_joi15.default.string().hex().optional().allow("", null),
14415
14431
  org: import_joi15.default.string().hex().optional().allow("", null),
14432
+ siteId: import_joi15.default.string().hex().optional().allow("", null),
14416
14433
  type: import_joi15.default.string().required(),
14417
14434
  status: import_joi15.default.string().required()
14418
14435
  });
@@ -14428,6 +14445,7 @@ function useMemberController() {
14428
14445
  const limit = parseInt(req.query.limit ?? "10");
14429
14446
  const user = req.query.user ?? "";
14430
14447
  const org = req.query.org ?? "";
14448
+ const siteId = req.query.siteId ?? "";
14431
14449
  const type = req.query.type ?? "main";
14432
14450
  const status = req.query.status ?? "active";
14433
14451
  try {
@@ -14437,6 +14455,7 @@ function useMemberController() {
14437
14455
  limit,
14438
14456
  user,
14439
14457
  org,
14458
+ siteId,
14440
14459
  type,
14441
14460
  status
14442
14461
  });
@@ -63556,57 +63575,142 @@ function useChatPrelovedController() {
63556
63575
  return { add, updateById, deleteById };
63557
63576
  }
63558
63577
 
63559
- // src/models/online-forms-v2.model.ts
63578
+ // src/models/channel-preloved.model.ts
63560
63579
  var import_joi143 = __toESM(require("joi"));
63561
63580
  var import_mongodb143 = require("mongodb");
63581
+ var schemaChannelPreloved = import_joi143.default.object({
63582
+ receiverId: import_joi143.default.string().hex().length(24).required(),
63583
+ senderId: import_joi143.default.string().hex().length(24).required(),
63584
+ postId: import_joi143.default.string().hex().length(24).required()
63585
+ });
63586
+ function toObjectId22(value, label) {
63587
+ if (typeof value === "string") {
63588
+ try {
63589
+ return new import_mongodb143.ObjectId(value);
63590
+ } catch {
63591
+ throw new Error(`Invalid ${label}.`);
63592
+ }
63593
+ }
63594
+ return value;
63595
+ }
63596
+ function MChannelPreloved(value) {
63597
+ const { error } = schemaChannelPreloved.validate(value);
63598
+ if (error)
63599
+ throw new Error(error.details[0].message);
63600
+ if (value.receiverId)
63601
+ value.receiverId = toObjectId22(value.receiverId, "receiver ID");
63602
+ if (value.senderId)
63603
+ value.senderId = toObjectId22(value.senderId, "sender ID");
63604
+ if (value.postId)
63605
+ value.postId = toObjectId22(value.postId, "post ID");
63606
+ return {
63607
+ _id: new import_mongodb143.ObjectId(),
63608
+ name: `seven365-${(/* @__PURE__ */ new Date()).getTime()}`,
63609
+ receiverId: value.receiverId,
63610
+ senderId: value.senderId,
63611
+ postId: value.postId,
63612
+ createdAt: /* @__PURE__ */ new Date(),
63613
+ updatedAt: null
63614
+ };
63615
+ }
63616
+
63617
+ // src/repositories/channel-preloved.repo.ts
63618
+ var import_node_server_utils247 = require("@7365admin1/node-server-utils");
63619
+ function useChannelPrelovedRepo() {
63620
+ const db = import_node_server_utils247.useAtlas.getDb();
63621
+ if (!db)
63622
+ throw new import_node_server_utils247.InternalServerError("Unable to connect to server.");
63623
+ const CHANNEL_COLLECTION = "channel-preloved";
63624
+ const collection = db.collection(CHANNEL_COLLECTION);
63625
+ async function add(value, session) {
63626
+ try {
63627
+ const doc = MChannelPreloved(value);
63628
+ const res = await collection.insertOne(doc, { session });
63629
+ return res.insertedId;
63630
+ } catch (error) {
63631
+ throw error;
63632
+ }
63633
+ }
63634
+ return { add };
63635
+ }
63636
+
63637
+ // src/controllers/channel-preloved.controller.ts
63638
+ var import_node_server_utils248 = require("@7365admin1/node-server-utils");
63639
+ function useChannelPrelovedController() {
63640
+ const { add: _add } = useChannelPrelovedRepo();
63641
+ async function add(req, res, next) {
63642
+ const { error, value } = schemaChannelPreloved.validate(req.body, {
63643
+ abortEarly: false
63644
+ });
63645
+ if (error) {
63646
+ const messages = error.details.map((d) => d.message).join(", ");
63647
+ import_node_server_utils248.logger.log({ level: "error", message: messages });
63648
+ next(new import_node_server_utils248.BadRequestError(messages));
63649
+ return;
63650
+ }
63651
+ try {
63652
+ const data = await _add(value);
63653
+ res.status(201).json(data);
63654
+ } catch (error2) {
63655
+ import_node_server_utils248.logger.log({ level: "error", message: error2.message });
63656
+ next(error2);
63657
+ }
63658
+ }
63659
+ return { add };
63660
+ }
63661
+
63662
+ // src/models/online-forms-v2.model.ts
63663
+ var import_joi144 = __toESM(require("joi"));
63664
+ var import_mongodb144 = require("mongodb");
63562
63665
  var FormEntryStatus = /* @__PURE__ */ ((FormEntryStatus2) => {
63563
63666
  FormEntryStatus2["ACTIVE"] = "active";
63564
63667
  FormEntryStatus2["INACTIVE"] = "inactive";
63565
63668
  FormEntryStatus2["DELETED"] = "deleted";
63566
63669
  return FormEntryStatus2;
63567
63670
  })(FormEntryStatus || {});
63568
- var schemaFormEntry = import_joi143.default.object({
63569
- _id: import_joi143.default.string().hex().optional().allow("", null),
63570
- formType: import_joi143.default.string().required(),
63571
- block: import_joi143.default.string().optional().allow(null, ""),
63572
- level: import_joi143.default.string().optional().allow(null, ""),
63573
- unit: import_joi143.default.string().optional().allow(null, ""),
63574
- name: import_joi143.default.string().optional().allow(null, ""),
63575
- phoneNumber: import_joi143.default.string().optional().allow(null, ""),
63576
- fields: import_joi143.default.object().pattern(
63577
- import_joi143.default.string(),
63578
- import_joi143.default.alternatives().try(
63579
- import_joi143.default.string(),
63580
- import_joi143.default.number(),
63581
- import_joi143.default.boolean(),
63582
- import_joi143.default.valid(null)
63671
+ var schemaFormEntry = import_joi144.default.object({
63672
+ _id: import_joi144.default.string().hex().optional().allow("", null),
63673
+ formType: import_joi144.default.string().required(),
63674
+ block: import_joi144.default.string().optional().allow(null, ""),
63675
+ level: import_joi144.default.string().optional().allow(null, ""),
63676
+ unit: import_joi144.default.string().optional().allow(null, ""),
63677
+ name: import_joi144.default.string().optional().allow(null, ""),
63678
+ phoneNumber: import_joi144.default.string().optional().allow(null, ""),
63679
+ createdBy: import_joi144.default.string().required(),
63680
+ fields: import_joi144.default.object().pattern(
63681
+ import_joi144.default.string(),
63682
+ import_joi144.default.alternatives().try(
63683
+ import_joi144.default.string(),
63684
+ import_joi144.default.number(),
63685
+ import_joi144.default.boolean(),
63686
+ import_joi144.default.valid(null)
63583
63687
  )
63584
63688
  ).required(),
63585
- status: import_joi143.default.string().optional().allow("", null),
63586
- org: import_joi143.default.string().hex().optional().allow("", null),
63587
- site: import_joi143.default.string().hex().optional().allow("", null),
63588
- createdAt: import_joi143.default.date().optional().allow("", null),
63589
- updatedAt: import_joi143.default.date().optional().allow("", null),
63590
- deletedAt: import_joi143.default.date().optional().allow("", null)
63689
+ status: import_joi144.default.string().optional().allow("", null),
63690
+ org: import_joi144.default.string().hex().optional().allow("", null),
63691
+ site: import_joi144.default.string().hex().optional().allow("", null),
63692
+ createdAt: import_joi144.default.date().optional().allow("", null),
63693
+ updatedAt: import_joi144.default.date().optional().allow("", null),
63694
+ deletedAt: import_joi144.default.date().optional().allow("", null)
63591
63695
  });
63592
- var schemaUpdateFormEntry = import_joi143.default.object({
63593
- _id: import_joi143.default.string().hex().required(),
63594
- formType: import_joi143.default.string().optional().allow("", null),
63595
- block: import_joi143.default.string().optional().allow(null, ""),
63596
- level: import_joi143.default.string().optional().allow(null, ""),
63597
- unit: import_joi143.default.string().optional().allow(null, ""),
63598
- fields: import_joi143.default.object().pattern(
63599
- import_joi143.default.string(),
63600
- import_joi143.default.alternatives().try(
63601
- import_joi143.default.string(),
63602
- import_joi143.default.number(),
63603
- import_joi143.default.boolean(),
63604
- import_joi143.default.valid(null)
63696
+ var schemaUpdateFormEntry = import_joi144.default.object({
63697
+ _id: import_joi144.default.string().hex().required(),
63698
+ formType: import_joi144.default.string().optional().allow("", null),
63699
+ block: import_joi144.default.string().optional().allow(null, ""),
63700
+ level: import_joi144.default.string().optional().allow(null, ""),
63701
+ unit: import_joi144.default.string().optional().allow(null, ""),
63702
+ fields: import_joi144.default.object().pattern(
63703
+ import_joi144.default.string(),
63704
+ import_joi144.default.alternatives().try(
63705
+ import_joi144.default.string(),
63706
+ import_joi144.default.number(),
63707
+ import_joi144.default.boolean(),
63708
+ import_joi144.default.valid(null)
63605
63709
  )
63606
63710
  ).optional(),
63607
- status: import_joi143.default.string().optional().allow("", null),
63608
- updatedAt: import_joi143.default.date().optional().allow("", null),
63609
- deletedAt: import_joi143.default.date().optional().allow("", null)
63711
+ status: import_joi144.default.string().optional().allow("", null),
63712
+ updatedAt: import_joi144.default.date().optional().allow("", null),
63713
+ deletedAt: import_joi144.default.date().optional().allow("", null)
63610
63714
  });
63611
63715
  function MFormEntry(value) {
63612
63716
  const { error } = schemaFormEntry.validate(value);
@@ -63615,21 +63719,21 @@ function MFormEntry(value) {
63615
63719
  }
63616
63720
  if (value._id && typeof value._id === "string") {
63617
63721
  try {
63618
- value._id = new import_mongodb143.ObjectId(value._id);
63722
+ value._id = new import_mongodb144.ObjectId(value._id);
63619
63723
  } catch {
63620
63724
  throw new Error("Invalid ID.");
63621
63725
  }
63622
63726
  }
63623
63727
  if (value.org && typeof value.org === "string") {
63624
63728
  try {
63625
- value.org = new import_mongodb143.ObjectId(value.org);
63729
+ value.org = new import_mongodb144.ObjectId(value.org);
63626
63730
  } catch {
63627
63731
  throw new Error("Invalid org ID.");
63628
63732
  }
63629
63733
  }
63630
63734
  if (value.site && typeof value.site === "string") {
63631
63735
  try {
63632
- value.site = new import_mongodb143.ObjectId(value.site);
63736
+ value.site = new import_mongodb144.ObjectId(value.site);
63633
63737
  } catch {
63634
63738
  throw new Error("Invalid site ID.");
63635
63739
  }
@@ -63653,16 +63757,16 @@ function MFormEntry(value) {
63653
63757
  }
63654
63758
 
63655
63759
  // src/repositories/online-forms-v2.repository.ts
63656
- var import_node_server_utils247 = require("@7365admin1/node-server-utils");
63657
- var import_mongodb144 = require("mongodb");
63760
+ var import_node_server_utils249 = require("@7365admin1/node-server-utils");
63761
+ var import_mongodb145 = require("mongodb");
63658
63762
  var online_forms_namespace_collection = "online-forms";
63659
63763
  function useFormEntryRepo() {
63660
- const db = import_node_server_utils247.useAtlas.getDb();
63764
+ const db = import_node_server_utils249.useAtlas.getDb();
63661
63765
  if (!db) {
63662
- throw new import_node_server_utils247.InternalServerError("Unable to connect to server.");
63766
+ throw new import_node_server_utils249.InternalServerError("Unable to connect to server.");
63663
63767
  }
63664
63768
  const collection = db.collection(online_forms_namespace_collection);
63665
- const { delNamespace, getCache, setCache } = (0, import_node_server_utils247.useCache)(
63769
+ const { delNamespace, getCache, setCache } = (0, import_node_server_utils249.useCache)(
63666
63770
  online_forms_namespace_collection
63667
63771
  );
63668
63772
  async function createTextIndex() {
@@ -63671,7 +63775,7 @@ function useFormEntryRepo() {
63671
63775
  name: "text"
63672
63776
  });
63673
63777
  } catch (error) {
63674
- throw new import_node_server_utils247.InternalServerError(
63778
+ throw new import_node_server_utils249.InternalServerError(
63675
63779
  "Failed to create text index on online form."
63676
63780
  );
63677
63781
  }
@@ -63681,11 +63785,11 @@ function useFormEntryRepo() {
63681
63785
  value = MFormEntry(value);
63682
63786
  const res = await collection.insertOne(value, { session });
63683
63787
  delNamespace().then(() => {
63684
- import_node_server_utils247.logger.info(
63788
+ import_node_server_utils249.logger.info(
63685
63789
  `Cache cleared for namespace: ${online_forms_namespace_collection}`
63686
63790
  );
63687
63791
  }).catch((err) => {
63688
- import_node_server_utils247.logger.error(
63792
+ import_node_server_utils249.logger.error(
63689
63793
  `Failed to clear cache for namespace: ${online_forms_namespace_collection}`,
63690
63794
  err
63691
63795
  );
@@ -63694,7 +63798,7 @@ function useFormEntryRepo() {
63694
63798
  } catch (error) {
63695
63799
  const isDuplicated = error.message.includes("duplicate");
63696
63800
  if (isDuplicated) {
63697
- throw new import_node_server_utils247.BadRequestError("Online Form already exists.");
63801
+ throw new import_node_server_utils249.BadRequestError("Online Form already exists.");
63698
63802
  }
63699
63803
  throw error;
63700
63804
  }
@@ -63720,16 +63824,16 @@ function useFormEntryRepo() {
63720
63824
  };
63721
63825
  const query = {
63722
63826
  ...status ? { $and: [{ status }, { status: { $ne: "deleted" } }] } : { status: { $ne: "deleted" } },
63723
- ...site && { site: new import_mongodb144.ObjectId(site) },
63827
+ ...site && { site: new import_mongodb145.ObjectId(site) },
63724
63828
  ...search && { search: [{ name: { $regex: search, $options: "i" } }] }
63725
63829
  };
63726
- const cacheKey = (0, import_node_server_utils247.makeCacheKey)(
63830
+ const cacheKey = (0, import_node_server_utils249.makeCacheKey)(
63727
63831
  online_forms_namespace_collection,
63728
63832
  cacheOptions
63729
63833
  );
63730
63834
  const cachedData = await getCache(cacheKey);
63731
63835
  if (cachedData) {
63732
- import_node_server_utils247.logger.info(`Cache hit for key: ${cacheKey}`);
63836
+ import_node_server_utils249.logger.info(`Cache hit for key: ${cacheKey}`);
63733
63837
  return cachedData;
63734
63838
  }
63735
63839
  try {
@@ -63740,11 +63844,11 @@ function useFormEntryRepo() {
63740
63844
  { $limit: limit }
63741
63845
  ]).toArray();
63742
63846
  const length = await collection.countDocuments(query);
63743
- const data = (0, import_node_server_utils247.paginate)(items, page, limit, length);
63847
+ const data = (0, import_node_server_utils249.paginate)(items, page, limit, length);
63744
63848
  setCache(cacheKey, data, 15 * 60).then(() => {
63745
- import_node_server_utils247.logger.info(`Cache set for key: ${cacheKey}`);
63849
+ import_node_server_utils249.logger.info(`Cache set for key: ${cacheKey}`);
63746
63850
  }).catch((err) => {
63747
- import_node_server_utils247.logger.error(`Failed to set cache for key: ${cacheKey}`, err);
63851
+ import_node_server_utils249.logger.error(`Failed to set cache for key: ${cacheKey}`, err);
63748
63852
  });
63749
63853
  return data;
63750
63854
  } catch (error) {
@@ -63752,27 +63856,27 @@ function useFormEntryRepo() {
63752
63856
  }
63753
63857
  }
63754
63858
  async function getFormEntryById(_id) {
63755
- const cacheKey = (0, import_node_server_utils247.makeCacheKey)(online_forms_namespace_collection, { _id });
63859
+ const cacheKey = (0, import_node_server_utils249.makeCacheKey)(online_forms_namespace_collection, { _id });
63756
63860
  const cachedData = await getCache(cacheKey);
63757
63861
  if (cachedData) {
63758
- import_node_server_utils247.logger.info(`Cache hit for key: ${cacheKey}`);
63862
+ import_node_server_utils249.logger.info(`Cache hit for key: ${cacheKey}`);
63759
63863
  return cachedData;
63760
63864
  }
63761
63865
  try {
63762
- _id = new import_mongodb144.ObjectId(_id);
63866
+ _id = new import_mongodb145.ObjectId(_id);
63763
63867
  } catch (error) {
63764
- throw new import_node_server_utils247.BadRequestError("Invalid online form ID format.");
63868
+ throw new import_node_server_utils249.BadRequestError("Invalid online form ID format.");
63765
63869
  }
63766
63870
  const query = { _id, status: { $ne: "deleted" } };
63767
63871
  try {
63768
63872
  const [data] = await collection.aggregate([{ $match: query }]).toArray();
63769
63873
  if (!data) {
63770
- throw new import_node_server_utils247.NotFoundError("Document not found.");
63874
+ throw new import_node_server_utils249.NotFoundError("Document not found.");
63771
63875
  }
63772
63876
  setCache(cacheKey, data, 15 * 60).then(() => {
63773
- import_node_server_utils247.logger.info(`Cache set for key: ${cacheKey}`);
63877
+ import_node_server_utils249.logger.info(`Cache set for key: ${cacheKey}`);
63774
63878
  }).catch((err) => {
63775
- import_node_server_utils247.logger.error(`Failed to set cache for key: ${cacheKey}`, err);
63879
+ import_node_server_utils249.logger.error(`Failed to set cache for key: ${cacheKey}`, err);
63776
63880
  });
63777
63881
  return data;
63778
63882
  } catch (error) {
@@ -63781,9 +63885,9 @@ function useFormEntryRepo() {
63781
63885
  }
63782
63886
  async function updateFormEntryById(_id, value) {
63783
63887
  try {
63784
- _id = new import_mongodb144.ObjectId(_id);
63888
+ _id = new import_mongodb145.ObjectId(_id);
63785
63889
  } catch (error) {
63786
- throw new import_node_server_utils247.BadRequestError("Invalid online form ID format.");
63890
+ throw new import_node_server_utils249.BadRequestError("Invalid online form ID format.");
63787
63891
  }
63788
63892
  try {
63789
63893
  const updateValue = {
@@ -63792,14 +63896,14 @@ function useFormEntryRepo() {
63792
63896
  };
63793
63897
  const res = await collection.updateOne({ _id }, { $set: updateValue });
63794
63898
  if (res.modifiedCount === 0) {
63795
- throw new import_node_server_utils247.InternalServerError("Unable to update online form.");
63899
+ throw new import_node_server_utils249.InternalServerError("Unable to update online form.");
63796
63900
  }
63797
63901
  delNamespace().then(() => {
63798
- import_node_server_utils247.logger.info(
63902
+ import_node_server_utils249.logger.info(
63799
63903
  `Cache cleared for namespace: ${online_forms_namespace_collection}`
63800
63904
  );
63801
63905
  }).catch((err) => {
63802
- import_node_server_utils247.logger.error(
63906
+ import_node_server_utils249.logger.error(
63803
63907
  `Failed to clear cache for namespace: ${online_forms_namespace_collection}`,
63804
63908
  err
63805
63909
  );
@@ -63811,9 +63915,9 @@ function useFormEntryRepo() {
63811
63915
  }
63812
63916
  async function deleteOnlineFormById(_id, session) {
63813
63917
  try {
63814
- _id = new import_mongodb144.ObjectId(_id);
63918
+ _id = new import_mongodb145.ObjectId(_id);
63815
63919
  } catch (error) {
63816
- throw new import_node_server_utils247.BadRequestError("Invalid online form ID format.");
63920
+ throw new import_node_server_utils249.BadRequestError("Invalid online form ID format.");
63817
63921
  }
63818
63922
  try {
63819
63923
  const updateValue = {
@@ -63827,12 +63931,12 @@ function useFormEntryRepo() {
63827
63931
  { session }
63828
63932
  );
63829
63933
  if (res.modifiedCount === 0) {
63830
- throw new import_node_server_utils247.InternalServerError("Unable to delete online form.");
63934
+ throw new import_node_server_utils249.InternalServerError("Unable to delete online form.");
63831
63935
  }
63832
63936
  delNamespace().then(() => {
63833
- import_node_server_utils247.logger.info(`Cache cleared for namespace: ${online_forms_namespace_collection}`);
63937
+ import_node_server_utils249.logger.info(`Cache cleared for namespace: ${online_forms_namespace_collection}`);
63834
63938
  }).catch((err) => {
63835
- import_node_server_utils247.logger.error(
63939
+ import_node_server_utils249.logger.error(
63836
63940
  `Failed to clear cache for namespace: ${online_forms_namespace_collection}`,
63837
63941
  err
63838
63942
  );
@@ -63853,8 +63957,8 @@ function useFormEntryRepo() {
63853
63957
  }
63854
63958
 
63855
63959
  // src/controllers/online-forms-v2.controller.ts
63856
- var import_node_server_utils248 = require("@7365admin1/node-server-utils");
63857
- var import_joi144 = __toESM(require("joi"));
63960
+ var import_node_server_utils250 = require("@7365admin1/node-server-utils");
63961
+ var import_joi145 = __toESM(require("joi"));
63858
63962
  var import_exceljs3 = __toESM(require("exceljs"));
63859
63963
  var import_fs7 = __toESM(require("fs"));
63860
63964
  function useFormEntryController() {
@@ -63878,14 +63982,14 @@ function useFormEntryController() {
63878
63982
  async function uploadFormEntrys(req, res, next) {
63879
63983
  try {
63880
63984
  if (!req.file) {
63881
- next(new import_node_server_utils248.BadRequestError("Excel file is required."));
63985
+ next(new import_node_server_utils250.BadRequestError("Excel file is required."));
63882
63986
  return;
63883
63987
  }
63884
63988
  const workbook = new import_exceljs3.default.Workbook();
63885
63989
  await workbook.xlsx.readFile(req.file.path);
63886
63990
  const worksheet = workbook.worksheets[0];
63887
63991
  if (!worksheet) {
63888
- next(new import_node_server_utils248.BadRequestError("No worksheet found in uploaded Excel file."));
63992
+ next(new import_node_server_utils250.BadRequestError("No worksheet found in uploaded Excel file."));
63889
63993
  return;
63890
63994
  }
63891
63995
  const headerRow = worksheet.getRow(1);
@@ -63913,8 +64017,8 @@ function useFormEntryController() {
63913
64017
  });
63914
64018
  if (error) {
63915
64019
  const messages = error.details.map((d) => d.message).join(", ");
63916
- import_node_server_utils248.logger.log({ level: "error", message: messages });
63917
- next(new import_node_server_utils248.BadRequestError(messages));
64020
+ import_node_server_utils250.logger.log({ level: "error", message: messages });
64021
+ next(new import_node_server_utils250.BadRequestError(messages));
63918
64022
  return;
63919
64023
  }
63920
64024
  const result = await _add(value);
@@ -63922,25 +64026,25 @@ function useFormEntryController() {
63922
64026
  import_fs7.default.unlink(req.file.path, () => {
63923
64027
  });
63924
64028
  } catch (error) {
63925
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64029
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
63926
64030
  next(error);
63927
64031
  }
63928
64032
  }
63929
64033
  async function getAll(req, res, next) {
63930
64034
  try {
63931
- const schema2 = import_joi144.default.object({
63932
- search: import_joi144.default.string().optional().allow("", null),
63933
- page: import_joi144.default.number().integer().min(1).allow("", null).default(1),
63934
- limit: import_joi144.default.number().integer().min(1).max(100).allow("", null).default(10),
63935
- status: import_joi144.default.string().optional().allow(null, ""),
63936
- org: import_joi144.default.string().hex().optional().allow("", null),
63937
- site: import_joi144.default.string().hex().optional().allow("", null)
64035
+ const schema2 = import_joi145.default.object({
64036
+ search: import_joi145.default.string().optional().allow("", null),
64037
+ page: import_joi145.default.number().integer().min(1).allow("", null).default(1),
64038
+ limit: import_joi145.default.number().integer().min(1).max(100).allow("", null).default(10),
64039
+ status: import_joi145.default.string().optional().allow(null, ""),
64040
+ org: import_joi145.default.string().hex().optional().allow("", null),
64041
+ site: import_joi145.default.string().hex().optional().allow("", null)
63938
64042
  });
63939
64043
  const { error, value } = schema2.validate(req.query);
63940
64044
  if (error) {
63941
64045
  const messages = error.details.map((d) => d.message).join(", ");
63942
- import_node_server_utils248.logger.log({ level: "error", message: messages });
63943
- next(new import_node_server_utils248.BadRequestError(messages));
64046
+ import_node_server_utils250.logger.log({ level: "error", message: messages });
64047
+ next(new import_node_server_utils250.BadRequestError(messages));
63944
64048
  return;
63945
64049
  }
63946
64050
  const { search, page, limit, status, org, site } = value;
@@ -63948,21 +64052,21 @@ function useFormEntryController() {
63948
64052
  res.json(data);
63949
64053
  return;
63950
64054
  } catch (error) {
63951
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64055
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
63952
64056
  next(error);
63953
64057
  return;
63954
64058
  }
63955
64059
  }
63956
64060
  async function getFormEntryById(req, res, next) {
63957
64061
  try {
63958
- const schema2 = import_joi144.default.object({
63959
- _id: import_joi144.default.string().hex().length(24).required()
64062
+ const schema2 = import_joi145.default.object({
64063
+ _id: import_joi145.default.string().hex().length(24).required()
63960
64064
  });
63961
64065
  const { error, value } = schema2.validate({ _id: req.params.id });
63962
64066
  if (error) {
63963
64067
  const messages = error.details.map((d) => d.message).join(", ");
63964
- import_node_server_utils248.logger.log({ level: "error", message: messages });
63965
- next(new import_node_server_utils248.BadRequestError(messages));
64068
+ import_node_server_utils250.logger.log({ level: "error", message: messages });
64069
+ next(new import_node_server_utils250.BadRequestError(messages));
63966
64070
  return;
63967
64071
  }
63968
64072
  const { _id } = value;
@@ -63970,7 +64074,7 @@ function useFormEntryController() {
63970
64074
  res.json(data);
63971
64075
  return;
63972
64076
  } catch (error) {
63973
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64077
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
63974
64078
  next(error);
63975
64079
  return;
63976
64080
  }
@@ -63983,8 +64087,8 @@ function useFormEntryController() {
63983
64087
  });
63984
64088
  if (error) {
63985
64089
  const messages = error.details.map((d) => d.message).join(", ");
63986
- import_node_server_utils248.logger.log({ level: "error", message: messages });
63987
- next(new import_node_server_utils248.BadRequestError(messages));
64090
+ import_node_server_utils250.logger.log({ level: "error", message: messages });
64091
+ next(new import_node_server_utils250.BadRequestError(messages));
63988
64092
  return;
63989
64093
  }
63990
64094
  const { _id, ...rest } = value;
@@ -63992,31 +64096,58 @@ function useFormEntryController() {
63992
64096
  res.json({ message: "Successfully updated online form." });
63993
64097
  return;
63994
64098
  } catch (error) {
63995
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64099
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
63996
64100
  next(error);
63997
64101
  return;
63998
64102
  }
63999
64103
  }
64000
64104
  async function deleteFormEntryById(req, res, next) {
64001
64105
  try {
64002
- const validation = import_joi144.default.string().hex().required();
64106
+ const validation = import_joi145.default.string().hex().required();
64003
64107
  const _id = req.params.id;
64004
64108
  const { error } = validation.validate(_id);
64005
64109
  if (error) {
64006
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64007
- next(new import_node_server_utils248.BadRequestError(error.message));
64110
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
64111
+ next(new import_node_server_utils250.BadRequestError(error.message));
64008
64112
  return;
64009
64113
  }
64010
64114
  await _deleteOnlineFormById(_id);
64011
64115
  res.json({ message: "Successfully deleted online form." });
64012
64116
  return;
64013
64117
  } catch (error) {
64014
- import_node_server_utils248.logger.log({ level: "error", message: error.message });
64118
+ import_node_server_utils250.logger.log({ level: "error", message: error.message });
64015
64119
  next(error);
64016
64120
  return;
64017
64121
  }
64018
64122
  }
64123
+ async function add(req, res, next) {
64124
+ const cookies = req.headers.cookie?.split(";").map((cookie) => cookie.trim().split("=")).reduce(
64125
+ (acc, [key, value]) => ({ ...acc, [key]: value }),
64126
+ {}
64127
+ );
64128
+ const createdBy = cookies?.["user"].toString() ?? "";
64129
+ const payload = { ...req.body, createdBy };
64130
+ const { error } = schemaFormEntry.validate(payload, {
64131
+ abortEarly: false
64132
+ });
64133
+ if (error) {
64134
+ const messages = error.details.map((d) => d.message).join(", ");
64135
+ import_node_server_utils250.logger.log({ level: "error", message: messages });
64136
+ next(new import_node_server_utils250.BadRequestError(messages));
64137
+ return;
64138
+ }
64139
+ try {
64140
+ const data = await _add(payload);
64141
+ res.status(201).json({ message: data });
64142
+ return;
64143
+ } catch (error2) {
64144
+ import_node_server_utils250.logger.log({ level: "error", message: error2.message });
64145
+ next(error2);
64146
+ return;
64147
+ }
64148
+ }
64019
64149
  return {
64150
+ add,
64020
64151
  uploadFormEntrys,
64021
64152
  getAll,
64022
64153
  getFormEntryById,
@@ -64026,11 +64157,11 @@ function useFormEntryController() {
64026
64157
  }
64027
64158
 
64028
64159
  // src/services/building-level.service.ts
64029
- var import_node_server_utils249 = require("@7365admin1/node-server-utils");
64160
+ var import_node_server_utils251 = require("@7365admin1/node-server-utils");
64030
64161
  function useBuildingLevelService() {
64031
64162
  const { add: _add, updateLevelById: _updateLevelById } = useBuildingLevelRepo();
64032
64163
  async function add(value) {
64033
- const session = import_node_server_utils249.useAtlas.getClient()?.startSession();
64164
+ const session = import_node_server_utils251.useAtlas.getClient()?.startSession();
64034
64165
  try {
64035
64166
  session?.startTransaction();
64036
64167
  await _add(value, session);
@@ -64044,7 +64175,7 @@ function useBuildingLevelService() {
64044
64175
  }
64045
64176
  }
64046
64177
  async function updateLevelById(_id, value) {
64047
- const session = import_node_server_utils249.useAtlas.getClient()?.startSession();
64178
+ const session = import_node_server_utils251.useAtlas.getClient()?.startSession();
64048
64179
  try {
64049
64180
  session?.startTransaction();
64050
64181
  await _updateLevelById(_id, value, session);
@@ -64064,8 +64195,8 @@ function useBuildingLevelService() {
64064
64195
  }
64065
64196
 
64066
64197
  // src/controllers/building-level.controller.ts
64067
- var import_node_server_utils250 = require("@7365admin1/node-server-utils");
64068
- var import_joi145 = __toESM(require("joi"));
64198
+ var import_node_server_utils252 = require("@7365admin1/node-server-utils");
64199
+ var import_joi146 = __toESM(require("joi"));
64069
64200
  function useBuildingLevelController() {
64070
64201
  const { add: _add, updateLevelById: _updateLevelById } = useBuildingLevelService();
64071
64202
  const {
@@ -64080,8 +64211,8 @@ function useBuildingLevelController() {
64080
64211
  });
64081
64212
  if (error) {
64082
64213
  const messages = error.details.map((d) => d.message).join(", ");
64083
- import_node_server_utils250.logger.log({ level: "error", message: messages });
64084
- next(new import_node_server_utils250.BadRequestError(messages));
64214
+ import_node_server_utils252.logger.log({ level: "error", message: messages });
64215
+ next(new import_node_server_utils252.BadRequestError(messages));
64085
64216
  return;
64086
64217
  }
64087
64218
  const result = await _add(value);
@@ -64092,20 +64223,20 @@ function useBuildingLevelController() {
64092
64223
  }
64093
64224
  async function getAll(req, res, next) {
64094
64225
  try {
64095
- const validation = import_joi145.default.object({
64096
- page: import_joi145.default.number().min(1).optional().default(1),
64097
- limit: import_joi145.default.number().min(1).optional().default(20),
64098
- search: import_joi145.default.string().optional().allow("", null),
64099
- site: import_joi145.default.string().hex().length(24).optional().allow("", null),
64100
- status: import_joi145.default.string().valid(...Object.values(BuildingLevelStatus)).default("active" /* ACTIVE */)
64226
+ const validation = import_joi146.default.object({
64227
+ page: import_joi146.default.number().min(1).optional().default(1),
64228
+ limit: import_joi146.default.number().min(1).optional().default(20),
64229
+ search: import_joi146.default.string().optional().allow("", null),
64230
+ site: import_joi146.default.string().hex().length(24).optional().allow("", null),
64231
+ status: import_joi146.default.string().valid(...Object.values(BuildingLevelStatus)).default("active" /* ACTIVE */)
64101
64232
  });
64102
64233
  const { error, value } = validation.validate(req.query, {
64103
64234
  abortEarly: false
64104
64235
  });
64105
64236
  if (error) {
64106
64237
  const messages = error.details.map((d) => d.message);
64107
- import_node_server_utils250.logger.log({ level: "error", message: messages.join(", ") });
64108
- next(new import_node_server_utils250.BadRequestError(messages.join(", ")));
64238
+ import_node_server_utils252.logger.log({ level: "error", message: messages.join(", ") });
64239
+ next(new import_node_server_utils252.BadRequestError(messages.join(", ")));
64109
64240
  return;
64110
64241
  }
64111
64242
  const { page, limit, status, site, search } = value;
@@ -64124,14 +64255,14 @@ function useBuildingLevelController() {
64124
64255
  }
64125
64256
  async function getById(req, res, next) {
64126
64257
  try {
64127
- const schema2 = import_joi145.default.object({
64128
- id: import_joi145.default.string().hex().length(24).required()
64258
+ const schema2 = import_joi146.default.object({
64259
+ id: import_joi146.default.string().hex().length(24).required()
64129
64260
  });
64130
64261
  const { error, value } = schema2.validate({ id: req.params.id });
64131
64262
  if (error) {
64132
64263
  const messages = error.details.map((d) => d.message);
64133
- import_node_server_utils250.logger.log({ level: "error", message: messages.join(", ") });
64134
- next(new import_node_server_utils250.BadRequestError(messages.join(", ")));
64264
+ import_node_server_utils252.logger.log({ level: "error", message: messages.join(", ") });
64265
+ next(new import_node_server_utils252.BadRequestError(messages.join(", ")));
64135
64266
  return;
64136
64267
  }
64137
64268
  const { id } = value;
@@ -64150,8 +64281,8 @@ function useBuildingLevelController() {
64150
64281
  });
64151
64282
  if (error) {
64152
64283
  const messages = error.details.map((d) => d.message);
64153
- import_node_server_utils250.logger.log({ level: "error", message: messages.join(", ") });
64154
- next(new import_node_server_utils250.BadRequestError(messages.join(", ")));
64284
+ import_node_server_utils252.logger.log({ level: "error", message: messages.join(", ") });
64285
+ next(new import_node_server_utils252.BadRequestError(messages.join(", ")));
64155
64286
  return;
64156
64287
  }
64157
64288
  const { _id, ...rest } = value;
@@ -64163,14 +64294,14 @@ function useBuildingLevelController() {
64163
64294
  }
64164
64295
  async function deleteById(req, res, next) {
64165
64296
  try {
64166
- const schema2 = import_joi145.default.object({
64167
- id: import_joi145.default.string().hex().required()
64297
+ const schema2 = import_joi146.default.object({
64298
+ id: import_joi146.default.string().hex().required()
64168
64299
  });
64169
64300
  const { error, value } = schema2.validate({ id: req.params.id });
64170
64301
  if (error) {
64171
64302
  const messages = error.details.map((d) => d.message);
64172
- import_node_server_utils250.logger.log({ level: "error", message: messages.join(", ") });
64173
- next(new import_node_server_utils250.BadRequestError(messages.join(", ")));
64303
+ import_node_server_utils252.logger.log({ level: "error", message: messages.join(", ") });
64304
+ next(new import_node_server_utils252.BadRequestError(messages.join(", ")));
64174
64305
  return;
64175
64306
  }
64176
64307
  const { id } = value;
@@ -64233,6 +64364,7 @@ function useBuildingLevelController() {
64233
64364
  MBulletinBoard,
64234
64365
  MBulletinVideo,
64235
64366
  MCategoryPreloved,
64367
+ MChannelPreloved,
64236
64368
  MChat,
64237
64369
  MChatPreloved,
64238
64370
  MCustomer,
@@ -64379,6 +64511,7 @@ function useBuildingLevelController() {
64379
64511
  schemaBulletinBoard,
64380
64512
  schemaBulletinVideo,
64381
64513
  schemaCategoryPreloved,
64514
+ schemaChannelPreloved,
64382
64515
  schemaChatPreloved,
64383
64516
  schemaCustomerSite,
64384
64517
  schemaDocumentManagement,
@@ -64487,6 +64620,8 @@ function useBuildingLevelController() {
64487
64620
  useBulletinVideoService,
64488
64621
  useCategoryPrelovedController,
64489
64622
  useCategoryPrelovedRepo,
64623
+ useChannelPrelovedController,
64624
+ useChannelPrelovedRepo,
64490
64625
  useChatController,
64491
64626
  useChatPrelovedController,
64492
64627
  useChatPrelovedRepo,