@marsson/ciutils 0.0.5 → 0.0.7
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/README.md +55 -0
- package/lib/commands/remove/assignments.d.ts +20 -0
- package/lib/commands/remove/assignments.js +161 -0
- package/lib/commands/remove/assignments.js.map +1 -0
- package/lib/commands/reporton/deployment.js +6 -1
- package/lib/commands/reporton/deployment.js.map +1 -1
- package/lib/utils/Utils.d.ts +61 -0
- package/lib/utils/Utils.js +209 -0
- package/lib/utils/Utils.js.map +1 -0
- package/messages/remove.assignments.md +35 -0
- package/oclif.lock +2965 -1924
- package/oclif.manifest.json +78 -45
- package/package.json +8 -4
package/README.md
CHANGED
@@ -110,5 +110,60 @@ sf plugins
|
|
110
110
|
## Commands
|
111
111
|
|
112
112
|
<!-- commands -->
|
113
|
+
* [`sf remove assignments`](#sf-remove-assignments)
|
114
|
+
* [`sf reporton deployment`](#sf-reporton-deployment)
|
113
115
|
|
116
|
+
## `sf remove assignments`
|
117
|
+
|
118
|
+
Summary of a command.
|
119
|
+
|
120
|
+
```
|
121
|
+
USAGE
|
122
|
+
$ sf remove assignments -b PermissionSet|PermissionSetGroup|Group -u <value> -o <value> [-n <value>]
|
123
|
+
|
124
|
+
FLAGS
|
125
|
+
-b, --object=<option>... (required) The object for which the assignment will be removed.
|
126
|
+
<options: PermissionSet|PermissionSetGroup|Group>
|
127
|
+
-n, --name=<value> Description of a flag.
|
128
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
129
|
+
configuration variable is already set.
|
130
|
+
-u, --usernames=<value>... (required) The list of usernames to be unassigned from the selected object. If in a
|
131
|
+
sandbox, the script will look for "usename" and "username".sandbox for unassignment.
|
132
|
+
|
133
|
+
DESCRIPTION
|
134
|
+
Summary of a command.
|
135
|
+
|
136
|
+
More information about a command. Don't repeat the summary.
|
137
|
+
|
138
|
+
EXAMPLES
|
139
|
+
$ sf remove assignments
|
140
|
+
|
141
|
+
FLAG DESCRIPTIONS
|
142
|
+
-n, --name=<value> Description of a flag.
|
143
|
+
|
144
|
+
More information about a flag. Don't repeat the summary.
|
145
|
+
```
|
146
|
+
|
147
|
+
## `sf reporton deployment`
|
148
|
+
|
149
|
+
Summary of a command.
|
150
|
+
|
151
|
+
```
|
152
|
+
USAGE
|
153
|
+
$ sf reporton deployment -o <value> -d <value> [-a]
|
154
|
+
|
155
|
+
FLAGS
|
156
|
+
-a, --awaitcompletion If the aplication should respond every 30 sec until the deployment is complete.
|
157
|
+
-d, --deploymentid=<value> (required) The id of the deployment that we want to report on.
|
158
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
159
|
+
configuration variable is already set.
|
160
|
+
|
161
|
+
DESCRIPTION
|
162
|
+
Summary of a command.
|
163
|
+
|
164
|
+
More information about a command. Don't repeat the summary.
|
165
|
+
|
166
|
+
EXAMPLES
|
167
|
+
$ sf reporton deployment
|
168
|
+
```
|
114
169
|
<!-- commandsstop -->
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
2
|
+
export type RemoveAssignmentsResult = {
|
3
|
+
path: string;
|
4
|
+
};
|
5
|
+
export default class RemoveAssignments extends SfCommand<RemoveAssignmentsResult> {
|
6
|
+
static readonly summary: string;
|
7
|
+
static readonly description: string;
|
8
|
+
static readonly examples: string[];
|
9
|
+
static readonly flags: {
|
10
|
+
name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
11
|
+
object: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<("Group" | "PermissionSet" | "PermissionSetGroup")[], import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
12
|
+
usernames: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
13
|
+
'target-org': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
14
|
+
};
|
15
|
+
private connection;
|
16
|
+
run(): Promise<RemoveAssignmentsResult>;
|
17
|
+
private matchUsersAndGenerateOrgUserList;
|
18
|
+
private processHandler;
|
19
|
+
private finalize;
|
20
|
+
}
|
@@ -0,0 +1,161 @@
|
|
1
|
+
import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
|
2
|
+
import { Messages } from '@salesforce/core';
|
3
|
+
import { BatchDownloadHelper, mapSObjectsByKeyField, OrgDetails, UnassignableObject, UserNameOrg, UserNameOrgError, } from '../../utils/Utils.js';
|
4
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
5
|
+
const messages = Messages.loadMessages('@marsson/ciutils', 'remove.assignments');
|
6
|
+
export default class RemoveAssignments extends SfCommand {
|
7
|
+
static summary = messages.getMessage('summary');
|
8
|
+
static description = messages.getMessage('description');
|
9
|
+
static examples = messages.getMessages('examples');
|
10
|
+
static flags = {
|
11
|
+
name: Flags.string({
|
12
|
+
summary: messages.getMessage('flags.name.summary'),
|
13
|
+
description: messages.getMessage('flags.name.description'),
|
14
|
+
char: 'n',
|
15
|
+
required: false,
|
16
|
+
}),
|
17
|
+
object: Flags.option({
|
18
|
+
summary: messages.getMessage('flags.object.summary'),
|
19
|
+
char: 'b',
|
20
|
+
required: true,
|
21
|
+
multiple: true,
|
22
|
+
options: ['PermissionSet', 'PermissionSetGroup', 'Group'],
|
23
|
+
})(),
|
24
|
+
usernames: Flags.string({
|
25
|
+
summary: messages.getMessage('flags.usernames.summary'),
|
26
|
+
char: 'u',
|
27
|
+
required: true,
|
28
|
+
multiple: true,
|
29
|
+
}),
|
30
|
+
'target-org': Flags.requiredOrg(),
|
31
|
+
};
|
32
|
+
connection;
|
33
|
+
async run() {
|
34
|
+
const { flags } = await this.parse(RemoveAssignments);
|
35
|
+
const processTarget = new ProcessTarget();
|
36
|
+
this.connection = flags['target-org'].getConnection();
|
37
|
+
this.spinner.start('fetching data');
|
38
|
+
// gets all the users from the org using batch
|
39
|
+
const allObjects = await BatchDownloadHelper.fetchMultipleObjectsInParallell(this.connection);
|
40
|
+
if (typeof allObjects.users === 'undefined') {
|
41
|
+
this.log('Error on user query. log a bug on github!');
|
42
|
+
}
|
43
|
+
processTarget.userByUserName = mapSObjectsByKeyField(allObjects.users, 'Username');
|
44
|
+
processTarget.groupByUserId = mapSObjectsByKeyField(allObjects.groupmembers, 'UserOrGroupId');
|
45
|
+
processTarget.permissionsetByUserId = mapSObjectsByKeyField(allObjects.permissionsets, 'AssigneeId');
|
46
|
+
processTarget.permissionsetGroupByUserId = mapSObjectsByKeyField(allObjects.permissionsetgroups, 'AssigneeId');
|
47
|
+
this.spinner.stop('data fetched');
|
48
|
+
const answeruserlist = await this.matchUsersAndGenerateOrgUserList(processTarget.userByUserName, flags['usernames']);
|
49
|
+
processTarget.usernameOrgs = answeruserlist.total;
|
50
|
+
processTarget.userNameByUserId = answeruserlist.unerroredById;
|
51
|
+
await this.processHandler(this.connection, processTarget, flags.object);
|
52
|
+
this.finalize(processTarget);
|
53
|
+
return {
|
54
|
+
path: '/Users/marcelo.cost/Projects/ciutils/src/commands/remove/assignments.ts',
|
55
|
+
};
|
56
|
+
}
|
57
|
+
async matchUsersAndGenerateOrgUserList(allUserByUsername, requestedUsers) {
|
58
|
+
const response = { total: new Array(), unerroredById: new Map() };
|
59
|
+
const userConfigs = [];
|
60
|
+
const unerroredById = new Map();
|
61
|
+
const sandboxName = await OrgDetails.getSandboxName(this.connection);
|
62
|
+
for (const user of requestedUsers) {
|
63
|
+
const userorg = new UserNameOrg(sandboxName, user);
|
64
|
+
if (allUserByUsername.has(user) || allUserByUsername.has(user + '.' + sandboxName)) {
|
65
|
+
// UGLY: Assuming there is ALWAYS 1 username/Id true, but still ugly
|
66
|
+
if (allUserByUsername.get(user) !== undefined) {
|
67
|
+
const userlist = allUserByUsername.get(user);
|
68
|
+
userorg.userId = userlist[0].Id;
|
69
|
+
userorg.username = user;
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
const userlist = allUserByUsername.get(user + '.' + sandboxName);
|
73
|
+
userorg.userId = userlist[0].Id;
|
74
|
+
userorg.username = user + '.' + sandboxName;
|
75
|
+
}
|
76
|
+
unerroredById.set(userorg.userId, userorg);
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
userorg.error = UserNameOrgError.USER_NOT_FOUND;
|
80
|
+
}
|
81
|
+
userConfigs.push(userorg);
|
82
|
+
}
|
83
|
+
response.total = userConfigs;
|
84
|
+
response.unerroredById = unerroredById;
|
85
|
+
return response;
|
86
|
+
}
|
87
|
+
// eslint-disable-next-line class-methods-use-this
|
88
|
+
async processHandler(conn, target, objects) {
|
89
|
+
const groupAssignmentsToBeDeleted = new Array();
|
90
|
+
const permissionSetAssignmentsToBeDeleted = new Array();
|
91
|
+
const permissionSetGroupAssignmentsToBeDeleted = new Array();
|
92
|
+
for (const usernameorg of target.userNameByUserId.values()) {
|
93
|
+
// groups handling
|
94
|
+
if (objects.includes('Group')) {
|
95
|
+
const userGroups = target.groupByUserId.get(usernameorg.userId);
|
96
|
+
if (userGroups !== undefined) {
|
97
|
+
groupAssignmentsToBeDeleted.push(...UnassignableObject.createUnassignablesforGroups(userGroups));
|
98
|
+
}
|
99
|
+
}
|
100
|
+
if (objects.includes('PermissionSet')) {
|
101
|
+
const userPermissionSets = target.permissionsetByUserId.get(usernameorg.userId);
|
102
|
+
if (userPermissionSets !== undefined) {
|
103
|
+
permissionSetAssignmentsToBeDeleted.push(...UnassignableObject.createUnassignablesforPermissionSet(userPermissionSets));
|
104
|
+
}
|
105
|
+
}
|
106
|
+
if (objects.includes('PermissionSetGroup')) {
|
107
|
+
const userPermissionSetGroups = target.permissionsetGroupByUserId.get(usernameorg.userId);
|
108
|
+
if (userPermissionSetGroups !== undefined) {
|
109
|
+
permissionSetGroupAssignmentsToBeDeleted.push(...UnassignableObject.createUnassignablesforPermissionSetGroup(userPermissionSetGroups));
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
if (groupAssignmentsToBeDeleted.length +
|
114
|
+
permissionSetGroupAssignmentsToBeDeleted.length +
|
115
|
+
permissionSetAssignmentsToBeDeleted.length !==
|
116
|
+
0) {
|
117
|
+
await BatchDownloadHelper.deleteObjectsFromUnassignableObjects(conn, [
|
118
|
+
...groupAssignmentsToBeDeleted,
|
119
|
+
...permissionSetAssignmentsToBeDeleted,
|
120
|
+
...permissionSetGroupAssignmentsToBeDeleted,
|
121
|
+
]);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
finalize(target) {
|
125
|
+
const success = new Array();
|
126
|
+
const failure = new Array();
|
127
|
+
this.log('\n\n\n==========================================================================================================');
|
128
|
+
this.log('Finalized proccess: Showing overall user unassigned results');
|
129
|
+
this.log('==========================================================================================================');
|
130
|
+
for (const usernameOrg of target.usernameOrgs) {
|
131
|
+
if (usernameOrg.error === undefined) {
|
132
|
+
success.push(usernameOrg);
|
133
|
+
}
|
134
|
+
else {
|
135
|
+
failure.push(usernameOrg);
|
136
|
+
}
|
137
|
+
if (success.length !== 0) {
|
138
|
+
this.log('\n\n\n==========================================================================================================');
|
139
|
+
this.log(`Finalized Awesomely: ${success.map((anusernameOrg) => anusernameOrg.username).join(' ')}`);
|
140
|
+
this.log('==========================================================================================================');
|
141
|
+
}
|
142
|
+
}
|
143
|
+
if (failure.length !== 0) {
|
144
|
+
this.log('\n\n\n==========================================================================================================');
|
145
|
+
this.log('FAILURE LIST:');
|
146
|
+
for (const failed of failure) {
|
147
|
+
this.log(`${failed.username}, failed with error: ${failed.error}`);
|
148
|
+
}
|
149
|
+
this.log('==========================================================================================================');
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
class ProcessTarget {
|
154
|
+
userByUserName = new Map();
|
155
|
+
userNameByUserId = new Map();
|
156
|
+
groupByUserId = new Map();
|
157
|
+
permissionsetByUserId = new Map();
|
158
|
+
permissionsetGroupByUserId = new Map();
|
159
|
+
usernameOrgs = new Array();
|
160
|
+
}
|
161
|
+
//# sourceMappingURL=assignments.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"assignments.js","sourceRoot":"","sources":["../../../src/commands/remove/assignments.ts"],"names":[],"mappings":"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"}
|
@@ -61,7 +61,12 @@ export default class ReportonDeployment extends SfCommand {
|
|
61
61
|
}
|
62
62
|
/* eslint-enable no-await-in-loop */
|
63
63
|
async updateDeployResult(deploymentid) {
|
64
|
-
|
64
|
+
try {
|
65
|
+
this.deploymentStatus = await this.connection.metadata.checkDeployStatus(deploymentid, true);
|
66
|
+
}
|
67
|
+
catch (e) {
|
68
|
+
throw new Error('Invalid ID or expired deployment');
|
69
|
+
}
|
65
70
|
this.isComplete = this.deploymentStatus.status === 'Succeeded' || this.deploymentStatus.status === 'Failed';
|
66
71
|
}
|
67
72
|
updateProgressBars() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../src/commands/reporton/deployment.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../src/commands/reporton/deployment.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import { Connection } from '@salesforce/core';
|
2
|
+
import { RecordResult } from 'jsforce/record-result.js';
|
3
|
+
declare class AssignmentHelper {
|
4
|
+
}
|
5
|
+
declare enum ProcessStatus {
|
6
|
+
SUCCESS = 0,
|
7
|
+
FAILURE = 1,
|
8
|
+
UNPROCCESSED = 2
|
9
|
+
}
|
10
|
+
declare class OrgDetails {
|
11
|
+
private static MARSSON_EXCEPTION_APEX;
|
12
|
+
private static isASandbox;
|
13
|
+
private static sandboxName;
|
14
|
+
static isSandbox(con: Connection): Promise<boolean>;
|
15
|
+
static getSandboxName(con: Connection): Promise<string | void>;
|
16
|
+
}
|
17
|
+
declare class UserNameOrg {
|
18
|
+
username: string | undefined;
|
19
|
+
orgUsername: string | undefined;
|
20
|
+
userId: string | undefined;
|
21
|
+
error: UserNameOrgError | undefined;
|
22
|
+
groups: UnassignableObject[];
|
23
|
+
permissionsets: UnassignableObject[];
|
24
|
+
permissionsetgroups: UnassignableObject[];
|
25
|
+
constructor(orgName: string | void, username: string);
|
26
|
+
}
|
27
|
+
declare enum UserNameOrgError {
|
28
|
+
NO_ERROR = "",
|
29
|
+
USER_NOT_FOUND = "Username not found in org"
|
30
|
+
}
|
31
|
+
declare class UnassignableObject {
|
32
|
+
static OBJECT_CONVERT: Map<string, string>;
|
33
|
+
unassinableType: string;
|
34
|
+
objectid: string;
|
35
|
+
parentId: string;
|
36
|
+
processStatus: ProcessStatus;
|
37
|
+
errorMessage: string | undefined;
|
38
|
+
constructor(unasObject: string, objId: string, parentId: string);
|
39
|
+
static createUnassignablesforGroups(groups: SObject[]): UnassignableObject[];
|
40
|
+
static createUnassignablesforPermissionSet(groups: SObject[]): UnassignableObject[];
|
41
|
+
static createUnassignablesforPermissionSetGroup(groups: SObject[]): UnassignableObject[];
|
42
|
+
}
|
43
|
+
declare class BatchDownloadHelper {
|
44
|
+
static fetchAllUsers(conn: Connection): Promise<SObject[]>;
|
45
|
+
static fetchMultipleObjectsInParallell(conn: Connection): Promise<{
|
46
|
+
users: SObject[];
|
47
|
+
groupmembers: SObject[];
|
48
|
+
permissionsets: SObject[];
|
49
|
+
permissionsetgroups: SObject[];
|
50
|
+
}>;
|
51
|
+
static deleteObjectsFromUnassignableObjects(conn: Connection, unassignableObjects: UnassignableObject[]): Promise<void>;
|
52
|
+
static bulkDeleteRecords(conn: Connection, records: SObject[], objectType: string): Promise<RecordResult[]>;
|
53
|
+
static updateUnassignableDeletionResult(records: SObject[], results: RecordResult[], unassignableObjects: UnassignableObject[]): void;
|
54
|
+
private static bulkQuery;
|
55
|
+
}
|
56
|
+
interface SObject {
|
57
|
+
[key: string]: unknown;
|
58
|
+
Id: string;
|
59
|
+
}
|
60
|
+
declare function mapSObjectsByKeyField(sobjects: SObject[], keyField: string): Map<string, SObject[]>;
|
61
|
+
export { OrgDetails, UserNameOrg, BatchDownloadHelper, AssignmentHelper, mapSObjectsByKeyField, UnassignableObject, SObject, UserNameOrgError, };
|
@@ -0,0 +1,209 @@
|
|
1
|
+
/* tslint:disable */
|
2
|
+
class AssignmentHelper {
|
3
|
+
}
|
4
|
+
var ProcessStatus;
|
5
|
+
(function (ProcessStatus) {
|
6
|
+
ProcessStatus[ProcessStatus["SUCCESS"] = 0] = "SUCCESS";
|
7
|
+
ProcessStatus[ProcessStatus["FAILURE"] = 1] = "FAILURE";
|
8
|
+
ProcessStatus[ProcessStatus["UNPROCCESSED"] = 2] = "UNPROCCESSED";
|
9
|
+
})(ProcessStatus || (ProcessStatus = {}));
|
10
|
+
class OrgDetails {
|
11
|
+
static MARSSON_EXCEPTION_APEX = 'System.Domain d = System.DomainParser.parse(URL.getOrgDomainUrl()); throw new HandledException(d.getSandboxName());';
|
12
|
+
static isASandbox;
|
13
|
+
static sandboxName;
|
14
|
+
static async isSandbox(con) {
|
15
|
+
if (this.isASandbox !== undefined) {
|
16
|
+
return this.isASandbox;
|
17
|
+
}
|
18
|
+
const result = await con.tooling.executeAnonymous(this.MARSSON_EXCEPTION_APEX);
|
19
|
+
if (result.exceptionMessage?.startsWith('System.HandledException:')) {
|
20
|
+
this.sandboxName = result.exceptionMessage?.replace('System.HandledException: ', '');
|
21
|
+
this.isASandbox = true;
|
22
|
+
return this.isASandbox;
|
23
|
+
}
|
24
|
+
this.isASandbox = false;
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
static async getSandboxName(con) {
|
28
|
+
if ((await this.isSandbox(con)) === true) {
|
29
|
+
return this.sandboxName;
|
30
|
+
}
|
31
|
+
return;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
class UserNameOrg {
|
35
|
+
username;
|
36
|
+
orgUsername;
|
37
|
+
userId;
|
38
|
+
error;
|
39
|
+
groups;
|
40
|
+
permissionsets;
|
41
|
+
permissionsetgroups;
|
42
|
+
constructor(orgName, username) {
|
43
|
+
this.username = username;
|
44
|
+
if (typeof orgName === 'string') {
|
45
|
+
this.orgUsername = username + '.' + orgName;
|
46
|
+
}
|
47
|
+
this.groups = new Array();
|
48
|
+
this.permissionsets = new Array();
|
49
|
+
this.permissionsetgroups = new Array();
|
50
|
+
}
|
51
|
+
}
|
52
|
+
var UserNameOrgError;
|
53
|
+
(function (UserNameOrgError) {
|
54
|
+
UserNameOrgError["NO_ERROR"] = "";
|
55
|
+
UserNameOrgError["USER_NOT_FOUND"] = "Username not found in org";
|
56
|
+
})(UserNameOrgError || (UserNameOrgError = {}));
|
57
|
+
class UnassignableObject {
|
58
|
+
static OBJECT_CONVERT = new Map([
|
59
|
+
['Group', 'GroupMember'],
|
60
|
+
['PermissionSet', 'PermissionSetAssignment'],
|
61
|
+
['PermissionSetGroup', 'PermissionSetAssignment'],
|
62
|
+
]);
|
63
|
+
unassinableType;
|
64
|
+
objectid;
|
65
|
+
parentId;
|
66
|
+
processStatus = ProcessStatus.UNPROCCESSED;
|
67
|
+
errorMessage;
|
68
|
+
constructor(unasObject, objId, parentId) {
|
69
|
+
this.unassinableType = unasObject;
|
70
|
+
this.objectid = objId;
|
71
|
+
this.processStatus = ProcessStatus.UNPROCCESSED;
|
72
|
+
this.parentId = parentId;
|
73
|
+
}
|
74
|
+
static createUnassignablesforGroups(groups) {
|
75
|
+
const response = new Array();
|
76
|
+
for (const sobject of groups) {
|
77
|
+
response.push(new UnassignableObject('Group', sobject.Id, sobject['UserOrGroupId']));
|
78
|
+
}
|
79
|
+
return response;
|
80
|
+
}
|
81
|
+
static createUnassignablesforPermissionSet(groups) {
|
82
|
+
const response = new Array();
|
83
|
+
for (const sobject of groups) {
|
84
|
+
response.push(new UnassignableObject('PermissionSet', sobject.Id, sobject['AssigneeId']));
|
85
|
+
}
|
86
|
+
return response;
|
87
|
+
}
|
88
|
+
static createUnassignablesforPermissionSetGroup(groups) {
|
89
|
+
const response = new Array();
|
90
|
+
for (const sobject of groups) {
|
91
|
+
response.push(new UnassignableObject('PermissionSetGroup', sobject.Id, sobject['AssigneeId']));
|
92
|
+
}
|
93
|
+
return response;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
class BatchDownloadHelper {
|
97
|
+
static fetchAllUsers(conn) {
|
98
|
+
const usersAndPermsetAssignments = this.bulkQuery(conn, 'SELECT Id, Username FROM User');
|
99
|
+
return usersAndPermsetAssignments;
|
100
|
+
// Use the fetched User IDs to then query for PermissionSetAssignments and GroupMembers using similar Bulk API calls or logic.
|
101
|
+
}
|
102
|
+
static async fetchMultipleObjectsInParallell(conn) {
|
103
|
+
// create return object.
|
104
|
+
const response = {
|
105
|
+
users: new Array(),
|
106
|
+
groupmembers: new Array(),
|
107
|
+
permissionsets: new Array(),
|
108
|
+
permissionsetgroups: new Array(),
|
109
|
+
};
|
110
|
+
const queries = [];
|
111
|
+
queries.push({ objectName: 'User', query: 'SELECT Id,Username FROM User' });
|
112
|
+
queries.push({ objectName: 'GroupMember', query: 'SELECT Id,UserOrGroupId FROM GroupMember' });
|
113
|
+
queries.push({
|
114
|
+
objectName: 'PermissionSetAssignment',
|
115
|
+
query: 'SELECT Id,AssigneeId FROM PermissionSetAssignment WHERE PermissionSetId != NULL',
|
116
|
+
});
|
117
|
+
queries.push({
|
118
|
+
objectName: 'PermissionSetAssignment',
|
119
|
+
query: 'SELECT Id,AssigneeId FROM PermissionSetAssignment WHERE PermissionSetGroupId != NULL',
|
120
|
+
});
|
121
|
+
const queryPromises = queries.map((q) => this.bulkQuery(conn, q.query));
|
122
|
+
const results = await Promise.all(queryPromises);
|
123
|
+
response.users = results[0];
|
124
|
+
response.groupmembers = results[1];
|
125
|
+
response.permissionsets = results[2];
|
126
|
+
response.permissionsetgroups = results[3];
|
127
|
+
return response;
|
128
|
+
}
|
129
|
+
static async deleteObjectsFromUnassignableObjects(conn, unassignableObjects) {
|
130
|
+
const unassignableByType = new Map();
|
131
|
+
for (const unassignable of unassignableObjects) {
|
132
|
+
if (!unassignableByType.has(unassignable.unassinableType)) {
|
133
|
+
unassignableByType.set(unassignable.unassinableType, new Array());
|
134
|
+
}
|
135
|
+
unassignableByType.get(unassignable.unassinableType).push(unassignable);
|
136
|
+
}
|
137
|
+
for (const currenKey of unassignableByType.keys()) {
|
138
|
+
const records = unassignableByType.get(currenKey).map((unobj) => ({ Id: unobj.objectid }));
|
139
|
+
// eslint-disable-next-line no-await-in-loop
|
140
|
+
const results = await this.bulkDeleteRecords(conn, records, currenKey);
|
141
|
+
BatchDownloadHelper.updateUnassignableDeletionResult(records, results, unassignableByType.get(currenKey));
|
142
|
+
}
|
143
|
+
}
|
144
|
+
static async bulkDeleteRecords(conn, records, objectType) {
|
145
|
+
// Create a Bulk API job for deletion
|
146
|
+
const job = conn.bulk.createJob(UnassignableObject.OBJECT_CONVERT.get(objectType), 'delete');
|
147
|
+
const batch = job.createBatch();
|
148
|
+
// Initiate the bulk delete operation
|
149
|
+
void batch.execute(records);
|
150
|
+
// Handling the async operation with proper event listeners
|
151
|
+
return new Promise((resolve, reject) => {
|
152
|
+
void batch.on('queue', () => {
|
153
|
+
batch.poll(1000, 60000); // Poll every 1 second, timeout after 1 minute
|
154
|
+
});
|
155
|
+
void batch.on('response', (result) => {
|
156
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
157
|
+
resolve(result);
|
158
|
+
});
|
159
|
+
void batch.on('error', (error) => {
|
160
|
+
reject(error);
|
161
|
+
});
|
162
|
+
});
|
163
|
+
}
|
164
|
+
static updateUnassignableDeletionResult(records, results, unassignableObjects) {
|
165
|
+
for (let i = 0; i < records.length; i++) {
|
166
|
+
const object = unassignableObjects[i];
|
167
|
+
const result = results[i];
|
168
|
+
if (result.success === true) {
|
169
|
+
object.processStatus = ProcessStatus.SUCCESS;
|
170
|
+
}
|
171
|
+
else {
|
172
|
+
object.processStatus = ProcessStatus.FAILURE;
|
173
|
+
object.errorMessage = '';
|
174
|
+
for (const err of result.errors) {
|
175
|
+
object.errorMessage = object.errorMessage + err.message;
|
176
|
+
}
|
177
|
+
}
|
178
|
+
}
|
179
|
+
}
|
180
|
+
static async bulkQuery(conn, query) {
|
181
|
+
return new Promise((resolve, reject) => {
|
182
|
+
const records = [];
|
183
|
+
conn.bulk
|
184
|
+
.query(query)
|
185
|
+
.on('record', (rec) => {
|
186
|
+
records.push(rec); // Accumulate records
|
187
|
+
})
|
188
|
+
.on('end', () => {
|
189
|
+
resolve(records); // Resolve the promise with the accumulated records once all have been received
|
190
|
+
})
|
191
|
+
.on('error', (err) => {
|
192
|
+
reject(err); // Reject the promise on error
|
193
|
+
});
|
194
|
+
});
|
195
|
+
}
|
196
|
+
}
|
197
|
+
function mapSObjectsByKeyField(sobjects, keyField) {
|
198
|
+
const map = new Map();
|
199
|
+
sobjects.forEach((sobject) => {
|
200
|
+
const key = sobject[keyField];
|
201
|
+
if (!map.has(key)) {
|
202
|
+
map.set(key, new Array());
|
203
|
+
}
|
204
|
+
map.get(key).push(sobject);
|
205
|
+
});
|
206
|
+
return map;
|
207
|
+
}
|
208
|
+
export { OrgDetails, UserNameOrg, BatchDownloadHelper, AssignmentHelper, mapSObjectsByKeyField, UnassignableObject, UserNameOrgError, };
|
209
|
+
//# sourceMappingURL=Utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/utils/Utils.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# summary
|
2
|
+
|
3
|
+
Summary of a command.
|
4
|
+
|
5
|
+
# description
|
6
|
+
|
7
|
+
More information about a command. Don't repeat the summary.
|
8
|
+
|
9
|
+
# flags.name.summary
|
10
|
+
|
11
|
+
Description of a flag.
|
12
|
+
|
13
|
+
# flags.name.description
|
14
|
+
|
15
|
+
More information about a flag. Don't repeat the summary.
|
16
|
+
|
17
|
+
# examples
|
18
|
+
|
19
|
+
- <%= config.bin %> <%= command.id %>
|
20
|
+
|
21
|
+
# flags.target-org.summary
|
22
|
+
|
23
|
+
undefined
|
24
|
+
|
25
|
+
# flags.object.summary
|
26
|
+
|
27
|
+
The object for which the assignment will be removed.
|
28
|
+
|
29
|
+
# flags.usernames.summary
|
30
|
+
|
31
|
+
The list of usernames to be unassigned from the selected object. If in a sandbox, the script will look for "usename" and "username".sandbox for unassignment.
|
32
|
+
|
33
|
+
# flags.target-org.summary
|
34
|
+
|
35
|
+
undefined
|