UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

53 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEMO_NUMBER = void 0; const schema_1 = require("@sprucelabs/schema"); const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils"); require('dotenv').config(); exports.DEMO_NUMBER = process.env.DEMO_NUMBER; class PersonFixture { connectToApi; constructor(apiClientFactory) { this.connectToApi = apiClientFactory; } async loginAsDemoPerson(phone) { const client = await this.connectToApi(); //@ts-ignore if (!phone && client.auth?.person) { //@ts-ignore return client.auth.person; } phone = phone || exports.DEMO_NUMBER; if (!phone) { throw new schema_1.SchemaError({ code: 'MISSING_PARAMETERS', parameters: ['env.DEMO_NUMBER'], }); } //@ts-ignore if (client.auth?.person?.phone === phone) { //@ts-ignore return client.auth.person; } const requestPinResults = await client.emit('request-pin::v2020_12_25', { payload: { phone }, }); const { challenge } = spruce_event_utils_1.eventResponseUtil.getFirstResponseOrThrow(requestPinResults); const confirmPinResults = await client.emit('confirm-pin::v2020_12_25', { payload: { challenge, pin: phone.substr(-4) }, }); const { person, token } = spruce_event_utils_1.eventResponseUtil.getFirstResponseOrThrow(confirmPinResults); const personWithToken = { ...person, token }; //@ts-ignore client.auth = { person: personWithToken }; return personWithToken; } async logout() { const client = await this.connectToApi(); await client.emit('logout::v2020_12_25'); //@ts-ignore delete client.auth; } } exports.default = PersonFixture; //# sourceMappingURL=PersonFixture.js.map