UNPKG

@hellocoop/helper-server

Version:

Hellō helper functions for server

44 lines (43 loc) 1.6 kB
"use strict"; // creates an invite request URL for Hellō Object.defineProperty(exports, "__esModule", { value: true }); exports.createInviteRequest = createInviteRequest; const definitions_1 = require("@hellocoop/definitions"); function createInviteRequest(config) { if (!config.inviter) { throw new Error('inviter is required in the invite request.'); } if (!config.client_id) { throw new Error('client_id is required in the invite request.'); } if (!config.initiate_login_uri) { throw new Error('initiate_login_uri is required in the invite request.'); } if (!config.return_uri) { throw new Error('return_uri is required in the invite request.'); } const url = new URL('/invite', config.wallet || definitions_1.PRODUCTION_WALLET); url.searchParams.set('inviter', config.inviter); url.searchParams.set('client_id', config.client_id); url.searchParams.set('initiate_login_uri', config.initiate_login_uri); url.searchParams.set('return_uri', config.return_uri); if (config.app_name) { url.searchParams.set('app_name', config.app_name); } if (config.prompt) { url.searchParams.set('prompt', config.prompt); } if (config.role) { url.searchParams.set('role', config.role); } if (config.tenant) { url.searchParams.set('tenant', config.tenant); } if (config.state) { url.searchParams.set('state', config.state); } if (config.events_uri) { url.searchParams.set('events_uri', config.events_uri); } return { url: url.href }; }