@memberjunction/core-actions 2.111.1 → 2.112.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/config.d.ts.map +1 -1
- package/dist/config.js +11 -7
- package/dist/config.js.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.d.ts +2 -2
- package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.js +22 -22
- package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -1
- package/dist/custom/ai/find-candidate-actions.action.d.ts +2 -2
- package/dist/custom/ai/find-candidate-actions.action.d.ts.map +1 -1
- package/dist/custom/ai/find-candidate-actions.action.js +21 -21
- package/dist/custom/ai/find-candidate-actions.action.js.map +1 -1
- package/dist/custom/ai/summarize-content.action.d.ts +2 -2
- package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
- package/dist/custom/ai/summarize-content.action.js +51 -50
- package/dist/custom/ai/summarize-content.action.js.map +1 -1
- package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -1
- package/dist/custom/code-execution/execute-code.action.js +27 -27
- package/dist/custom/code-execution/execute-code.action.js.map +1 -1
- package/dist/custom/crud/base-record-mutation.action.d.ts +3 -3
- package/dist/custom/crud/base-record-mutation.action.d.ts.map +1 -1
- package/dist/custom/crud/base-record-mutation.action.js +28 -32
- package/dist/custom/crud/base-record-mutation.action.js.map +1 -1
- package/dist/custom/crud/update-record.action.d.ts +2 -2
- package/dist/custom/crud/update-record.action.d.ts.map +1 -1
- package/dist/custom/crud/update-record.action.js +7 -7
- package/dist/custom/crud/update-record.action.js.map +1 -1
- package/dist/custom/data/execute-research-query.action.d.ts +2 -2
- package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
- package/dist/custom/data/execute-research-query.action.js +52 -56
- package/dist/custom/data/execute-research-query.action.js.map +1 -1
- package/dist/custom/data/explore-database-schema.action.d.ts +2 -2
- package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
- package/dist/custom/data/explore-database-schema.action.js +50 -51
- package/dist/custom/data/explore-database-schema.action.js.map +1 -1
- package/dist/custom/data/get-entity-details.action.d.ts +2 -2
- package/dist/custom/data/get-entity-details.action.d.ts.map +1 -1
- package/dist/custom/data/get-entity-details.action.js +30 -39
- package/dist/custom/data/get-entity-details.action.js.map +1 -1
- package/dist/custom/data/get-entity-list.action.d.ts +2 -2
- package/dist/custom/data/get-entity-list.action.d.ts.map +1 -1
- package/dist/custom/data/get-entity-list.action.js +25 -25
- package/dist/custom/data/get-entity-list.action.js.map +1 -1
- package/dist/custom/files/base-file-storage.action.d.ts +5 -5
- package/dist/custom/files/base-file-storage.action.d.ts.map +1 -1
- package/dist/custom/files/base-file-storage.action.js +12 -12
- package/dist/custom/files/base-file-storage.action.js.map +1 -1
- package/dist/custom/files/list-storage-providers.action.d.ts +2 -2
- package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -1
- package/dist/custom/files/list-storage-providers.action.js +22 -22
- package/dist/custom/files/list-storage-providers.action.js.map +1 -1
- package/dist/custom/user-management/assign-user-roles.action.d.ts +1 -1
- package/dist/custom/user-management/assign-user-roles.action.d.ts.map +1 -1
- package/dist/custom/user-management/assign-user-roles.action.js +29 -27
- package/dist/custom/user-management/assign-user-roles.action.js.map +1 -1
- package/dist/custom/user-management/check-user-permission.action.d.ts +1 -1
- package/dist/custom/user-management/check-user-permission.action.d.ts.map +1 -1
- package/dist/custom/user-management/check-user-permission.action.js +25 -26
- package/dist/custom/user-management/check-user-permission.action.js.map +1 -1
- package/dist/custom/user-management/create-employee.action.d.ts +2 -2
- package/dist/custom/user-management/create-employee.action.d.ts.map +1 -1
- package/dist/custom/user-management/create-employee.action.js +25 -25
- package/dist/custom/user-management/create-employee.action.js.map +1 -1
- package/dist/custom/user-management/create-user.action.d.ts +2 -2
- package/dist/custom/user-management/create-user.action.d.ts.map +1 -1
- package/dist/custom/user-management/create-user.action.js +23 -23
- package/dist/custom/user-management/create-user.action.js.map +1 -1
- package/dist/custom/utilities/base-file-handler.d.ts +2 -2
- package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
- package/dist/custom/utilities/base-file-handler.js +11 -11
- package/dist/custom/utilities/base-file-handler.js.map +1 -1
- package/dist/custom/utilities/external-change-detection.action.d.ts +2 -2
- package/dist/custom/utilities/external-change-detection.action.d.ts.map +1 -1
- package/dist/custom/utilities/external-change-detection.action.js +11 -11
- package/dist/custom/utilities/external-change-detection.action.js.map +1 -1
- package/dist/custom/utilities/vectorize-entity.action.d.ts +2 -2
- package/dist/custom/utilities/vectorize-entity.action.d.ts.map +1 -1
- package/dist/custom/utilities/vectorize-entity.action.js +9 -9
- package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
- package/dist/generated/action_subclasses.d.ts +5 -5
- package/dist/generated/action_subclasses.d.ts.map +1 -1
- package/dist/generated/action_subclasses.js +64 -64
- package/dist/generated/action_subclasses.js.map +1 -1
- package/package.json +16 -17
|
@@ -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
|
|
12
|
+
const global_3 = require("@memberjunction/global");
|
|
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,
|
|
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 =
|
|
59
|
+
let extraFilter = 'IsActive=1';
|
|
60
60
|
if (searchSupportedOnly) {
|
|
61
|
-
extraFilter +=
|
|
61
|
+
extraFilter += ' AND SupportsSearch=1';
|
|
62
62
|
}
|
|
63
63
|
// Query for active file storage providers from database
|
|
64
|
-
const rv = new
|
|
64
|
+
const rv = new global_3.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}`,
|
|
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:
|
|
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}`,
|
|
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,
|
|
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,
|
|
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":";;;;;;;;;AACA,mDAAuD;AACvD,mDAAkD;AAClD
|
|
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
|
|
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;
|
|
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"}
|
|
@@ -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
|
|
12
|
+
const global_2 = require("@memberjunction/global");
|
|
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,26 +55,28 @@ 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
|
|
61
|
+
const md = new global_2.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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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));
|
|
73
75
|
if (missingRoles.length > 0) {
|
|
74
76
|
return {
|
|
75
77
|
Success: false,
|
|
76
78
|
ResultCode: 'ROLES_NOT_FOUND',
|
|
77
|
-
Message: `The following roles do not exist: ${missingRoles.join(', ')}
|
|
79
|
+
Message: `The following roles do not exist: ${missingRoles.join(', ')}`,
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
// Process each role
|
|
@@ -95,7 +97,7 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
|
|
|
95
97
|
assignedRoles.push({
|
|
96
98
|
roleID: role.ID,
|
|
97
99
|
roleName: role.Name,
|
|
98
|
-
userRoleID: userRole.ID
|
|
100
|
+
userRoleID: userRole.ID,
|
|
99
101
|
});
|
|
100
102
|
}
|
|
101
103
|
else {
|
|
@@ -109,7 +111,7 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
|
|
|
109
111
|
// Prepare result
|
|
110
112
|
let message = '';
|
|
111
113
|
if (assignedRoles.length > 0) {
|
|
112
|
-
message += `Successfully assigned ${assignedRoles.length} role(s): ${assignedRoles.map(r => r.roleName).join(', ')}. `;
|
|
114
|
+
message += `Successfully assigned ${assignedRoles.length} role(s): ${assignedRoles.map((r) => r.roleName).join(', ')}. `;
|
|
113
115
|
}
|
|
114
116
|
if (skippedRoles.length > 0) {
|
|
115
117
|
message += `Skipped ${skippedRoles.length} already assigned role(s): ${skippedRoles.join(', ')}. `;
|
|
@@ -120,43 +122,43 @@ let AssignUserRolesAction = class AssignUserRolesAction extends actions_1.BaseAc
|
|
|
120
122
|
// Add output parameters
|
|
121
123
|
params.Params.push({
|
|
122
124
|
Name: 'AssignedRoleIDs',
|
|
123
|
-
Value: assignedRoles.map(r => r.roleID),
|
|
124
|
-
Type: 'Output'
|
|
125
|
+
Value: assignedRoles.map((r) => r.roleID),
|
|
126
|
+
Type: 'Output',
|
|
125
127
|
});
|
|
126
128
|
params.Params.push({
|
|
127
129
|
Name: 'AssignedUserRoleIDs',
|
|
128
|
-
Value: assignedRoles.map(r => r.userRoleID),
|
|
129
|
-
Type: 'Output'
|
|
130
|
+
Value: assignedRoles.map((r) => r.userRoleID),
|
|
131
|
+
Type: 'Output',
|
|
130
132
|
});
|
|
131
133
|
params.Params.push({
|
|
132
134
|
Name: 'AssignedRoleNames',
|
|
133
|
-
Value: assignedRoles.map(r => r.roleName),
|
|
134
|
-
Type: 'Output'
|
|
135
|
+
Value: assignedRoles.map((r) => r.roleName),
|
|
136
|
+
Type: 'Output',
|
|
135
137
|
});
|
|
136
138
|
params.Params.push({
|
|
137
139
|
Name: 'AssignedCount',
|
|
138
140
|
Value: assignedRoles.length,
|
|
139
|
-
Type: 'Output'
|
|
141
|
+
Type: 'Output',
|
|
140
142
|
});
|
|
141
143
|
return {
|
|
142
144
|
Success: errors.length === 0 && (assignedRoles.length > 0 || skippedRoles.length > 0),
|
|
143
145
|
ResultCode: errors.length > 0 ? 'PARTIAL_SUCCESS' : 'SUCCESS',
|
|
144
146
|
Message: message.trim(),
|
|
145
|
-
Params: params.Params
|
|
147
|
+
Params: params.Params,
|
|
146
148
|
};
|
|
147
149
|
}
|
|
148
150
|
catch (e) {
|
|
149
151
|
return {
|
|
150
152
|
Success: false,
|
|
151
153
|
ResultCode: 'FAILED',
|
|
152
|
-
Message: `Error assigning user roles: ${e.message}
|
|
154
|
+
Message: `Error assigning user roles: ${e.message}`,
|
|
153
155
|
};
|
|
154
156
|
}
|
|
155
157
|
}
|
|
156
158
|
};
|
|
157
159
|
exports.AssignUserRolesAction = AssignUserRolesAction;
|
|
158
160
|
exports.AssignUserRolesAction = AssignUserRolesAction = __decorate([
|
|
159
|
-
(0, global_1.RegisterClass)(actions_1.BaseAction,
|
|
161
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, 'AssignUserRolesAction')
|
|
160
162
|
], AssignUserRolesAction);
|
|
161
163
|
function LoadAssignUserRolesAction() {
|
|
162
164
|
// 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
|
|
1
|
+
{"version":3,"file":"assign-user-roles.action.js","sourceRoot":"","sources":["../../../src/custom/user-management/assign-user-roles.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionResultSimple, RunActionParams } from
|
|
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;
|
|
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"}
|
|
@@ -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
|
|
12
|
+
const global_2 = require("@memberjunction/global");
|
|
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,55 +52,54 @@ 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
|
|
63
|
+
const authRv = new global_2.RunView();
|
|
64
64
|
const authResult = await authRv.RunView({
|
|
65
65
|
EntityName: 'Authorization Roles',
|
|
66
|
-
ExtraFilter: `RoleID IN (SELECT RoleID FROM ${
|
|
67
|
-
ResultType: 'simple'
|
|
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',
|
|
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
|
|
73
|
+
const md = new global_2.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 ||
|
|
86
|
-
userPermissions.CanUpdate || userPermissions.CanDelete;
|
|
85
|
+
hasPermission = userPermissions.CanCreate || userPermissions.CanRead || userPermissions.CanUpdate || userPermissions.CanDelete;
|
|
87
86
|
// Add all CRUD permissions as output parameters
|
|
88
87
|
params.Params.push({
|
|
89
88
|
Name: 'CanCreate',
|
|
90
89
|
Value: userPermissions.CanCreate,
|
|
91
|
-
Type: 'Output'
|
|
90
|
+
Type: 'Output',
|
|
92
91
|
}, {
|
|
93
92
|
Name: 'CanUpdate',
|
|
94
93
|
Value: userPermissions.CanUpdate,
|
|
95
|
-
Type: 'Output'
|
|
94
|
+
Type: 'Output',
|
|
96
95
|
}, {
|
|
97
96
|
Name: 'CanRead',
|
|
98
97
|
Value: userPermissions.CanRead,
|
|
99
|
-
Type: 'Output'
|
|
98
|
+
Type: 'Output',
|
|
100
99
|
}, {
|
|
101
100
|
Name: 'CanDelete',
|
|
102
101
|
Value: userPermissions.CanDelete,
|
|
103
|
-
Type: 'Output'
|
|
102
|
+
Type: 'Output',
|
|
104
103
|
});
|
|
105
104
|
break;
|
|
106
105
|
}
|
|
@@ -108,13 +107,13 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
|
|
|
108
107
|
params.Params.push({
|
|
109
108
|
Name: 'HasPermission',
|
|
110
109
|
Value: hasPermission,
|
|
111
|
-
Type: 'Output'
|
|
110
|
+
Type: 'Output',
|
|
112
111
|
});
|
|
113
112
|
if (userRoles.length > 0) {
|
|
114
113
|
params.Params.push({
|
|
115
114
|
Name: 'UserRoles',
|
|
116
115
|
Value: userRoles,
|
|
117
|
-
Type: 'Output'
|
|
116
|
+
Type: 'Output',
|
|
118
117
|
});
|
|
119
118
|
}
|
|
120
119
|
return {
|
|
@@ -123,21 +122,21 @@ let CheckUserPermissionAction = class CheckUserPermissionAction extends actions_
|
|
|
123
122
|
Message: hasPermission
|
|
124
123
|
? `User has required ${permissionType}: ${permissionName}`
|
|
125
124
|
: `User does not have required ${permissionType}: ${permissionName}`,
|
|
126
|
-
Params: params.Params
|
|
125
|
+
Params: params.Params,
|
|
127
126
|
};
|
|
128
127
|
}
|
|
129
128
|
catch (e) {
|
|
130
129
|
return {
|
|
131
130
|
Success: false,
|
|
132
131
|
ResultCode: 'FAILED',
|
|
133
|
-
Message: `Error checking user permission: ${e.message}
|
|
132
|
+
Message: `Error checking user permission: ${e.message}`,
|
|
134
133
|
};
|
|
135
134
|
}
|
|
136
135
|
}
|
|
137
136
|
};
|
|
138
137
|
exports.CheckUserPermissionAction = CheckUserPermissionAction;
|
|
139
138
|
exports.CheckUserPermissionAction = CheckUserPermissionAction = __decorate([
|
|
140
|
-
(0, global_1.RegisterClass)(actions_1.BaseAction,
|
|
139
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, 'CheckUserPermissionAction')
|
|
141
140
|
], CheckUserPermissionAction);
|
|
142
141
|
function LoadCheckUserPermissionAction() {
|
|
143
142
|
// 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":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD
|
|
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
|
|
2
|
-
import { CreateRecordAction } from
|
|
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;
|
|
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"}
|