sfdx-easy-sources 0.9.0 → 0.9.1-develop.2
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/lib/commands/easysources/allmeta/minify.d.ts +1 -0
- package/lib/commands/easysources/allmeta/minify.js +17 -2
- package/lib/commands/easysources/allmeta/minify.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/merge.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/merge.js +46 -17
- package/lib/commands/easysources/objecttranslations/merge.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/minify.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/minify.js +50 -29
- package/lib/commands/easysources/objecttranslations/minify.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/split.js +76 -52
- package/lib/commands/easysources/objecttranslations/split.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/upsert.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/upsert.js +107 -75
- package/lib/commands/easysources/objecttranslations/upsert.js.map +1 -1
- package/lib/commands/easysources/permissionsets/delete.js +41 -24
- package/lib/commands/easysources/permissionsets/delete.js.map +1 -1
- package/lib/commands/easysources/permissionsets/minify.js +50 -29
- package/lib/commands/easysources/permissionsets/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/delete.js +41 -23
- package/lib/commands/easysources/profiles/delete.js.map +1 -1
- package/lib/commands/easysources/profiles/minify.js +50 -29
- package/lib/commands/easysources/profiles/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/split.js +1 -2
- package/lib/commands/easysources/profiles/split.js.map +1 -1
- package/lib/commands/easysources/recordtypes/delete.js +45 -30
- package/lib/commands/easysources/recordtypes/delete.js.map +1 -1
- package/lib/commands/easysources/recordtypes/merge.js +24 -9
- package/lib/commands/easysources/recordtypes/merge.js.map +1 -1
- package/lib/commands/easysources/recordtypes/split.js +56 -40
- package/lib/commands/easysources/recordtypes/split.js.map +1 -1
- package/lib/commands/easysources/recordtypes/updatekey.js +36 -20
- package/lib/commands/easysources/recordtypes/updatekey.js.map +1 -1
- package/lib/commands/easysources/recordtypes/upsert.js +88 -65
- package/lib/commands/easysources/recordtypes/upsert.js.map +1 -1
- package/lib/commands/easysources/translations/minify.js +51 -29
- package/lib/commands/easysources/translations/minify.js.map +1 -1
- package/lib/utils/commands/keyupdater.d.ts +5 -1
- package/lib/utils/commands/keyupdater.js +35 -20
- package/lib/utils/commands/keyupdater.js.map +1 -1
- package/lib/utils/commands/merger.d.ts +4 -0
- package/lib/utils/commands/merger.js +11 -5
- package/lib/utils/commands/merger.js.map +1 -1
- package/lib/utils/commands/splitter.d.ts +5 -1
- package/lib/utils/commands/splitter.js +60 -46
- package/lib/utils/commands/splitter.js.map +1 -1
- package/lib/utils/commands/upserter.d.ts +3 -3
- package/lib/utils/commands/upserter.js +126 -103
- package/lib/utils/commands/upserter.js.map +1 -1
- package/lib/utils/commands/utils.d.ts +4 -0
- package/lib/utils/commands/utils.js +9 -1
- package/lib/utils/commands/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ const constants_objecttranslations_1 = require("../../../utils/constants/constan
|
|
|
20
20
|
const utils_objtransl_1 = require("../../../utils/utils_objtransl");
|
|
21
21
|
const utils_2 = require("../../../utils/commands/utils");
|
|
22
22
|
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
23
|
+
const split_1 = require("./split");
|
|
23
24
|
const fs = require('fs-extra');
|
|
24
25
|
const settings = (0, localSettings_1.loadSettings)();
|
|
25
26
|
// Initialize Messages with the current plugin directory
|
|
@@ -66,7 +67,14 @@ async function objectTranslationUpsert(options = {}) {
|
|
|
66
67
|
const baseInputDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
67
68
|
const baseOutputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
68
69
|
const inputObject = (options.input);
|
|
69
|
-
|
|
70
|
+
// Initialize result object
|
|
71
|
+
const result = { result: 'OK', items: {} };
|
|
72
|
+
try {
|
|
73
|
+
(0, filesUtils_1.checkDirOrErrorSync)(baseInputDir);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
77
|
+
}
|
|
70
78
|
var objectTList = [];
|
|
71
79
|
if (inputObject) {
|
|
72
80
|
objectTList = inputObject.split(',');
|
|
@@ -82,92 +90,116 @@ async function objectTranslationUpsert(options = {}) {
|
|
|
82
90
|
const inputFile = (0, path_1.join)(baseInputDir, objTrName, fullFilename);
|
|
83
91
|
if (!fs.existsSync(inputFile)) {
|
|
84
92
|
console.log('Skipping ' + objTrName + '; File ' + inputFile + ' does not exist!');
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const outputDir = (0, path_1.join)(baseOutputDir, objTrName, 'csv');
|
|
89
|
-
const inputFilePart = (0, path_1.join)(baseOutputDir, objTrName, 'csv', objTrName + constants_1.XML_PART_EXTENSION);
|
|
90
|
-
// If outputDir or inputFilePart doesn't exist, run split command instead
|
|
91
|
-
if (!fs.existsSync(outputDir) || !fs.existsSync(inputFilePart)) {
|
|
92
|
-
console.log('⚠️ Output csv directory or -part.xml file not found. Running split command for: ' + objTrName);
|
|
93
|
-
// Create flags for split command with just the current object
|
|
94
|
-
const splitFlags = {
|
|
95
|
-
...options,
|
|
96
|
-
input: objTrName
|
|
93
|
+
result.items[objTrName] = {
|
|
94
|
+
result: 'KO',
|
|
95
|
+
error: `File ${inputFile} does not exist`
|
|
97
96
|
};
|
|
98
|
-
await (0, utils_2.executeCommand)(splitFlags, 'split', 'objecttranslations');
|
|
99
97
|
continue;
|
|
100
98
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
//
|
|
106
|
-
if ((
|
|
99
|
+
console.log('Upserting: ' + objTrName);
|
|
100
|
+
try {
|
|
101
|
+
const outputDir = (0, path_1.join)(baseOutputDir, objTrName, 'csv');
|
|
102
|
+
const inputFilePart = (0, path_1.join)(baseOutputDir, objTrName, 'csv', objTrName + constants_1.XML_PART_EXTENSION);
|
|
103
|
+
// If outputDir or inputFilePart doesn't exist, run split command instead
|
|
104
|
+
if (!fs.existsSync(outputDir) || !fs.existsSync(inputFilePart)) {
|
|
105
|
+
console.log('⚠️ Output csv directory or -part.xml file not found. Running split command for: ' + objTrName);
|
|
106
|
+
// Create flags for split command with just the current object
|
|
107
|
+
const splitFlags = {
|
|
108
|
+
...options,
|
|
109
|
+
input: objTrName
|
|
110
|
+
};
|
|
111
|
+
// Call split function directly and handle its result
|
|
112
|
+
const splitResult = await (0, split_1.objectTranslationSplit)(splitFlags);
|
|
113
|
+
if (splitResult.items && splitResult.items[objTrName]) {
|
|
114
|
+
result.items[objTrName] = splitResult.items[objTrName];
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
result.items[objTrName] = { result: 'KO', error: 'Split operation failed' };
|
|
118
|
+
}
|
|
107
119
|
continue;
|
|
108
|
-
// fixes scenarios when the tag is one, since it would be read as object and not array
|
|
109
|
-
if (!Array.isArray(myjson))
|
|
110
|
-
myjson = [myjson];
|
|
111
|
-
if (tag_section === constants_objecttranslations_1.OBJTRANSL_LAYOUT_ROOT) {
|
|
112
|
-
myjson = (0, utils_objtransl_1.transformLayoutXMLtoCSV)(myjson);
|
|
113
120
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
const xmlFileContent = (await (0, filesUtils_1.readXmlFromFile)(inputFile)) ?? {};
|
|
122
|
+
const objTranslProperties = xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] ?? {};
|
|
123
|
+
for (const tag_section in constants_objecttranslations_1.OBJTRANSL_ITEMS) {
|
|
124
|
+
var myjson = objTranslProperties[tag_section];
|
|
125
|
+
// skip when tag is not found in the xml
|
|
126
|
+
if ((myjson == undefined || myjson == '') && tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
127
|
+
continue;
|
|
128
|
+
// fixes scenarios when the tag is one, since it would be read as object and not array
|
|
129
|
+
if (!Array.isArray(myjson))
|
|
130
|
+
myjson = [myjson];
|
|
131
|
+
if (tag_section === constants_objecttranslations_1.OBJTRANSL_LAYOUT_ROOT) {
|
|
132
|
+
myjson = (0, utils_objtransl_1.transformLayoutXMLtoCSV)(myjson);
|
|
122
133
|
}
|
|
134
|
+
if (tag_section === constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT) {
|
|
135
|
+
myjson = [];
|
|
136
|
+
var fieldTrList = (0, utils_objtransl_1.getFieldTranslationFiles)((0, path_1.join)(baseInputDir, objTrName));
|
|
137
|
+
for (const fieldTrFilename of fieldTrList) {
|
|
138
|
+
const fieldTrPath = (0, path_1.join)(baseInputDir, objTrName, fieldTrFilename);
|
|
139
|
+
const xmlFileContent = (await (0, filesUtils_1.readXmlFromFile)(fieldTrPath)) ?? {};
|
|
140
|
+
const fieldTr = xmlFileContent[constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT_TAG] ?? {};
|
|
141
|
+
myjson.push(...(0, utils_objtransl_1.transformFieldXMLtoCSV)(fieldTr));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
(0, utils_1.generateTagId)(myjson, constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].key, constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers);
|
|
145
|
+
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
146
|
+
const outputFile = (0, path_1.join)(outputDir, (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
147
|
+
(0, filesUtils_1.checkDirOrCreateSync)(outputDir);
|
|
148
|
+
if (fs.existsSync(outputFile)) {
|
|
149
|
+
const csvFilePath = (0, path_1.join)(baseOutputDir, objTrName, 'csv', (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
150
|
+
var jsonMapOld = await (0, filesUtils_1.readCsvToJsonMap)(csvFilePath);
|
|
151
|
+
var jsonMapNew = (0, filesUtils_1.jsonArrayCsvToMap)(myjson);
|
|
152
|
+
jsonMapNew.forEach((value, key) => {
|
|
153
|
+
jsonMapOld.set(key, value);
|
|
154
|
+
});
|
|
155
|
+
myjson = Array.from(jsonMapOld.values());
|
|
156
|
+
}
|
|
157
|
+
if (options.sort === 'true') {
|
|
158
|
+
myjson = (0, utils_1.sortByKey)(myjson);
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
const csvContent = await csvWriter.toCsv(myjson, headers);
|
|
162
|
+
fs.writeFileSync(outputFile, csvContent, { flag: 'w+' });
|
|
163
|
+
// file written successfully
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
console.error(err);
|
|
167
|
+
throw new Error(`Failed to write CSV file ${outputFile}: ${err.message}`);
|
|
168
|
+
}
|
|
169
|
+
// writes the empty tag on the part file
|
|
170
|
+
// avoid writing for fieldTranslations, since they are separated files
|
|
171
|
+
if (tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
172
|
+
xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG][tag_section] = null;
|
|
123
173
|
}
|
|
124
|
-
(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
jsonMapOld.set(key, value);
|
|
134
|
-
});
|
|
135
|
-
myjson = Array.from(jsonMapOld.values());
|
|
136
|
-
}
|
|
137
|
-
if (options.sort === 'true') {
|
|
138
|
-
myjson = (0, utils_1.sortByKey)(myjson);
|
|
139
|
-
}
|
|
140
|
-
try {
|
|
141
|
-
const csvContent = await csvWriter.toCsv(myjson, headers);
|
|
142
|
-
fs.writeFileSync(outputFile, csvContent, { flag: 'w+' });
|
|
143
|
-
// file written successfully
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
console.error(err);
|
|
174
|
+
if (fs.existsSync(inputFilePart)) {
|
|
175
|
+
const xmlFileContentPart = (await (0, filesUtils_1.readXmlFromFile)(inputFilePart)) ?? {};
|
|
176
|
+
const objTranslPropertiesPart = xmlFileContentPart[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] ?? {};
|
|
177
|
+
for (var k in objTranslProperties) {
|
|
178
|
+
objTranslPropertiesPart[k] = objTranslProperties[k];
|
|
179
|
+
}
|
|
180
|
+
xmlFileContentPart[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] = objTranslPropertiesPart;
|
|
181
|
+
xmlFileContentPart[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] = (0, utils_2.sortObjectKeys)(xmlFileContentPart[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG]);
|
|
182
|
+
(0, filesUtils_1.writeXmlToFile)(inputFilePart, xmlFileContentPart);
|
|
147
183
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (fs.existsSync(inputFilePart)) {
|
|
154
|
-
const xmlFileContentPart = (await (0, filesUtils_1.readXmlFromFile)(inputFilePart)) ?? {};
|
|
155
|
-
const objTranslPropertiesPart = xmlFileContentPart[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] ?? {};
|
|
156
|
-
for (var k in objTranslProperties) {
|
|
157
|
-
objTranslPropertiesPart[k] = objTranslProperties[k];
|
|
184
|
+
else {
|
|
185
|
+
if (fs.existsSync((0, path_1.join)(baseInputDir, objTrName, objTrName))) {
|
|
186
|
+
objTranslProperties[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] = (0, utils_2.sortObjectKeys)(objTranslProperties[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG]);
|
|
187
|
+
(0, filesUtils_1.writeXmlToFile)(inputFilePart, objTranslProperties);
|
|
188
|
+
}
|
|
158
189
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
(0, filesUtils_1.writeXmlToFile)(inputFilePart, xmlFileContentPart);
|
|
190
|
+
// Object processed successfully
|
|
191
|
+
result.items[objTrName] = { result: 'OK' };
|
|
162
192
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
193
|
+
catch (error) {
|
|
194
|
+
// Object processing failed
|
|
195
|
+
console.error(`Error processing object ${objTrName}:`, error);
|
|
196
|
+
result.items[objTrName] = {
|
|
197
|
+
result: 'KO',
|
|
198
|
+
error: error.message || 'Unknown error occurred'
|
|
199
|
+
};
|
|
168
200
|
}
|
|
169
201
|
}
|
|
170
|
-
return
|
|
202
|
+
return result;
|
|
171
203
|
}
|
|
172
204
|
exports.objectTranslationUpsert = objectTranslationUpsert;
|
|
173
205
|
//# sourceMappingURL=upsert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/upsert.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,0DAA4K;AAC5K,gDAA+D;AAC/D,kEAAgH;AAChH,4DAAqD;AACrD,+BAA4B;AAC5B,gEAA4D;AAC5D,wGAAyO;AACzO,oEAA2H;AAC3H,
|
|
1
|
+
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/upsert.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const utils_1 = require("../../../utils/utils");
|
|
|
19
19
|
const constants_1 = require("../../../utils/constants/constants");
|
|
20
20
|
const localSettings_1 = require("../../../utils/localSettings");
|
|
21
21
|
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
22
|
+
const utils_2 = require("../../../utils/commands/utils");
|
|
22
23
|
const settings = (0, localSettings_1.loadSettings)();
|
|
23
24
|
// Initialize Messages with the current plugin directory
|
|
24
25
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
@@ -81,10 +82,14 @@ async function permissionsetDelete(options) {
|
|
|
81
82
|
throw new core_1.SfError(messages.getMessage('errorNoValidTypeFlag'));
|
|
82
83
|
const baseInputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_permissionsets_1.PERMSETS_SUBPATH);
|
|
83
84
|
const inputProfile = options.input;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return { outputString: 'Input folder does not exist' };
|
|
85
|
+
try {
|
|
86
|
+
(0, filesUtils_1.checkDirOrErrorSync)(baseInputDir);
|
|
87
87
|
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
90
|
+
}
|
|
91
|
+
// Initialize result object
|
|
92
|
+
const result = { result: 'OK', items: {} };
|
|
88
93
|
var dirList = [];
|
|
89
94
|
if (inputProfile) {
|
|
90
95
|
dirList = inputProfile.split(',');
|
|
@@ -96,30 +101,42 @@ async function permissionsetDelete(options) {
|
|
|
96
101
|
}
|
|
97
102
|
// dir is the profile name without the extension
|
|
98
103
|
for (const dir of dirList) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
104
|
+
try {
|
|
105
|
+
console.log('Deleting on: ' + dir);
|
|
106
|
+
// type is a profile section (applicationVisibilities, classAccess ecc)
|
|
107
|
+
const csvFilePath = (0, path_1.join)(baseInputDir, dir, (0, filesUtils_1.calcCsvFilename)(dir, type));
|
|
108
|
+
if (fs.existsSync(csvFilePath)) {
|
|
109
|
+
var jsonMap = await (0, filesUtils_1.readCsvToJsonMap)(csvFilePath);
|
|
110
|
+
for (var k of tagid.split(',')) {
|
|
111
|
+
jsonMap.delete(k);
|
|
112
|
+
}
|
|
113
|
+
var jsonArray = Array.from(jsonMap.values());
|
|
114
|
+
const headers = constants_permissionsets_1.PERMSET_ITEMS[type].headers;
|
|
115
|
+
if (options.sort === 'true') {
|
|
116
|
+
jsonArray = (0, utils_1.sortByKey)(jsonArray);
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const csvContent = await csvWriter.toCsv(jsonArray, headers);
|
|
120
|
+
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
121
|
+
// file written successfully
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
console.error(err);
|
|
125
|
+
throw new Error(`Error writing cleaned CSV for permissionSet ${dir}, section ${type}`);
|
|
126
|
+
}
|
|
127
|
+
// PermissionSet processed successfully
|
|
128
|
+
result.items[dir] = { result: 'OK' };
|
|
119
129
|
}
|
|
120
130
|
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error(`Error processing permissionSet ${dir}:`, error);
|
|
133
|
+
result.items[dir] = {
|
|
134
|
+
result: 'KO',
|
|
135
|
+
error: error.message || 'Unknown error occurred'
|
|
136
|
+
};
|
|
137
|
+
}
|
|
121
138
|
}
|
|
122
|
-
return
|
|
139
|
+
return result;
|
|
123
140
|
}
|
|
124
141
|
exports.permissionsetDelete = permissionsetDelete;
|
|
125
142
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/easysources/permissionsets/delete.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAAqD;AAErD,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,+BAA4B;AAC5B,4DAAqD;AACrD,gGAAoG;AACpG,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/easysources/permissionsets/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const utils_1 = require("../../../utils/utils");
|
|
|
18
18
|
const constants_1 = require("../../../utils/constants/constants");
|
|
19
19
|
const localSettings_1 = require("../../../utils/localSettings");
|
|
20
20
|
const constants_permissionsets_1 = require("../../../utils/constants/constants_permissionsets");
|
|
21
|
+
const utils_2 = require("../../../utils/commands/utils");
|
|
21
22
|
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
22
23
|
const settings = (0, localSettings_1.loadSettings)();
|
|
23
24
|
// Initialize Messages with the current plugin directory
|
|
@@ -70,8 +71,15 @@ async function permissionsetMinify(options) {
|
|
|
70
71
|
const csvDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_permissionsets_1.PERMSETS_SUBPATH);
|
|
71
72
|
const xmlDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH));
|
|
72
73
|
const inputProfile = options.input;
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
// Initialize result object
|
|
75
|
+
const result = { result: 'OK', items: {} };
|
|
76
|
+
try {
|
|
77
|
+
(0, filesUtils_1.checkDirOrErrorSync)(csvDir);
|
|
78
|
+
(0, filesUtils_1.checkDirOrErrorSync)(xmlDir);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
82
|
+
}
|
|
75
83
|
var profileList = [];
|
|
76
84
|
if (inputProfile) {
|
|
77
85
|
profileList = inputProfile.split(',');
|
|
@@ -84,39 +92,52 @@ async function permissionsetMinify(options) {
|
|
|
84
92
|
// profileName is the profile name without the extension
|
|
85
93
|
for (const profileName of profileList) {
|
|
86
94
|
console.log('Minifying on: ' + profileName);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
for (const boolName of (0, utils_1.toArray)(constants_permissionsets_1.PERMSET_TAG_BOOL[tag_section])) {
|
|
98
|
-
if (res[boolName] === 'true' || res[boolName] === 'FALSE')
|
|
95
|
+
try {
|
|
96
|
+
for (const tag_section in constants_permissionsets_1.PERMSET_ITEMS) {
|
|
97
|
+
// tag_section is a profile section (applicationVisibilities, classAccess ecc)
|
|
98
|
+
const csvFilePath = (0, path_1.join)(csvDir, profileName, (0, filesUtils_1.calcCsvFilename)(profileName, tag_section));
|
|
99
|
+
if (fs.existsSync(csvFilePath)) {
|
|
100
|
+
// get the list of resources on the csv. eg. the list of apex classes
|
|
101
|
+
var resListCsv = await (0, filesUtils_1.readCsvToJsonArray)(csvFilePath);
|
|
102
|
+
resListCsv = resListCsv.filter(function (res) {
|
|
103
|
+
// return true to persist, false to delete
|
|
104
|
+
if (constants_permissionsets_1.PERMSET_TAG_BOOL[tag_section] == null)
|
|
99
105
|
return true;
|
|
106
|
+
for (const boolName of (0, utils_1.toArray)(constants_permissionsets_1.PERMSET_TAG_BOOL[tag_section])) {
|
|
107
|
+
if (res[boolName] === 'true' || res[boolName] === 'FALSE')
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
});
|
|
112
|
+
// write the cleaned csv
|
|
113
|
+
const headers = constants_permissionsets_1.PERMSET_ITEMS[tag_section].headers;
|
|
114
|
+
if (options.sort === 'true') {
|
|
115
|
+
resListCsv = (0, utils_1.sortByKey)(resListCsv);
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const csvContent = await csvWriter.toCsv(resListCsv, headers);
|
|
119
|
+
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
120
|
+
// file written successfully
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
console.error(err);
|
|
124
|
+
throw new Error(`Failed to write CSV file ${csvFilePath}: ${err.message}`);
|
|
100
125
|
}
|
|
101
|
-
return false;
|
|
102
|
-
});
|
|
103
|
-
// write the cleaned csv
|
|
104
|
-
const headers = constants_permissionsets_1.PERMSET_ITEMS[tag_section].headers;
|
|
105
|
-
if (options.sort === 'true') {
|
|
106
|
-
resListCsv = (0, utils_1.sortByKey)(resListCsv);
|
|
107
|
-
}
|
|
108
|
-
try {
|
|
109
|
-
const csvContent = await csvWriter.toCsv(resListCsv, headers);
|
|
110
|
-
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
111
|
-
// file written successfully
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
console.error(err);
|
|
115
126
|
}
|
|
127
|
+
// Permission set processed successfully
|
|
128
|
+
result.items[profileName] = { result: 'OK' };
|
|
116
129
|
}
|
|
117
130
|
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
// Permission set processing failed
|
|
133
|
+
console.error(`Error minifying permission set ${profileName}:`, error);
|
|
134
|
+
result.items[profileName] = {
|
|
135
|
+
result: 'KO',
|
|
136
|
+
error: error.message || 'Unknown error occurred'
|
|
137
|
+
};
|
|
138
|
+
}
|
|
118
139
|
}
|
|
119
|
-
return
|
|
140
|
+
return result;
|
|
120
141
|
}
|
|
121
142
|
exports.permissionsetMinify = permissionsetMinify;
|
|
122
143
|
//# sourceMappingURL=minify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/permissionsets/minify.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,+BAA4B;AAC5B,4DAAqD;AACrD,0DAAoG;AACpG,gDAAyD;AACzD,kEAA4F;AAC5F,gEAA4D;AAC5D,gGAAsH;AACtH,wDAAiD;AAEjD,MAAM,QAAQ,GAAG,IAAA,4BAAY,GAAE,CAAC;AAEhC,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAE/E,MAAqB,KAAM,SAAQ,qBAAW;IA6BnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnD,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,MAAM,CAAC;IAClB,CAAC;;AArCL,wBAsCC;AArCiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAEzD,UAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;KAC3D,CAAC;IACF,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC;QACb,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,OAAO,EAAE,MAAM;KAClB,CAAC;CACL,CAAC;AAaN;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAY;IAClD,MAAM,SAAS,GAAG,IAAI,mBAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,sBAAsB,CAAC,IAAI,8BAAkB,CAAC,EAAE,2CAAgB,CAAW,CAAC;IAC/H,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,qBAAqB,CAAC,IAAI,8BAAkB,CAAC,CAAW,CAAC;IAE5G,MAAM,YAAY,GAAG,OAAO,CAAC,KAAe,CAAC;IAE7C,IAAA,gCAAmB,EAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/permissionsets/minify.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const utils_1 = require("../../../utils/utils");
|
|
|
19
19
|
const constants_1 = require("../../../utils/constants/constants");
|
|
20
20
|
const localSettings_1 = require("../../../utils/localSettings");
|
|
21
21
|
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
22
|
+
const utils_2 = require("../../../utils/commands/utils");
|
|
22
23
|
const settings = (0, localSettings_1.loadSettings)();
|
|
23
24
|
// Initialize Messages with the current plugin directory
|
|
24
25
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
@@ -75,9 +76,14 @@ async function profileDelete(options) {
|
|
|
75
76
|
throw new Error('Invalid type parameter');
|
|
76
77
|
const baseInputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_profiles_1.PROFILES_SUBPATH);
|
|
77
78
|
const inputProfile = options.input;
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
try {
|
|
80
|
+
(0, filesUtils_1.checkDirOrErrorSync)(baseInputDir);
|
|
80
81
|
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
84
|
+
}
|
|
85
|
+
// Initialize result object
|
|
86
|
+
const result = { result: 'OK', items: {} };
|
|
81
87
|
var dirList = [];
|
|
82
88
|
if (inputProfile) {
|
|
83
89
|
dirList = inputProfile.split(',');
|
|
@@ -89,30 +95,42 @@ async function profileDelete(options) {
|
|
|
89
95
|
}
|
|
90
96
|
// dir is the profile name without the extension
|
|
91
97
|
for (const dir of dirList) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
98
|
+
try {
|
|
99
|
+
console.log('Deleting on: ' + dir);
|
|
100
|
+
// type is a profile section (applicationVisibilities, classAccess ecc)
|
|
101
|
+
const csvFilePath = (0, path_1.join)(baseInputDir, dir, (0, filesUtils_1.calcCsvFilename)(dir, type));
|
|
102
|
+
if (fs.existsSync(csvFilePath)) {
|
|
103
|
+
var jsonMap = await (0, filesUtils_1.readCsvToJsonMap)(csvFilePath);
|
|
104
|
+
for (var k of tagid.split(',')) {
|
|
105
|
+
jsonMap.delete(k);
|
|
106
|
+
}
|
|
107
|
+
var jsonArray = Array.from(jsonMap.values());
|
|
108
|
+
const headers = constants_profiles_1.PROFILE_ITEMS[type].headers;
|
|
109
|
+
if (options.sort === 'true') {
|
|
110
|
+
jsonArray = (0, utils_1.sortByKey)(jsonArray);
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
const csvContent = await csvWriter.toCsv(jsonArray, headers);
|
|
114
|
+
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
115
|
+
// file written successfully
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
console.error(err);
|
|
119
|
+
throw new Error(`Error writing cleaned CSV for profile ${dir}, section ${type}`);
|
|
120
|
+
}
|
|
121
|
+
// Profile processed successfully
|
|
122
|
+
result.items[dir] = { result: 'OK' };
|
|
112
123
|
}
|
|
113
124
|
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error(`Error processing profile ${dir}:`, error);
|
|
127
|
+
result.items[dir] = {
|
|
128
|
+
result: 'KO',
|
|
129
|
+
error: error.message || 'Unknown error occurred'
|
|
130
|
+
};
|
|
131
|
+
}
|
|
114
132
|
}
|
|
115
|
-
return
|
|
133
|
+
return result;
|
|
116
134
|
}
|
|
117
135
|
exports.profileDelete = profileDelete;
|
|
118
136
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/easysources/profiles/delete.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,+BAA4B;AAC5B,4DAAqD;AACrD,oFAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/easysources/profiles/delete.ts"],"names":[],"mappings":"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"}
|