salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
55 lines (53 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommunityCreateResource = void 0;
const core_1 = require("@salesforce/core");
core_1.Messages.importMessagesDirectory(__dirname);
const communityMessages = core_1.Messages.loadMessages('salesforce-alm', 'community_commands');
const MESSAGE_KEY = 'message';
const NAME_KEY = 'name';
const ACTION_KEY = 'action';
/**
* A connect api resource for creating a community
*/
class CommunityCreateResource {
constructor(flags, params, ux) {
this.flags = flags;
this.params = params;
this.ux = ux;
}
handleSuccess(result) {
const response = {
message: communityMessages.getMessage('create.response.createMessage'),
name: result[NAME_KEY],
action: communityMessages.getMessage('create.response.action'),
};
const columns = [NAME_KEY, MESSAGE_KEY, ACTION_KEY];
this.ux.styledHeader(communityMessages.getMessage('create.response.styleHeader'));
this.ux.table([response], columns);
return response;
}
handleError(error) {
throw error;
}
// eslint-disable-next-line @typescript-eslint/require-await
async fetchRelativeConnectUrl() {
return '/connect/communities';
}
getRequestMethod() {
return 'POST';
}
// eslint-disable-next-line @typescript-eslint/require-await
async fetchPostParams() {
const params = {
name: this.flags.name,
urlPathPrefix: this.flags.urlpathprefix,
templateName: this.flags.templatename,
description: this.flags.description,
templateParams: this.params['templateParams'],
};
return JSON.stringify(params);
}
}
exports.CommunityCreateResource = CommunityCreateResource;
//# sourceMappingURL=CommunityCreateResource.js.map