@salesforce/plugin-custom-metadata 2.0.9 → 2.0.11
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 +0 -1
- package/lib/commands/generate/cmdt/field.d.ts +23 -0
- package/lib/commands/generate/cmdt/field.js +100 -0
- package/lib/commands/generate/cmdt/field.js.map +1 -0
- package/lib/commands/generate/cmdt/fromorg.d.ts +26 -0
- package/lib/commands/generate/cmdt/fromorg.js +184 -0
- package/lib/commands/generate/cmdt/fromorg.js.map +1 -0
- package/lib/commands/generate/cmdt/object.d.ts +23 -0
- package/lib/commands/generate/cmdt/object.js +79 -0
- package/lib/commands/generate/cmdt/object.js.map +1 -0
- package/lib/commands/generate/cmdt/record.d.ts +29 -0
- package/lib/commands/generate/cmdt/record.js +111 -0
- package/lib/commands/generate/cmdt/record.js.map +1 -0
- package/lib/commands/generate/cmdt/records.d.ts +18 -0
- package/lib/commands/generate/cmdt/records.js +105 -0
- package/lib/commands/generate/cmdt/records.js.map +1 -0
- package/lib/shared/helpers/createUtil.d.ts +51 -0
- package/lib/shared/helpers/createUtil.js +168 -0
- package/lib/shared/helpers/createUtil.js.map +1 -0
- package/lib/shared/helpers/fileWriter.d.ts +24 -0
- package/lib/shared/helpers/fileWriter.js +59 -0
- package/lib/shared/helpers/fileWriter.js.map +1 -0
- package/lib/{lib → shared}/helpers/metadataUtil.d.ts +1 -1
- package/lib/{lib → shared}/helpers/metadataUtil.js +1 -1
- package/lib/shared/helpers/metadataUtil.js.map +1 -0
- package/lib/{lib → shared}/helpers/validationUtil.d.ts +0 -0
- package/lib/{lib → shared}/helpers/validationUtil.js +0 -0
- package/lib/shared/helpers/validationUtil.js.map +1 -0
- package/lib/{lib → shared}/interfaces/createConfig.d.ts +3 -2
- package/lib/{lib → shared}/interfaces/createConfig.js +0 -0
- package/lib/shared/interfaces/createConfig.js.map +1 -0
- package/lib/shared/templates/templates.d.ts +20 -0
- package/lib/shared/templates/templates.js +208 -0
- package/lib/shared/templates/templates.js.map +1 -0
- package/messages/field.md +79 -0
- package/messages/fromorg.md +87 -0
- package/messages/object.md +73 -0
- package/messages/record.md +53 -0
- package/messages/records.md +49 -0
- package/messages/template.md +3 -0
- package/messages/validation.md +11 -0
- package/oclif.manifest.json +1 -1
- package/package.json +17 -16
- package/lib/commands/force/cmdt/create.d.ts +0 -25
- package/lib/commands/force/cmdt/create.js +0 -94
- package/lib/commands/force/cmdt/create.js.map +0 -1
- package/lib/commands/force/cmdt/field/create.d.ts +0 -25
- package/lib/commands/force/cmdt/field/create.js +0 -113
- package/lib/commands/force/cmdt/field/create.js.map +0 -1
- package/lib/commands/force/cmdt/generate.d.ts +0 -27
- package/lib/commands/force/cmdt/generate.js +0 -219
- package/lib/commands/force/cmdt/generate.js.map +0 -1
- package/lib/commands/force/cmdt/record/create.d.ts +0 -32
- package/lib/commands/force/cmdt/record/create.js +0 -140
- package/lib/commands/force/cmdt/record/create.js.map +0 -1
- package/lib/commands/force/cmdt/record/insert.d.ts +0 -16
- package/lib/commands/force/cmdt/record/insert.js +0 -110
- package/lib/commands/force/cmdt/record/insert.js.map +0 -1
- package/lib/lib/helpers/createUtil.d.ts +0 -62
- package/lib/lib/helpers/createUtil.js +0 -170
- package/lib/lib/helpers/createUtil.js.map +0 -1
- package/lib/lib/helpers/fileWriter.d.ts +0 -27
- package/lib/lib/helpers/fileWriter.js +0 -63
- package/lib/lib/helpers/fileWriter.js.map +0 -1
- package/lib/lib/helpers/metadataUtil.js.map +0 -1
- package/lib/lib/helpers/validationUtil.js.map +0 -1
- package/lib/lib/interfaces/createConfig.js.map +0 -1
- package/lib/lib/templates/templates.d.ts +0 -37
- package/lib/lib/templates/templates.js +0 -221
- package/lib/lib/templates/templates.js.map +0 -1
- package/messages/createField.json +0 -24
- package/messages/createRecord.json +0 -32
- package/messages/createType.json +0 -33
- package/messages/generate.json +0 -40
- package/messages/insertRecord.json +0 -26
- package/messages/template.json +0 -3
- package/messages/validation.json +0 -5
package/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Tools for working with custom metadata types and their records.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@salesforce/plugin-custom-metadata)
|
|
6
|
-
[](https://circleci.com/gh/salesforcecli/plugin-custom-metadata/tree/master)
|
|
7
6
|
[](https://github.com/salesforcecli/plugin-custom-metadata/blob/master/LICENSE.txt)
|
|
8
7
|
|
|
9
8
|
This plugin is bundled with the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli). For more information on the CLI, read the [getting started guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export interface CmdtFieldCreateResponse {
|
|
3
|
+
fieldName: string;
|
|
4
|
+
label: string;
|
|
5
|
+
fieldtype: string;
|
|
6
|
+
}
|
|
7
|
+
export default class Create extends SfCommand<CmdtFieldCreateResponse> {
|
|
8
|
+
static readonly summary: string;
|
|
9
|
+
static readonly description: string;
|
|
10
|
+
static readonly examples: string[];
|
|
11
|
+
static readonly requiresProject = true;
|
|
12
|
+
static readonly aliases: string[];
|
|
13
|
+
static readonly flags: {
|
|
14
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
15
|
+
name: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
16
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
17
|
+
'picklist-values': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
|
|
18
|
+
'decimal-places': import("@oclif/core/lib/interfaces").OptionFlag<number>;
|
|
19
|
+
label: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
20
|
+
'output-directory': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<CmdtFieldCreateResponse>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
12
|
+
const core_1 = require("@salesforce/core");
|
|
13
|
+
const fileWriter_1 = require("../../../shared/helpers/fileWriter");
|
|
14
|
+
const validationUtil_1 = require("../../../shared/helpers/validationUtil");
|
|
15
|
+
const templates_1 = require("../../../shared/templates/templates");
|
|
16
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
17
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-custom-metadata', 'field');
|
|
18
|
+
class Create extends sf_plugins_core_1.SfCommand {
|
|
19
|
+
async run() {
|
|
20
|
+
var _b, _c, _d;
|
|
21
|
+
const { flags } = await this.parse(Create);
|
|
22
|
+
const picklistvalues = (_b = flags['picklist-values']) !== null && _b !== void 0 ? _b : [];
|
|
23
|
+
if (flags.type === 'Picklist' && (picklistvalues === null || picklistvalues === void 0 ? void 0 : picklistvalues.length) === 0) {
|
|
24
|
+
throw new core_1.SfError(messages.getMessage('picklistValuesNotSuppliedError'));
|
|
25
|
+
}
|
|
26
|
+
const data = (0, templates_1.createDefaultTypeStructure)(flags.name, flags.type, (_c = flags.label) !== null && _c !== void 0 ? _c : flags.name, picklistvalues, flags['decimal-places']);
|
|
27
|
+
const fieldXML = (0, templates_1.createFieldXML)(data, false);
|
|
28
|
+
const saveResults = await (0, fileWriter_1.writeFieldFile)(fs, flags['output-directory'], flags.name, fieldXML);
|
|
29
|
+
this.log(messages.getMessage('targetDirectory', [saveResults.dir]));
|
|
30
|
+
this.log(messages.getMessage(saveResults.updated ? 'fileUpdate' : 'fileCreated', [saveResults.fileName]));
|
|
31
|
+
return {
|
|
32
|
+
fieldName: flags.name,
|
|
33
|
+
label: (_d = flags.label) !== null && _d !== void 0 ? _d : flags.name,
|
|
34
|
+
fieldtype: flags.type,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.default = Create;
|
|
39
|
+
_a = Create;
|
|
40
|
+
Create.summary = messages.getMessage('summary');
|
|
41
|
+
Create.description = messages.getMessage('description');
|
|
42
|
+
Create.examples = messages.getMessages('examples');
|
|
43
|
+
Create.requiresProject = true;
|
|
44
|
+
Create.aliases = ['force:cmdt:field:create', 'cmdt:field:create'];
|
|
45
|
+
Create.flags = {
|
|
46
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
47
|
+
name: sf_plugins_core_1.Flags.string({
|
|
48
|
+
char: 'n',
|
|
49
|
+
required: true,
|
|
50
|
+
summary: messages.getMessage('flags.name.summary'),
|
|
51
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateAPIName)(input, messages.getMessage('invalidCustomFieldError', [input]))),
|
|
52
|
+
aliases: ['fieldname'],
|
|
53
|
+
}),
|
|
54
|
+
type: sf_plugins_core_1.Flags.string({
|
|
55
|
+
char: 'f',
|
|
56
|
+
required: true,
|
|
57
|
+
summary: messages.getMessage('flags.type.summary'),
|
|
58
|
+
description: messages.getMessage('flags.type.description'),
|
|
59
|
+
options: [
|
|
60
|
+
'Checkbox',
|
|
61
|
+
'Date',
|
|
62
|
+
'DateTime',
|
|
63
|
+
'Email',
|
|
64
|
+
'Number',
|
|
65
|
+
'Percent',
|
|
66
|
+
'Phone',
|
|
67
|
+
'Picklist',
|
|
68
|
+
'Text',
|
|
69
|
+
'TextArea',
|
|
70
|
+
'LongTextArea',
|
|
71
|
+
'Url',
|
|
72
|
+
],
|
|
73
|
+
aliases: ['fieldtype'],
|
|
74
|
+
}),
|
|
75
|
+
'picklist-values': (0, sf_plugins_core_1.arrayWithDeprecation)({
|
|
76
|
+
char: 'p',
|
|
77
|
+
summary: messages.getMessage('flags.picklist-values.summary'),
|
|
78
|
+
aliases: ['picklistvalues'],
|
|
79
|
+
}),
|
|
80
|
+
'decimal-places': sf_plugins_core_1.Flags.integer({
|
|
81
|
+
char: 's',
|
|
82
|
+
summary: messages.getMessage('flags.decimal-places.summary'),
|
|
83
|
+
description: messages.getMessage('flags.decimal-places.description'),
|
|
84
|
+
default: 0,
|
|
85
|
+
min: 0,
|
|
86
|
+
aliases: ['decimalplaces'],
|
|
87
|
+
}),
|
|
88
|
+
label: sf_plugins_core_1.Flags.string({
|
|
89
|
+
char: 'l',
|
|
90
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
91
|
+
}),
|
|
92
|
+
'output-directory': sf_plugins_core_1.Flags.directory({
|
|
93
|
+
char: 'd',
|
|
94
|
+
summary: messages.getMessage('flags.output-directory.summary'),
|
|
95
|
+
description: messages.getMessage('flags.output-directory.description'),
|
|
96
|
+
default: '',
|
|
97
|
+
aliases: ['outputdir', 'outputdirectory'],
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/commands/generate/cmdt/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export interface CmdtGenerateResponse {
|
|
3
|
+
outputDir: string;
|
|
4
|
+
recordsOutputDir: string;
|
|
5
|
+
}
|
|
6
|
+
export default class Generate extends SfCommand<CmdtGenerateResponse> {
|
|
7
|
+
static readonly summary: string;
|
|
8
|
+
static readonly description: string;
|
|
9
|
+
static readonly examples: string[];
|
|
10
|
+
static readonly requiresProject = true;
|
|
11
|
+
static readonly aliases: string[];
|
|
12
|
+
static readonly flags: {
|
|
13
|
+
'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
14
|
+
'api-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
15
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
16
|
+
'dev-name': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
17
|
+
label: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
18
|
+
'plural-label': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
19
|
+
visibility: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
20
|
+
sobject: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
21
|
+
'ignore-unsupported': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
'type-output-directory': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
23
|
+
'records-output-dir': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
24
|
+
};
|
|
25
|
+
run(): Promise<CmdtGenerateResponse>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const path = require("path");
|
|
12
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
13
|
+
const core_1 = require("@salesforce/core");
|
|
14
|
+
const kit_1 = require("@salesforce/kit");
|
|
15
|
+
const createUtil_1 = require("../../../shared/helpers/createUtil");
|
|
16
|
+
const fileWriter_1 = require("../../../shared/helpers/fileWriter");
|
|
17
|
+
const metadataUtil_1 = require("../../../shared/helpers/metadataUtil");
|
|
18
|
+
const validationUtil_1 = require("../../../shared/helpers/validationUtil");
|
|
19
|
+
const templates_1 = require("../../../shared/templates/templates");
|
|
20
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
21
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-custom-metadata', 'fromorg');
|
|
22
|
+
class Generate extends sf_plugins_core_1.SfCommand {
|
|
23
|
+
async run() {
|
|
24
|
+
var _b, _c;
|
|
25
|
+
const { flags } = await this.parse(Generate);
|
|
26
|
+
const conn = flags['target-org'].getConnection(flags['api-version']);
|
|
27
|
+
// use default target org connection to get object describe if no source is provided.
|
|
28
|
+
const describeObj = await conn.metadata.read('CustomObject', flags.sobject);
|
|
29
|
+
// throw error if the object doesnot exist(empty json as response from the describe call.)
|
|
30
|
+
if ((0, kit_1.isEmpty)(describeObj.fields)) {
|
|
31
|
+
const errMsg = messages.getMessage('sobjectnameNoResultError', [flags.sobject]);
|
|
32
|
+
throw new core_1.SfError(errMsg, 'sobjectnameNoResultError');
|
|
33
|
+
}
|
|
34
|
+
// check for custom setting
|
|
35
|
+
if (describeObj.customSettingsType) {
|
|
36
|
+
// if custom setting check for type and visibility
|
|
37
|
+
if (!(0, metadataUtil_1.validCustomSettingType)(describeObj)) {
|
|
38
|
+
const errMsg = messages.getMessage('customSettingTypeError', [flags.sobject]);
|
|
39
|
+
throw new core_1.SfError(errMsg, 'customSettingTypeError');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const label = (_b = flags.label) !== null && _b !== void 0 ? _b : flags['dev-name'];
|
|
43
|
+
const pluralLabel = (_c = flags['plural-label']) !== null && _c !== void 0 ? _c : label;
|
|
44
|
+
const { 'type-output-directory': outputDir, 'records-output-dir': recordsOutputDir } = flags;
|
|
45
|
+
try {
|
|
46
|
+
this.spinner.start('creating the CMDT object');
|
|
47
|
+
// create custom metadata type
|
|
48
|
+
const objectXML = (0, templates_1.createObjectXML)({ label, pluralLabel }, flags.visibility);
|
|
49
|
+
await (0, fileWriter_1.writeTypeFile)(fs, outputDir, flags['dev-name'], objectXML);
|
|
50
|
+
this.spinner.status = 'creating the CMDT fields';
|
|
51
|
+
// get all the field details before creating field metadata
|
|
52
|
+
const fields = (0, metadataUtil_1.describeObjFields)(describeObj)
|
|
53
|
+
// added type check here to skip the creation of un supported fields
|
|
54
|
+
.filter((f) => !flags['ignore-unsupported'] || (0, templates_1.canConvert)(f['type']))
|
|
55
|
+
.flatMap((f) =>
|
|
56
|
+
// check for Geo Location fields before hand and create two different fields for longitude and latitude.
|
|
57
|
+
f.type !== 'Location' ? [f] : convertLocationFieldToText(f));
|
|
58
|
+
// create custom metdata fields
|
|
59
|
+
await Promise.all(fields.map((f) => (0, fileWriter_1.writeFieldFile)(fs, path.join(outputDir, `${flags['dev-name']}__mdt`), f.fullName, (0, templates_1.createFieldXML)(f, !flags['ignore-unsupported']))));
|
|
60
|
+
this.spinner.status = 'creating the CMDT records';
|
|
61
|
+
// if customMetadata folder does not exist, create it
|
|
62
|
+
await fs.promises.mkdir(recordsOutputDir, { recursive: true });
|
|
63
|
+
const fieldDirPath = path.join(outputDir, `${flags['dev-name']}__mdt`, 'fields');
|
|
64
|
+
const fileNames = await fs.promises.readdir(fieldDirPath);
|
|
65
|
+
const fileData = await (0, createUtil_1.getFileData)(fieldDirPath, fileNames);
|
|
66
|
+
// query records from source
|
|
67
|
+
const sObjectRecords = await conn.query(getSoqlQuery(describeObj));
|
|
68
|
+
await Promise.all(sObjectRecords.records.map((rec) => {
|
|
69
|
+
const record = (0, metadataUtil_1.cleanQueryResponse)(rec, describeObj);
|
|
70
|
+
const lblName = rec['Name'];
|
|
71
|
+
const recordName = (0, validationUtil_1.isValidMetadataRecordName)(lblName) ? lblName : lblName.replace(/ +/g, '_');
|
|
72
|
+
return (0, createUtil_1.createRecord)({
|
|
73
|
+
typename: flags['dev-name'],
|
|
74
|
+
recordname: recordName,
|
|
75
|
+
label: lblName,
|
|
76
|
+
inputdir: outputDir,
|
|
77
|
+
outputdir: recordsOutputDir,
|
|
78
|
+
protected: flags.visibility !== 'Public',
|
|
79
|
+
varargs: record,
|
|
80
|
+
fileData,
|
|
81
|
+
ignorefields: flags['ignore-unsupported'],
|
|
82
|
+
});
|
|
83
|
+
}));
|
|
84
|
+
this.spinner.stop('custom metadata type and records creation in completed');
|
|
85
|
+
this.log(`Congrats! Created a ${flags['dev-name']} custom metadata type with ${sObjectRecords.records.length} records!`);
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
const targetDir = `${outputDir}${flags['dev-name']}__mdt`;
|
|
89
|
+
// dir might not exist if we never got to the creation step
|
|
90
|
+
if (fs.existsSync(targetDir)) {
|
|
91
|
+
await fs.promises.rm(targetDir, { recursive: true });
|
|
92
|
+
}
|
|
93
|
+
await Promise.all((await fs.promises.readdir(recordsOutputDir))
|
|
94
|
+
.filter((f) => f.startsWith(flags['dev-name']))
|
|
95
|
+
.map((f) => fs.promises.unlink(path.join(recordsOutputDir, f))));
|
|
96
|
+
this.spinner.stop('generate command failed to run');
|
|
97
|
+
const errMsg = messages.getMessage('generateError', [e instanceof Error ? e.message : 'unknown error']);
|
|
98
|
+
throw new core_1.SfError(errMsg, 'generateError');
|
|
99
|
+
}
|
|
100
|
+
return { outputDir, recordsOutputDir };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.default = Generate;
|
|
104
|
+
_a = Generate;
|
|
105
|
+
Generate.summary = messages.getMessage('summary');
|
|
106
|
+
Generate.description = messages.getMessage('description');
|
|
107
|
+
Generate.examples = messages.getMessages('examples');
|
|
108
|
+
Generate.requiresProject = true;
|
|
109
|
+
Generate.aliases = ['force:cmdt:generate', 'cmdt:generate'];
|
|
110
|
+
Generate.flags = {
|
|
111
|
+
'target-org': sf_plugins_core_1.requiredOrgFlagWithDeprecations,
|
|
112
|
+
'api-version': sf_plugins_core_1.orgApiVersionFlagWithDeprecations,
|
|
113
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
114
|
+
// flag with a value (-n, --name=VALUE)
|
|
115
|
+
'dev-name': sf_plugins_core_1.Flags.string({
|
|
116
|
+
char: 'n',
|
|
117
|
+
required: true,
|
|
118
|
+
summary: messages.getMessage('flags.dev-name.summary'),
|
|
119
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateMetadataTypeName)(input)),
|
|
120
|
+
aliases: ['devname'],
|
|
121
|
+
}),
|
|
122
|
+
label: sf_plugins_core_1.Flags.string({
|
|
123
|
+
char: 'l',
|
|
124
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
125
|
+
}),
|
|
126
|
+
'plural-label': sf_plugins_core_1.Flags.string({
|
|
127
|
+
char: 'p',
|
|
128
|
+
summary: messages.getMessage('flags.plural-label.summary'),
|
|
129
|
+
aliases: ['plurallabel'],
|
|
130
|
+
}),
|
|
131
|
+
visibility: sf_plugins_core_1.Flags.string({
|
|
132
|
+
char: 'v',
|
|
133
|
+
summary: messages.getMessage('flags.visibility.summary'),
|
|
134
|
+
description: messages.getMessage('flags.visibility.description'),
|
|
135
|
+
options: ['PackageProtected', 'Protected', 'Public'],
|
|
136
|
+
default: 'Public',
|
|
137
|
+
}),
|
|
138
|
+
sobject: sf_plugins_core_1.Flags.string({
|
|
139
|
+
char: 's',
|
|
140
|
+
required: true,
|
|
141
|
+
summary: messages.getMessage('flags.sobject.summary'),
|
|
142
|
+
parse: async (sobjectname) => Promise.resolve((0, validationUtil_1.validateAPIName)(sobjectname)),
|
|
143
|
+
aliases: ['sobjectname'],
|
|
144
|
+
}),
|
|
145
|
+
'ignore-unsupported': sf_plugins_core_1.Flags.boolean({
|
|
146
|
+
char: 'i',
|
|
147
|
+
summary: messages.getMessage('flags.ignore-unsupported.summary'),
|
|
148
|
+
description: messages.getMessage('flags.ignore-unsupported.description'),
|
|
149
|
+
aliases: ['ignoreunsupported'],
|
|
150
|
+
}),
|
|
151
|
+
'type-output-directory': sf_plugins_core_1.Flags.directory({
|
|
152
|
+
char: 'd',
|
|
153
|
+
summary: messages.getMessage('flags.type-output-directory.summary'),
|
|
154
|
+
default: path.join('force-app', 'main', 'default', 'objects'),
|
|
155
|
+
aliases: ['typeoutputdir'],
|
|
156
|
+
}),
|
|
157
|
+
'records-output-dir': sf_plugins_core_1.Flags.directory({
|
|
158
|
+
char: 'r',
|
|
159
|
+
summary: messages.getMessage('flags.records-output-dir.summary'),
|
|
160
|
+
default: path.join('force-app', 'main', 'default', 'customMetadata'),
|
|
161
|
+
aliases: ['recordsoutputdir'],
|
|
162
|
+
}),
|
|
163
|
+
};
|
|
164
|
+
const getSoqlQuery = (describeResult) => {
|
|
165
|
+
const fieldNames = describeResult.fields.map((field) => field.fullName).join(',');
|
|
166
|
+
// Added Name hardcoded as Name field is not retrieved as part of object describe.
|
|
167
|
+
return `SELECT Name, ${fieldNames} FROM ${describeResult.fullName}`;
|
|
168
|
+
};
|
|
169
|
+
const convertLocationFieldToText = (field) => {
|
|
170
|
+
const baseTextField = {
|
|
171
|
+
required: field['required'],
|
|
172
|
+
trackHistory: field['trackHistory'],
|
|
173
|
+
trackTrending: field['trackTrending'],
|
|
174
|
+
type: 'Text',
|
|
175
|
+
length: 40,
|
|
176
|
+
summaryFilterItems: [],
|
|
177
|
+
};
|
|
178
|
+
return ['Lat_', 'Long_'].map((prefix) => ({
|
|
179
|
+
...baseTextField,
|
|
180
|
+
fullName: `${prefix}${field.fullName}`,
|
|
181
|
+
label: `${prefix}${field.label}`,
|
|
182
|
+
}));
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=fromorg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromorg.js","sourceRoot":"","sources":["../../../../src/commands/generate/cmdt/fromorg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
export interface CmdtCreateResponse {
|
|
3
|
+
typename: string;
|
|
4
|
+
label: string;
|
|
5
|
+
pluralLabel: string;
|
|
6
|
+
visibility: string;
|
|
7
|
+
}
|
|
8
|
+
export default class Create extends SfCommand<CmdtCreateResponse> {
|
|
9
|
+
static readonly summary: string;
|
|
10
|
+
static readonly description: string;
|
|
11
|
+
static readonly examples: string[];
|
|
12
|
+
static readonly aliases: string[];
|
|
13
|
+
static readonly requiresProject = true;
|
|
14
|
+
static readonly flags: {
|
|
15
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
16
|
+
'type-name': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
17
|
+
label: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
18
|
+
'plural-label': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
19
|
+
visibility: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
20
|
+
'output-directory': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<CmdtCreateResponse>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
12
|
+
const core_1 = require("@salesforce/core");
|
|
13
|
+
const fileWriter_1 = require("../../../shared/helpers/fileWriter");
|
|
14
|
+
const validationUtil_1 = require("../../../shared/helpers/validationUtil");
|
|
15
|
+
const templates_1 = require("../../../shared/templates/templates");
|
|
16
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
17
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-custom-metadata', 'object');
|
|
18
|
+
class Create extends sf_plugins_core_1.SfCommand {
|
|
19
|
+
async run() {
|
|
20
|
+
var _b, _c;
|
|
21
|
+
const { flags } = await this.parse(Create);
|
|
22
|
+
const label = (_b = flags.label) !== null && _b !== void 0 ? _b : flags['type-name'].replace('__mdt', ''); // If a label is not provided default using the dev name. trim __mdt out
|
|
23
|
+
const pluralLabel = (_c = flags['plural-label']) !== null && _c !== void 0 ? _c : label;
|
|
24
|
+
const objectXML = (0, templates_1.createObjectXML)({ label, pluralLabel }, flags.visibility);
|
|
25
|
+
const saveResults = await (0, fileWriter_1.writeTypeFile)(fs, flags['output-directory'], flags['type-name'], objectXML);
|
|
26
|
+
this.log(messages.getMessage('targetDirectory', [saveResults.dir]));
|
|
27
|
+
this.log(messages.getMessage(saveResults.updated ? 'fileUpdate' : 'fileCreated', [saveResults.fileName]));
|
|
28
|
+
return {
|
|
29
|
+
typename: flags['type-name'],
|
|
30
|
+
label,
|
|
31
|
+
pluralLabel,
|
|
32
|
+
visibility: flags.visibility,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = Create;
|
|
37
|
+
_a = Create;
|
|
38
|
+
Create.summary = messages.getMessage('summary');
|
|
39
|
+
Create.description = messages.getMessage('description');
|
|
40
|
+
Create.examples = messages.getMessages('examples');
|
|
41
|
+
Create.aliases = ['force:cmdt:create', 'cmdt:create'];
|
|
42
|
+
Create.requiresProject = true;
|
|
43
|
+
Create.flags = {
|
|
44
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
45
|
+
'type-name': sf_plugins_core_1.Flags.string({
|
|
46
|
+
char: 'n',
|
|
47
|
+
summary: messages.getMessage('flags.type-name.summary'),
|
|
48
|
+
description: messages.getMessage('flags.type-name.description'),
|
|
49
|
+
required: true,
|
|
50
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateMetadataTypeName)(input)),
|
|
51
|
+
aliases: ['typename'],
|
|
52
|
+
}),
|
|
53
|
+
label: sf_plugins_core_1.Flags.string({
|
|
54
|
+
char: 'l',
|
|
55
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
56
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateLessThanForty)(input, messages.getMessage('errorNotValidLabelName', [input]))),
|
|
57
|
+
}),
|
|
58
|
+
'plural-label': sf_plugins_core_1.Flags.string({
|
|
59
|
+
char: 'p',
|
|
60
|
+
summary: messages.getMessage('flags.plural-label.summary'),
|
|
61
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateLessThanForty)(input, messages.getMessage('errorNotValidPluralLabelName', [input]))),
|
|
62
|
+
aliases: ['plurallabel'],
|
|
63
|
+
}),
|
|
64
|
+
visibility: sf_plugins_core_1.Flags.string({
|
|
65
|
+
char: 'v',
|
|
66
|
+
summary: messages.getMessage('flags.visibility.summary'),
|
|
67
|
+
description: messages.getMessage('flags.visibility.description'),
|
|
68
|
+
options: ['PackageProtected', 'Protected', 'Public'],
|
|
69
|
+
default: 'Public',
|
|
70
|
+
}),
|
|
71
|
+
'output-directory': sf_plugins_core_1.Flags.directory({
|
|
72
|
+
char: 'd',
|
|
73
|
+
summary: messages.getMessage('flags.output-directory.summary'),
|
|
74
|
+
description: messages.getMessage('flags.output-directory.description'),
|
|
75
|
+
default: '',
|
|
76
|
+
aliases: ['outputdir', 'outputdirectory'],
|
|
77
|
+
}),
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/commands/generate/cmdt/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { CustomField } from 'jsforce/api/metadata';
|
|
3
|
+
export interface CmdtRecordCreateResponse {
|
|
4
|
+
typename: string;
|
|
5
|
+
recordname: string;
|
|
6
|
+
label: string;
|
|
7
|
+
inputdir: string;
|
|
8
|
+
outputdir: string;
|
|
9
|
+
protectedFlag: boolean;
|
|
10
|
+
varargs: Record<string, unknown>;
|
|
11
|
+
fileData: CustomField[];
|
|
12
|
+
}
|
|
13
|
+
export default class Create extends SfCommand<CmdtRecordCreateResponse> {
|
|
14
|
+
static readonly summary: string;
|
|
15
|
+
static readonly description: string;
|
|
16
|
+
static readonly requiresProject = true;
|
|
17
|
+
static aliases: string[];
|
|
18
|
+
static readonly examples: string[];
|
|
19
|
+
static readonly flags: {
|
|
20
|
+
loglevel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
21
|
+
'type-name': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
22
|
+
'record-name': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
23
|
+
label: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
24
|
+
protected: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
25
|
+
'input-directory': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
26
|
+
'output-directory': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
27
|
+
};
|
|
28
|
+
run(): Promise<CmdtRecordCreateResponse>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const path = require("path");
|
|
12
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
13
|
+
const core_1 = require("@salesforce/core");
|
|
14
|
+
const createUtil_1 = require("../../../shared/helpers/createUtil");
|
|
15
|
+
const validationUtil_1 = require("../../../shared/helpers/validationUtil");
|
|
16
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
17
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-custom-metadata', 'record');
|
|
18
|
+
class Create extends sf_plugins_core_1.SfCommand {
|
|
19
|
+
async run() {
|
|
20
|
+
var _b;
|
|
21
|
+
const { flags, args, argv } = await this.parse(Create);
|
|
22
|
+
const varargs = (0, sf_plugins_core_1.parseVarArgs)(args, argv);
|
|
23
|
+
const label = (_b = flags.label) !== null && _b !== void 0 ? _b : flags['record-name'];
|
|
24
|
+
const protectedFlag = flags.protected === 'true';
|
|
25
|
+
const dirName = (0, createUtil_1.appendDirectorySuffix)(flags['type-name']);
|
|
26
|
+
const fieldDirPath = path.join(flags['input-directory'], dirName, 'fields');
|
|
27
|
+
const fileNames = await fs.promises.readdir(fieldDirPath);
|
|
28
|
+
// if customMetadata folder does not exist, create it
|
|
29
|
+
await fs.promises.mkdir(flags['output-directory'], { recursive: true });
|
|
30
|
+
const fileData = await (0, createUtil_1.getFileData)(fieldDirPath, fileNames);
|
|
31
|
+
await (0, createUtil_1.createRecord)({
|
|
32
|
+
typename: flags['type-name'],
|
|
33
|
+
recordname: flags['record-name'],
|
|
34
|
+
label,
|
|
35
|
+
inputdir: flags['input-directory'],
|
|
36
|
+
outputdir: flags['output-directory'],
|
|
37
|
+
protected: protectedFlag,
|
|
38
|
+
varargs,
|
|
39
|
+
fileData,
|
|
40
|
+
});
|
|
41
|
+
this.log(messages.getMessage('successResponse', [
|
|
42
|
+
flags['type-name'],
|
|
43
|
+
flags['record-name'],
|
|
44
|
+
label,
|
|
45
|
+
protectedFlag,
|
|
46
|
+
flags['output-directory'],
|
|
47
|
+
]));
|
|
48
|
+
// Return an object to be displayed with --json
|
|
49
|
+
return {
|
|
50
|
+
typename: flags['type-name'],
|
|
51
|
+
recordname: flags['record-name'],
|
|
52
|
+
label,
|
|
53
|
+
inputdir: flags['input-directory'],
|
|
54
|
+
outputdir: flags['output-directory'],
|
|
55
|
+
protectedFlag,
|
|
56
|
+
varargs,
|
|
57
|
+
fileData,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.default = Create;
|
|
62
|
+
_a = Create;
|
|
63
|
+
Create.summary = messages.getMessage('summary');
|
|
64
|
+
Create.description = messages.getMessage('description');
|
|
65
|
+
Create.requiresProject = true;
|
|
66
|
+
Create.aliases = ['force:cmdt:record:create', 'cmdt:record:create'];
|
|
67
|
+
Create.examples = messages.getMessages('examples');
|
|
68
|
+
Create.flags = {
|
|
69
|
+
loglevel: sf_plugins_core_1.loglevel,
|
|
70
|
+
'type-name': sf_plugins_core_1.Flags.string({
|
|
71
|
+
char: 't',
|
|
72
|
+
summary: messages.getMessage('flags.type-name.summary'),
|
|
73
|
+
required: true,
|
|
74
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateMetadataTypeName)(input)),
|
|
75
|
+
aliases: ['typename'],
|
|
76
|
+
}),
|
|
77
|
+
'record-name': sf_plugins_core_1.Flags.string({
|
|
78
|
+
char: 'n',
|
|
79
|
+
summary: messages.getMessage('flags.record-name.summary'),
|
|
80
|
+
required: true,
|
|
81
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateMetadataRecordName)(input)),
|
|
82
|
+
aliases: ['recordname'],
|
|
83
|
+
}),
|
|
84
|
+
label: sf_plugins_core_1.Flags.string({
|
|
85
|
+
char: 'l',
|
|
86
|
+
summary: messages.getMessage('flags.label.summary'),
|
|
87
|
+
parse: async (input) => Promise.resolve((0, validationUtil_1.validateLessThanForty)(input, messages.getMessage('notAValidLabelNameError', [input]))),
|
|
88
|
+
}),
|
|
89
|
+
// I hate this flag so much, but have to preserve it
|
|
90
|
+
protected: sf_plugins_core_1.Flags.string({
|
|
91
|
+
char: 'p',
|
|
92
|
+
summary: messages.getMessage('flags.protected.summary'),
|
|
93
|
+
description: messages.getMessage('flags.protected.description'),
|
|
94
|
+
options: ['true', 'false'],
|
|
95
|
+
default: 'false',
|
|
96
|
+
}),
|
|
97
|
+
'input-directory': sf_plugins_core_1.Flags.directory({
|
|
98
|
+
char: 'i',
|
|
99
|
+
summary: messages.getMessage('flags.input-directory.summary'),
|
|
100
|
+
default: path.join('force-app', 'main', 'default', 'objects'),
|
|
101
|
+
aliases: ['inputdir', 'inputdirectory'],
|
|
102
|
+
exists: true,
|
|
103
|
+
}),
|
|
104
|
+
'output-directory': sf_plugins_core_1.Flags.directory({
|
|
105
|
+
char: 'd',
|
|
106
|
+
summary: messages.getMessage('flags.output-directory.summary'),
|
|
107
|
+
default: path.join('force-app', 'main', 'default', 'customMetadata'),
|
|
108
|
+
aliases: ['outputdir', 'outputdirectory'],
|
|
109
|
+
}),
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/commands/generate/cmdt/record.ts"],"names":[],"mappings":"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"}
|