@chevre/domain
Version:
Chevre Domain Library for Node.js
80 lines (72 loc) • 3.17 kB
text/typescript
// 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);