shuttlepro-shared 1.2.47 → 1.2.48

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.
@@ -79,6 +79,30 @@ const findTemplateByFilter = async (
79
79
  ) || null
80
80
  );
81
81
  };
82
+ const findAllTemplateByFilter = async (
83
+ filter,
84
+ bodyFilter = {},
85
+ workspaceId = null
86
+ ) => {
87
+ const allTemplates = await getCachedAllDescriptionTemplates();
88
+
89
+ // Filter by workspaceId if provided
90
+ let filteredTemplates = workspaceId
91
+ ? allTemplates.filter((desc) => desc.workspaceId === workspaceId)
92
+ : allTemplates;
93
+
94
+ return (
95
+ filteredTemplates.filter(
96
+ (item) =>
97
+ // Check direct properties of item
98
+ Object.entries(filter).every(([key, value]) => item[key] === value) &&
99
+ // If bodyFilter is provided, check inside item.body
100
+ Object.entries(bodyFilter).every(
101
+ ([key, value]) => item.body?.[key] === value
102
+ )
103
+ ) || null
104
+ );
105
+ };
82
106
  const createOrUpdateTemplate = async (filter, data) => {
83
107
  const template = await DescriptionTemplate.findOneAndUpdate(filter, data, {
84
108
  upsert: true,
@@ -201,4 +225,5 @@ module.exports = {
201
225
  findTemplateById,
202
226
  deleteTemplatesByFilter,
203
227
  insertManyTemplates,
228
+ findAllTemplateByFilter,
204
229
  };
@@ -10,7 +10,7 @@ const socialMediaSettingRepository = require("./socialMediaSetting.repository");
10
10
  const notificationSettingRepository = require("./notificationSetting.repository");
11
11
  const chatMemberRepository = require("./chatMember.repository");
12
12
  const roleRepository = require("./role.repository");
13
-
13
+ const userPermissionRepository = require("./userPermission.repository");
14
14
  exports.module = {
15
15
  workspaceRepository,
16
16
  integrationRepository,
@@ -24,4 +24,5 @@ exports.module = {
24
24
  notificationSettingRepository,
25
25
  chatMemberRepository,
26
26
  roleRepository,
27
+ userPermissionRepository,
27
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shuttlepro-shared",
3
- "version": "1.2.47",
3
+ "version": "1.2.48",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {