@memberjunction/core-actions 2.112.0 → 2.113.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.
Files changed (94) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +7 -11
  3. package/dist/config.js.map +1 -1
  4. package/dist/custom/ai/execute-ai-prompt.action.d.ts +2 -2
  5. package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -1
  6. package/dist/custom/ai/execute-ai-prompt.action.js +22 -22
  7. package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -1
  8. package/dist/custom/ai/find-best-action.action.d.ts +53 -0
  9. package/dist/custom/ai/find-best-action.action.d.ts.map +1 -0
  10. package/dist/custom/ai/find-best-action.action.js +211 -0
  11. package/dist/custom/ai/find-best-action.action.js.map +1 -0
  12. package/dist/custom/ai/find-best-agent.action.d.ts +53 -0
  13. package/dist/custom/ai/find-best-agent.action.d.ts.map +1 -0
  14. package/dist/custom/ai/find-best-agent.action.js +195 -0
  15. package/dist/custom/ai/find-best-agent.action.js.map +1 -0
  16. package/dist/custom/ai/find-candidate-actions.action.d.ts +2 -2
  17. package/dist/custom/ai/find-candidate-actions.action.d.ts.map +1 -1
  18. package/dist/custom/ai/find-candidate-actions.action.js +21 -21
  19. package/dist/custom/ai/find-candidate-actions.action.js.map +1 -1
  20. package/dist/custom/ai/summarize-content.action.d.ts +2 -2
  21. package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
  22. package/dist/custom/ai/summarize-content.action.js +50 -51
  23. package/dist/custom/ai/summarize-content.action.js.map +1 -1
  24. package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -1
  25. package/dist/custom/code-execution/execute-code.action.js +27 -27
  26. package/dist/custom/code-execution/execute-code.action.js.map +1 -1
  27. package/dist/custom/communication/send-single-message.action.d.ts.map +1 -1
  28. package/dist/custom/communication/send-single-message.action.js +21 -10
  29. package/dist/custom/communication/send-single-message.action.js.map +1 -1
  30. package/dist/custom/crud/base-record-mutation.action.d.ts +3 -3
  31. package/dist/custom/crud/base-record-mutation.action.d.ts.map +1 -1
  32. package/dist/custom/crud/base-record-mutation.action.js +32 -28
  33. package/dist/custom/crud/base-record-mutation.action.js.map +1 -1
  34. package/dist/custom/crud/update-record.action.d.ts +2 -2
  35. package/dist/custom/crud/update-record.action.d.ts.map +1 -1
  36. package/dist/custom/crud/update-record.action.js +7 -7
  37. package/dist/custom/crud/update-record.action.js.map +1 -1
  38. package/dist/custom/data/execute-research-query.action.d.ts +2 -2
  39. package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
  40. package/dist/custom/data/execute-research-query.action.js +56 -52
  41. package/dist/custom/data/execute-research-query.action.js.map +1 -1
  42. package/dist/custom/data/explore-database-schema.action.d.ts +2 -2
  43. package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
  44. package/dist/custom/data/explore-database-schema.action.js +51 -50
  45. package/dist/custom/data/explore-database-schema.action.js.map +1 -1
  46. package/dist/custom/data/get-entity-details.action.d.ts +2 -2
  47. package/dist/custom/data/get-entity-details.action.d.ts.map +1 -1
  48. package/dist/custom/data/get-entity-details.action.js +39 -30
  49. package/dist/custom/data/get-entity-details.action.js.map +1 -1
  50. package/dist/custom/data/get-entity-list.action.d.ts +2 -2
  51. package/dist/custom/data/get-entity-list.action.d.ts.map +1 -1
  52. package/dist/custom/data/get-entity-list.action.js +25 -25
  53. package/dist/custom/data/get-entity-list.action.js.map +1 -1
  54. package/dist/custom/files/base-file-storage.action.d.ts +5 -5
  55. package/dist/custom/files/base-file-storage.action.d.ts.map +1 -1
  56. package/dist/custom/files/base-file-storage.action.js +12 -12
  57. package/dist/custom/files/base-file-storage.action.js.map +1 -1
  58. package/dist/custom/files/list-storage-providers.action.d.ts +2 -2
  59. package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -1
  60. package/dist/custom/files/list-storage-providers.action.js +22 -22
  61. package/dist/custom/files/list-storage-providers.action.js.map +1 -1
  62. package/dist/custom/user-management/assign-user-roles.action.d.ts +1 -1
  63. package/dist/custom/user-management/assign-user-roles.action.d.ts.map +1 -1
  64. package/dist/custom/user-management/assign-user-roles.action.js +27 -29
  65. package/dist/custom/user-management/assign-user-roles.action.js.map +1 -1
  66. package/dist/custom/user-management/check-user-permission.action.d.ts +1 -1
  67. package/dist/custom/user-management/check-user-permission.action.d.ts.map +1 -1
  68. package/dist/custom/user-management/check-user-permission.action.js +26 -25
  69. package/dist/custom/user-management/check-user-permission.action.js.map +1 -1
  70. package/dist/custom/user-management/create-employee.action.d.ts +2 -2
  71. package/dist/custom/user-management/create-employee.action.d.ts.map +1 -1
  72. package/dist/custom/user-management/create-employee.action.js +25 -25
  73. package/dist/custom/user-management/create-employee.action.js.map +1 -1
  74. package/dist/custom/user-management/create-user.action.d.ts +2 -2
  75. package/dist/custom/user-management/create-user.action.d.ts.map +1 -1
  76. package/dist/custom/user-management/create-user.action.js +23 -23
  77. package/dist/custom/user-management/create-user.action.js.map +1 -1
  78. package/dist/custom/utilities/base-file-handler.d.ts +2 -2
  79. package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
  80. package/dist/custom/utilities/base-file-handler.js +11 -11
  81. package/dist/custom/utilities/base-file-handler.js.map +1 -1
  82. package/dist/custom/utilities/external-change-detection.action.d.ts +2 -2
  83. package/dist/custom/utilities/external-change-detection.action.d.ts.map +1 -1
  84. package/dist/custom/utilities/external-change-detection.action.js +11 -11
  85. package/dist/custom/utilities/external-change-detection.action.js.map +1 -1
  86. package/dist/custom/utilities/vectorize-entity.action.d.ts +2 -2
  87. package/dist/custom/utilities/vectorize-entity.action.d.ts.map +1 -1
  88. package/dist/custom/utilities/vectorize-entity.action.js +9 -9
  89. package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
  90. package/dist/generated/action_subclasses.d.ts +5 -5
  91. package/dist/generated/action_subclasses.d.ts.map +1 -1
  92. package/dist/generated/action_subclasses.js +64 -64
  93. package/dist/generated/action_subclasses.js.map +1 -1
  94. package/package.json +17 -16
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LoadListStorageProvidersAction = exports.ListStorageProvidersAction = void 0;
10
10
  const global_1 = require("@memberjunction/global");
11
11
  const global_2 = require("@memberjunction/global");
12
- const global_3 = require("@memberjunction/global");
12
+ const core_1 = require("@memberjunction/core");
13
13
  const storage_1 = require("@memberjunction/storage");
14
14
  const base_file_storage_action_1 = require("./base-file-storage.action");
15
15
  const actions_1 = require("@memberjunction/actions");
@@ -53,23 +53,23 @@ const actions_1 = require("@memberjunction/actions");
53
53
  let ListStorageProvidersAction = class ListStorageProvidersAction extends base_file_storage_action_1.BaseFileStorageAction {
54
54
  async InternalRunAction(params) {
55
55
  // Optional parameter to filter only providers that support search
56
- const searchSupportedOnly = this.getBooleanParam(params, 'searchsupportedonly', false);
56
+ const searchSupportedOnly = this.getBooleanParam(params, "searchsupportedonly", false);
57
57
  try {
58
58
  // Build filter for active providers, optionally filtering for search support
59
- let extraFilter = 'IsActive=1';
59
+ let extraFilter = "IsActive=1";
60
60
  if (searchSupportedOnly) {
61
- extraFilter += ' AND SupportsSearch=1';
61
+ extraFilter += " AND SupportsSearch=1";
62
62
  }
63
63
  // Query for active file storage providers from database
64
- const rv = new global_3.RunView();
64
+ const rv = new core_1.RunView();
65
65
  const result = await rv.RunView({
66
66
  EntityName: 'File Storage Providers',
67
67
  ExtraFilter: extraFilter,
68
68
  OrderBy: 'Priority, Name',
69
- ResultType: 'entity_object',
69
+ ResultType: 'entity_object'
70
70
  }, params.ContextUser);
71
71
  if (!result.Success) {
72
- return this.createErrorResult(`Failed to retrieve storage providers: ${result.ErrorMessage}`, 'QUERY_FAILED');
72
+ return this.createErrorResult(`Failed to retrieve storage providers: ${result.ErrorMessage}`, "QUERY_FAILED");
73
73
  }
74
74
  const dbProviders = result.Results || [];
75
75
  const availableProviders = [];
@@ -93,7 +93,7 @@ let ListStorageProvidersAction = class ListStorageProvidersAction extends base_f
93
93
  ServerDriverKey: provider.ServerDriverKey,
94
94
  SupportsSearch: supportsSearch,
95
95
  IsConfigured: isConfigured,
96
- ConfigurationError: isConfigured ? undefined : 'Missing required configuration (API keys, credentials, etc.)',
96
+ ConfigurationError: isConfigured ? undefined : 'Missing required configuration (API keys, credentials, etc.)'
97
97
  });
98
98
  }
99
99
  else {
@@ -104,7 +104,7 @@ let ListStorageProvidersAction = class ListStorageProvidersAction extends base_f
104
104
  ServerDriverKey: provider.ServerDriverKey,
105
105
  SupportsSearch: supportsSearch,
106
106
  IsConfigured: false,
107
- ConfigurationError: 'Provider not registered in class factory',
107
+ ConfigurationError: 'Provider not registered in class factory'
108
108
  });
109
109
  }
110
110
  }
@@ -117,13 +117,13 @@ let ListStorageProvidersAction = class ListStorageProvidersAction extends base_f
117
117
  ServerDriverKey: provider.ServerDriverKey,
118
118
  SupportsSearch: supportsSearch,
119
119
  IsConfigured: false,
120
- ConfigurationError: `Instantiation failed: ${errorMessage}`,
120
+ ConfigurationError: `Instantiation failed: ${errorMessage}`
121
121
  });
122
122
  }
123
123
  }
124
124
  // Calculate counts
125
- const configuredProviders = availableProviders.filter((p) => p.IsConfigured);
126
- const searchSupportedCount = configuredProviders.filter((p) => p.SupportsSearch).length;
125
+ const configuredProviders = availableProviders.filter(p => p.IsConfigured);
126
+ const searchSupportedCount = configuredProviders.filter(p => p.SupportsSearch).length;
127
127
  const totalCount = availableProviders.length;
128
128
  const configuredCount = configuredProviders.length;
129
129
  // Create detailed result message with provider list
@@ -156,48 +156,48 @@ let ListStorageProvidersAction = class ListStorageProvidersAction extends base_f
156
156
  {
157
157
  Name: 'Providers',
158
158
  Value: availableProviders,
159
- Type: 'Output',
159
+ Type: 'Output'
160
160
  },
161
161
  {
162
162
  Name: 'TotalCount',
163
163
  Value: totalCount,
164
- Type: 'Output',
164
+ Type: 'Output'
165
165
  },
166
166
  {
167
167
  Name: 'ConfiguredCount',
168
168
  Value: configuredCount,
169
- Type: 'Output',
169
+ Type: 'Output'
170
170
  },
171
171
  {
172
172
  Name: 'SearchSupportedCount',
173
173
  Value: searchSupportedCount,
174
- Type: 'Output',
175
- },
174
+ Type: 'Output'
175
+ }
176
176
  ];
177
177
  // Return results
178
178
  return {
179
179
  Success: true,
180
- ResultCode: 'SUCCESS',
180
+ ResultCode: "SUCCESS",
181
181
  Message: message,
182
- Params: outputParams,
182
+ Params: outputParams
183
183
  };
184
184
  }
185
185
  catch (error) {
186
186
  const errorMessage = error instanceof Error ? error.message : String(error);
187
- return this.createErrorResult(`Failed to list storage providers: ${errorMessage}`, 'LIST_FAILED');
187
+ return this.createErrorResult(`Failed to list storage providers: ${errorMessage}`, "LIST_FAILED");
188
188
  }
189
189
  }
190
190
  };
191
191
  exports.ListStorageProvidersAction = ListStorageProvidersAction;
192
192
  exports.ListStorageProvidersAction = ListStorageProvidersAction = __decorate([
193
- (0, global_1.RegisterClass)(actions_1.BaseAction, 'List Storage Providers')
193
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "List Storage Providers")
194
194
  ], ListStorageProvidersAction);
195
195
  /**
196
196
  * Load function to ensure the class is registered and not tree-shaken
197
197
  */
198
198
  function LoadListStorageProvidersAction() {
199
199
  // This function call ensures the class decorator executes
200
- global_2.MJGlobal.Instance.ClassFactory.GetRegistration(base_file_storage_action_1.BaseFileStorageAction, 'List Storage Providers');
200
+ global_2.MJGlobal.Instance.ClassFactory.GetRegistration(base_file_storage_action_1.BaseFileStorageAction, "List Storage Providers");
201
201
  }
202
202
  exports.LoadListStorageProvidersAction = LoadListStorageProvidersAction;
203
203
  //# sourceMappingURL=list-storage-providers.action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-storage-providers.action.js","sourceRoot":"","sources":["../../../src/custom/files/list-storage-providers.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-storage-providers.action.js","sourceRoot":"","sources":["../../../src/custom/files/list-storage-providers.action.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
2
  import { BaseAction } from '@memberjunction/actions';
3
3
  /**
4
4
  * Assigns one or more roles to a user by creating UserRole associations.
@@ -1 +1 @@
1
- {"version":3,"file":"assign-user-roles.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/assign-user-roles.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;;GAIG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IAC7C,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoJ9E;AAED,wBAAgB,yBAAyB,SAExC"}
1
+ {"version":3,"file":"assign-user-roles.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/assign-user-roles.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;;GAIG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IAC3C,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmJhF;AAED,wBAAgB,yBAAyB,SAExC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LoadAssignUserRolesAction = exports.AssignUserRolesAction = void 0;
10
10
  const global_1 = require("@memberjunction/global");
11
11
  const actions_1 = require("@memberjunction/actions");
12
- const global_2 = require("@memberjunction/global");
12
+ const core_1 = require("@memberjunction/core");
13
13
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
14
14
  /**
15
15
  * Assigns one or more roles to a user by creating UserRole associations.
@@ -20,15 +20,15 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
20
20
  async InternalRunAction(params) {
21
21
  try {
22
22
  // Extract parameters
23
- const userID = params.Params.find((p) => p.Name === 'UserID')?.Value;
24
- const roleNamesParam = params.Params.find((p) => p.Name === 'RoleNames')?.Value;
25
- const roleNameParam = params.Params.find((p) => p.Name === 'RoleName')?.Value;
23
+ const userID = params.Params.find(p => p.Name === 'UserID')?.Value;
24
+ const roleNamesParam = params.Params.find(p => p.Name === 'RoleNames')?.Value;
25
+ const roleNameParam = params.Params.find(p => p.Name === 'RoleName')?.Value;
26
26
  // Validate required fields
27
27
  if (!userID) {
28
28
  return {
29
29
  Success: false,
30
30
  ResultCode: 'VALIDATION_ERROR',
31
- Message: 'UserID is required',
31
+ Message: 'UserID is required'
32
32
  };
33
33
  }
34
34
  // Handle both single and multiple role inputs
@@ -55,28 +55,26 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
55
55
  return {
56
56
  Success: false,
57
57
  ResultCode: 'VALIDATION_ERROR',
58
- Message: 'RoleNames or RoleName must be provided as a string or array',
58
+ Message: 'RoleNames or RoleName must be provided as a string or array'
59
59
  };
60
60
  }
61
- const md = new global_2.Metadata();
61
+ const md = new core_1.Metadata();
62
62
  // Validate user exists - check UserCache first
63
63
  // For newly created users, the cache might not be updated yet
64
- const user = sqlserver_dataprovider_1.UserCache.Users?.find((u) => u.ID === userID);
65
- const existingRoleIDs = user?.UserRoles ? user.UserRoles.map((ur) => ur.RoleID) : [];
64
+ const user = sqlserver_dataprovider_1.UserCache.Users?.find(u => u.ID === userID);
65
+ const existingRoleIDs = user?.UserRoles ? user.UserRoles.map(ur => ur.RoleID) : [];
66
66
  // Get all roles and validate they exist using Metadata cache
67
67
  const allRoles = md.Roles;
68
- const foundRoles = roleNames
69
- .map((name) => {
70
- return allRoles.find((r) => r.Name === name);
71
- })
72
- .filter((r) => r != null);
73
- const foundRoleNames = foundRoles.map((r) => r.Name);
74
- const missingRoles = roleNames.filter((name) => !foundRoleNames.includes(name));
68
+ const foundRoles = roleNames.map(name => {
69
+ return allRoles.find(r => r.Name === name);
70
+ }).filter(r => r != null);
71
+ const foundRoleNames = foundRoles.map(r => r.Name);
72
+ const missingRoles = roleNames.filter(name => !foundRoleNames.includes(name));
75
73
  if (missingRoles.length > 0) {
76
74
  return {
77
75
  Success: false,
78
76
  ResultCode: 'ROLES_NOT_FOUND',
79
- Message: `The following roles do not exist: ${missingRoles.join(', ')}`,
77
+ Message: `The following roles do not exist: ${missingRoles.join(', ')}`
80
78
  };
81
79
  }
82
80
  // Process each role
@@ -97,7 +95,7 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
97
95
  assignedRoles.push({
98
96
  roleID: role.ID,
99
97
  roleName: role.Name,
100
- userRoleID: userRole.ID,
98
+ userRoleID: userRole.ID
101
99
  });
102
100
  }
103
101
  else {
@@ -111,7 +109,7 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
111
109
  // Prepare result
112
110
  let message = '';
113
111
  if (assignedRoles.length > 0) {
114
- message += `Successfully assigned ${assignedRoles.length} role(s): ${assignedRoles.map((r) => r.roleName).join(', ')}. `;
112
+ message += `Successfully assigned ${assignedRoles.length} role(s): ${assignedRoles.map(r => r.roleName).join(', ')}. `;
115
113
  }
116
114
  if (skippedRoles.length > 0) {
117
115
  message += `Skipped ${skippedRoles.length} already assigned role(s): ${skippedRoles.join(', ')}. `;
@@ -122,43 +120,43 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
122
120
  // Add output parameters
123
121
  params.Params.push({
124
122
  Name: 'AssignedRoleIDs',
125
- Value: assignedRoles.map((r) => r.roleID),
126
- Type: 'Output',
123
+ Value: assignedRoles.map(r => r.roleID),
124
+ Type: 'Output'
127
125
  });
128
126
  params.Params.push({
129
127
  Name: 'AssignedUserRoleIDs',
130
- Value: assignedRoles.map((r) => r.userRoleID),
131
- Type: 'Output',
128
+ Value: assignedRoles.map(r => r.userRoleID),
129
+ Type: 'Output'
132
130
  });
133
131
  params.Params.push({
134
132
  Name: 'AssignedRoleNames',
135
- Value: assignedRoles.map((r) => r.roleName),
136
- Type: 'Output',
133
+ Value: assignedRoles.map(r => r.roleName),
134
+ Type: 'Output'
137
135
  });
138
136
  params.Params.push({
139
137
  Name: 'AssignedCount',
140
138
  Value: assignedRoles.length,
141
- Type: 'Output',
139
+ Type: 'Output'
142
140
  });
143
141
  return {
144
142
  Success: errors.length === 0 && (assignedRoles.length > 0 || skippedRoles.length > 0),
145
143
  ResultCode: errors.length > 0 ? 'PARTIAL_SUCCESS' : 'SUCCESS',
146
144
  Message: message.trim(),
147
- Params: params.Params,
145
+ Params: params.Params
148
146
  };
149
147
  }
150
148
  catch (e) {
151
149
  return {
152
150
  Success: false,
153
151
  ResultCode: 'FAILED',
154
- Message: `Error assigning user roles: ${e.message}`,
152
+ Message: `Error assigning user roles: ${e.message}`
155
153
  };
156
154
  }
157
155
  }
158
156
  };
159
157
  exports.AssignUserRolesAction = AssignUserRolesAction;
160
158
  exports.AssignUserRolesAction = AssignUserRolesAction = __decorate([
161
- (0, global_1.RegisterClass)(actions_1.BaseAction, 'AssignUserRolesAction')
159
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "AssignUserRolesAction")
162
160
  ], AssignUserRolesAction);
163
161
  function LoadAssignUserRolesAction() {
164
162
  // Prevent tree shaking
@@ -1 +1 @@
1
- {"version":3,"file":"assign-user-roles.action.js","sourceRoot":"","sources":["../../../src/custom/user-management/assign-user-roles.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD,mDAAkD;AAElD,mFAAmE;AAEnE;;;;GAIG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,oBAAU;IACnD,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QAC7C,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,KAAe,CAAC;YAC/E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;YAChF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,CAAC;YAE9E,2BAA2B;YAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,oBAAoB;iBAC9B,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,IAAI,SAAS,GAAa,EAAE,CAAC;YAE7B,IAAI,cAAc,EAAE,CAAC;gBACnB,mCAAmC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,SAAS,GAAG,cAAc,CAAC;gBAC7B,CAAC;qBAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAC9C,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,SAAS,GAAG,aAAa,CAAC;gBAC5B,CAAC;qBAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC7C,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,6DAA6D;iBACvE,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,iBAAQ,EAAE,CAAC;YAE1B,+CAA+C;YAC/C,8DAA8D;YAC9D,MAAM,IAAI,GAAG,kCAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAErF,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;YAC1B,MAAM,UAAU,GAAG,SAAS;iBACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAE5B,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,iBAAiB;oBAC7B,OAAO,EAAE,qCAAqC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxE,CAAC;YACJ,CAAC;YAED,oBAAoB;YACpB,MAAM,aAAa,GAA+D,EAAE,CAAC;YACrF,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,yBAAyB;oBACzB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAiB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC5F,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;oBACzB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oBAE1B,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC;4BACjB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;yBACxB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,yBAAyB,aAAa,CAAC,MAAM,aAAa,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3H,CAAC;YACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,IAAI,WAAW,YAAY,CAAC,MAAM,8BAA8B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrG,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,CAAC;YAED,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC7C,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3C,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrF,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;gBAC7D,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,+BAA+B,CAAC,CAAC,OAAO,EAAE;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AArJY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAa,EAAC,oBAAU,EAAE,uBAAuB,CAAC;GACtC,qBAAqB,CAqJjC;AAED,SAAgB,yBAAyB;IACvC,uBAAuB;AACzB,CAAC;AAFD,8DAEC"}
1
+ {"version":3,"file":"assign-user-roles.action.js","sourceRoot":"","sources":["../../../src/custom/user-management/assign-user-roles.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD,+CAAgD;AAEhD,mFAAmE;AAEnE;;;;GAIG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,oBAAU;IACjD,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QAC3C,IAAI,CAAC;YACD,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,KAAe,CAAC;YAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;YAC9E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,CAAC;YAE5E,2BAA2B;YAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,oBAAoB;iBAChC,CAAC;YACN,CAAC;YAED,8CAA8C;YAC9C,IAAI,SAAS,GAAa,EAAE,CAAC;YAE7B,IAAI,cAAc,EAAE,CAAC;gBACjB,mCAAmC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChC,SAAS,GAAG,cAAc,CAAC;gBAC/B,CAAC;qBAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAC5C,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACvB,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/B,SAAS,GAAG,aAAa,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC3C,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,6DAA6D;iBACzE,CAAC;YACN,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAE1B,+CAA+C;YAC/C,8DAA8D;YAC9D,MAAM,IAAI,GAAG,kCAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnF,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;YAC1B,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAE1B,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,iBAAiB;oBAC7B,OAAO,EAAE,qCAAqC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC1E,CAAC;YACN,CAAC;YAED,oBAAoB;YACpB,MAAM,aAAa,GAA+D,EAAE,CAAC;YACrF,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC5B,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,SAAS;gBACb,CAAC;gBAED,IAAI,CAAC;oBACD,yBAAyB;oBACzB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAiB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC5F,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;oBACzB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oBAE1B,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxB,aAAa,CAAC,IAAI,CAAC;4BACf,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;yBAC1B,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBACxD,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,yBAAyB,aAAa,CAAC,MAAM,aAAa,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3H,CAAC;YACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,WAAW,YAAY,CAAC,MAAM,8BAA8B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACvG,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,CAAC;YAED,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvC,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC3C,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACzC,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrF,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;gBAC7D,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;aACxB,CAAC;QAEN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,+BAA+B,CAAC,CAAC,OAAO,EAAE;aACtD,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AApJY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAa,EAAC,oBAAU,EAAE,uBAAuB,CAAC;GACtC,qBAAqB,CAoJjC;AAED,SAAgB,yBAAyB;IACrC,uBAAuB;AAC3B,CAAC;AAFD,8DAEC"}
@@ -1,4 +1,4 @@
1
- import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
2
  import { BaseAction } from '@memberjunction/actions';
3
3
  /**
4
4
  * Verifies if the current user has a specific role or permission to perform administrative tasks.
@@ -1 +1 @@
1
- {"version":3,"file":"check-user-permission.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/check-user-permission.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;GAGG;AACH,qBACa,yBAA0B,SAAQ,UAAU;IACjD,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4I9E;AAED,wBAAgB,6BAA6B,SAE5C"}
1
+ {"version":3,"file":"check-user-permission.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/check-user-permission.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;GAGG;AACH,qBACa,yBAA0B,SAAQ,UAAU;IAC/C,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA6IhF;AAED,wBAAgB,6BAA6B,SAE5C"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LoadCheckUserPermissionAction = exports.CheckUserPermissionAction = void 0;
10
10
  const global_1 = require("@memberjunction/global");
11
11
  const actions_1 = require("@memberjunction/actions");
12
- const global_2 = require("@memberjunction/global");
12
+ const core_1 = require("@memberjunction/core");
13
13
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
14
14
  /**
15
15
  * Verifies if the current user has a specific role or permission to perform administrative tasks.
@@ -19,14 +19,14 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
19
19
  async InternalRunAction(params) {
20
20
  try {
21
21
  // Extract parameters
22
- const permissionType = params.Params.find((p) => p.Name === 'PermissionType')?.Value || 'Role';
23
- const permissionName = params.Params.find((p) => p.Name === 'PermissionName')?.Value;
24
- const userID = params.Params.find((p) => p.Name === 'UserID')?.Value || params.ContextUser?.ID;
22
+ const permissionType = params.Params.find(p => p.Name === 'PermissionType')?.Value || 'Role';
23
+ const permissionName = params.Params.find(p => p.Name === 'PermissionName')?.Value;
24
+ const userID = params.Params.find(p => p.Name === 'UserID')?.Value || params.ContextUser?.ID;
25
25
  if (!permissionName) {
26
26
  return {
27
27
  Success: false,
28
28
  ResultCode: 'VALIDATION_ERROR',
29
- Message: 'PermissionName parameter is required',
29
+ Message: 'PermissionName parameter is required'
30
30
  };
31
31
  }
32
32
  // Validate permission type
@@ -35,7 +35,7 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
35
35
  return {
36
36
  Success: false,
37
37
  ResultCode: 'INVALID_PERMISSION_TYPE',
38
- Message: `Invalid permission type. Must be one of: ${validTypes.join(', ')}`,
38
+ Message: `Invalid permission type. Must be one of: ${validTypes.join(', ')}`
39
39
  };
40
40
  }
41
41
  const currentUser = params.ContextUser;
@@ -43,7 +43,7 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
43
43
  return {
44
44
  Success: false,
45
45
  ResultCode: 'PERMISSION_DENIED',
46
- Message: 'No authenticated user context found and no UserID provided',
46
+ Message: 'No authenticated user context found and no UserID provided'
47
47
  };
48
48
  }
49
49
  let hasPermission = false;
@@ -52,54 +52,55 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
52
52
  switch (permissionType) {
53
53
  case 'Role':
54
54
  // Get user's roles from UserCache
55
- const cachedUser = sqlserver_dataprovider_1.UserCache.Users?.find((u) => u.ID === userID);
55
+ const cachedUser = sqlserver_dataprovider_1.UserCache.Users?.find(u => u.ID === userID);
56
56
  if (cachedUser && cachedUser.UserRoles) {
57
- cachedUser.UserRoles.forEach((ur) => userRoles.push(ur.Role));
58
- hasPermission = cachedUser.UserRoles.some((ur) => ur.Role === permissionName);
57
+ cachedUser.UserRoles.forEach(ur => userRoles.push(ur.Role));
58
+ hasPermission = cachedUser.UserRoles.some(ur => ur.Role === permissionName);
59
59
  }
60
60
  break;
61
61
  case 'Authorization':
62
62
  // Check authorization roles
63
- const authRv = new global_2.RunView();
63
+ const authRv = new core_1.RunView();
64
64
  const authResult = await authRv.RunView({
65
65
  EntityName: 'Authorization Roles',
66
- ExtraFilter: `RoleID IN (SELECT RoleID FROM ${global_2.Metadata.Provider.ConfigData.MJCoreSchemaName}.vwUserRoles WHERE UserID='${userID}') AND AuthorizationID IN (SELECT ID FROM ${global_2.Metadata.Provider.ConfigData.MJCoreSchemaName}.vwAuthorizations WHERE Name='${permissionName}')`,
67
- ResultType: 'simple',
66
+ ExtraFilter: `RoleID IN (SELECT RoleID FROM ${core_1.Metadata.Provider.ConfigData.MJCoreSchemaName}.vwUserRoles WHERE UserID='${userID}') AND AuthorizationID IN (SELECT ID FROM ${core_1.Metadata.Provider.ConfigData.MJCoreSchemaName}.vwAuthorizations WHERE Name='${permissionName}')`,
67
+ ResultType: 'simple'
68
68
  }, currentUser);
69
69
  hasPermission = authResult.Success && authResult.Results && authResult.Results.length > 0;
70
70
  break;
71
71
  case 'EntityPermission':
72
72
  // Use the Metadata API to check entity permissions properly
73
- const md = new global_2.Metadata();
73
+ const md = new core_1.Metadata();
74
74
  const entityInfo = md.EntityByName(permissionName);
75
75
  if (!entityInfo) {
76
76
  return {
77
77
  Success: false,
78
78
  ResultCode: 'ENTITY_NOT_FOUND',
79
- Message: `Entity '${permissionName}' not found`,
79
+ Message: `Entity '${permissionName}' not found`
80
80
  };
81
81
  }
82
82
  // Get user permissions for this entity - Note: MJCore has typo in method name
83
83
  const userPermissions = entityInfo.GetUserPermisions(currentUser);
84
84
  // For EntityPermission, check if user has any permission (for HasPermission output)
85
- hasPermission = userPermissions.CanCreate || userPermissions.CanRead || userPermissions.CanUpdate || userPermissions.CanDelete;
85
+ hasPermission = userPermissions.CanCreate || userPermissions.CanRead ||
86
+ userPermissions.CanUpdate || userPermissions.CanDelete;
86
87
  // Add all CRUD permissions as output parameters
87
88
  params.Params.push({
88
89
  Name: 'CanCreate',
89
90
  Value: userPermissions.CanCreate,
90
- Type: 'Output',
91
+ Type: 'Output'
91
92
  }, {
92
93
  Name: 'CanUpdate',
93
94
  Value: userPermissions.CanUpdate,
94
- Type: 'Output',
95
+ Type: 'Output'
95
96
  }, {
96
97
  Name: 'CanRead',
97
98
  Value: userPermissions.CanRead,
98
- Type: 'Output',
99
+ Type: 'Output'
99
100
  }, {
100
101
  Name: 'CanDelete',
101
102
  Value: userPermissions.CanDelete,
102
- Type: 'Output',
103
+ Type: 'Output'
103
104
  });
104
105
  break;
105
106
  }
@@ -107,13 +108,13 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
107
108
  params.Params.push({
108
109
  Name: 'HasPermission',
109
110
  Value: hasPermission,
110
- Type: 'Output',
111
+ Type: 'Output'
111
112
  });
112
113
  if (userRoles.length > 0) {
113
114
  params.Params.push({
114
115
  Name: 'UserRoles',
115
116
  Value: userRoles,
116
- Type: 'Output',
117
+ Type: 'Output'
117
118
  });
118
119
  }
119
120
  return {
@@ -122,21 +123,21 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
122
123
  Message: hasPermission
123
124
  ? `User has required ${permissionType}: ${permissionName}`
124
125
  : `User does not have required ${permissionType}: ${permissionName}`,
125
- Params: params.Params,
126
+ Params: params.Params
126
127
  };
127
128
  }
128
129
  catch (e) {
129
130
  return {
130
131
  Success: false,
131
132
  ResultCode: 'FAILED',
132
- Message: `Error checking user permission: ${e.message}`,
133
+ Message: `Error checking user permission: ${e.message}`
133
134
  };
134
135
  }
135
136
  }
136
137
  };
137
138
  exports.CheckUserPermissionAction = CheckUserPermissionAction;
138
139
  exports.CheckUserPermissionAction = CheckUserPermissionAction = __decorate([
139
- (0, global_1.RegisterClass)(actions_1.BaseAction, 'CheckUserPermissionAction')
140
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "CheckUserPermissionAction")
140
141
  ], CheckUserPermissionAction);
141
142
  function LoadCheckUserPermissionAction() {
142
143
  // Prevent tree shaking
@@ -1 +1 @@
1
- {"version":3,"file":"check-user-permission.action.js","sourceRoot":"","sources":["../../../src/custom/user-management/check-user-permission.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-user-permission.action.js","sourceRoot":"","sources":["../../../src/custom/user-management/check-user-permission.action.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
- import { CreateRecordAction } from '../crud/create-record.action';
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { CreateRecordAction } from "../crud/create-record.action";
3
3
  /**
4
4
  * Creates a new employee record in the MemberJunction system.
5
5
  * This action extends CreateRecordAction to leverage existing record creation functionality
@@ -1 +1 @@
1
- {"version":3,"file":"create-employee.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/create-employee.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIlE;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,kBAAkB;IACpD,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkI9E;AAED,wBAAgB,wBAAwB,SAEvC"}
1
+ {"version":3,"file":"create-employee.action.d.ts","sourceRoot":"","sources":["../../../src/custom/user-management/create-employee.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIlE;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,kBAAkB;IAClD,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA0HhF;AAED,wBAAgB,wBAAwB,SAEvC"}