UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

39 lines 1.92 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const setupTestsOptions_schema_1 = __importDefault(require("./../../../.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema")); const action_utility_1 = __importDefault(require("../../../utilities/action.utility")); const AbstractAction_1 = __importDefault(require("../../AbstractAction")); class SetupAction extends AbstractAction_1.default { optionsSchema = setupTestsOptions_schema_1.default; commandAliases = ['setup.testing']; invocationMessage = 'Setting up for testing... 🛡'; async execute(options) { const normalizedOptions = this.validateAndNormalizeOptions(options); const { demoNumber, skillSlug } = normalizedOptions; const loginResponse = await this.Action('person', 'login').execute({ phone: demoNumber, pin: demoNumber.substr(demoNumber.length - 4), }); const registerResponse = await this.Action('skill', 'register').execute({ nameReadable: skillSlug, nameKebab: skillSlug, }); const err = registerResponse.errors?.[0]; const isDuplicateSlugError = err?.options?.responseErrors?.length === 1 && err?.options?.responseErrors?.[0]?.options?.code === 'DUPLICATE_SLUG'; let loginAsSkillResponse = {}; if (isDuplicateSlugError) { delete registerResponse.errors; loginAsSkillResponse = await this.Action('skill', 'login').execute({ skillSlug, }); } return action_utility_1.default.mergeActionResults({}, loginResponse, registerResponse, loginAsSkillResponse); } } exports.default = SetupAction; //# sourceMappingURL=SetupAction.js.map