UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

80 lines (72 loc) 3.17 kB
// tslint:disable:no-console import * as mongoose from 'mongoose'; import { chevre } from '../../../lib/index'; const informOrderUrls = (typeof process.env.INFORM_ORDER_URL === 'string') ? process.env.INFORM_ORDER_URL.split(' ') : []; // const informReservationUrls = (typeof process.env.INFORM_RESERVATION_URL === 'string') // ? process.env.INFORM_RESERVATION_URL.split(' ') // : []; // const informResourceUrls = (typeof process.env.INFORM_RESOURCE_URL === 'string') // ? process.env.INFORM_RESOURCE_URL.split(',') // : []; // const informEvent2aggUrls = (typeof process.env.INFORM_EVENT_AGG_URL === 'string') // ? process.env.INFORM_EVENT_AGG_URL.split(' ') // : []; // const userPoolIdOld = process.env.USERPOOL_ID_OLD; // const userPoolIdNew = process.env.USERPOOL_ID_NEW; // const defaultSenderEmail = process.env.DEFAULT_SENDER_EMAIL; // tslint:disable-next-line:max-func-body-length async function main() { await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false }); const settingRepo = await chevre.repository.Setting.createInstance(mongoose.connection); const result = await settingRepo.findOne({}, ['triggerWebhook', 'waiter']); // tslint:disable-next-line:no-null-keyword console.dir(result, { depth: null }); if (result === null) { if (informOrderUrls.length > 0) { await settingRepo.saveOne({ project: { id: '*', typeOf: chevre.factory.organizationType.Project }, onOrderStatusChanged: { informOrder: informOrderUrls .filter((url) => url.length > 0) .map((url) => { return { recipient: { typeOf: chevre.factory.creativeWorkType.WebApplication, name: 'Aggregation Service', url } }; }) } }); console.log('saved'); } } else { const updateResult = await settingRepo.updateByProject( { project: { id: { $eq: '*' } } }, { triggerWebhook: { timeout: 15000, useFetchAPI: true, secretKey: String(process.env.TRIGGER_WEBHOOK_SECRET_KEY), headerIdentifier: String(process.env.TRIGGER_WEBHOOK_HEADER_IDENTIFIER), retryCountMax: 2, retryIntervalInMS: 1000 }, waiter: { disabled: process.env.WAITER_DISABLED === '1', passportUnavailable: process.env.WAITER_PASSPORT_UNAVAILABLE === '1', passportIssuers: String(process.env.WAITER_PASSPORT_ISSUER) .split(' '), secret: String(process.env.WAITER_SECRET) } } ); console.log('updated', updateResult); } } main() .then(console.log) .catch(console.error);