@chevre/domain
Version:
Chevre Domain Library for Node.js
67 lines (59 loc) • 2.51 kB
text/typescript
// tslint:disable:no-console
// import * as redis from 'redis';
import * as moment from 'moment';
import * as mongoose from 'mongoose';
import { chevre } from '../../../lib/index';
const project = { id: String(process.env.PROJECT_ID) };
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const actionRepo = await chevre.repository.Action.createInstance(mongoose.connection);
const categoryCodeRepo = await chevre.repository.CategoryCode.createInstance(mongoose.connection);
const creativeWorkRepo = await chevre.repository.CreativeWork.createInstance(mongoose.connection);
const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
const eventSeriesRepo = await chevre.repository.EventSeries.createInstance(mongoose.connection);
const screeningRoomRepo = await chevre.repository.place.ScreeningRoom.createInstance(mongoose.connection);
const movieTheaterRepo = await chevre.repository.place.MovieTheater.createInstance(mongoose.connection);
const sellerRepo = await chevre.repository.Seller.createInstance(mongoose.connection);
const coaAuthClient = new (await chevre.loadCOA()).auth.RefreshToken({
endpoint: String(process.env.COA_ENDPOINT),
refreshToken: process.env.COA_REFRESH_TOKEN,
useFetch: true
});
const masterService = new (await chevre.loadCOA()).service.Master(
{
endpoint: String(process.env.COA_ENDPOINT),
auth: coaAuthClient
},
{ timeout: 20000 }
);
await (await chevre.service.event.createService()).importFromCOA({
project: {
id: project.id,
typeOf: chevre.factory.organizationType.Project
},
locationBranchCode: '120',
importFrom: moment()
.toDate(),
importThrough: moment()
.add(1, 'day')
.toDate(),
saveMovieTheater: false,
saveScreeningEventSeries: false,
// saveScreeningEventSeries: true,
saveScreeningEventSeriesPeriodInMonth: 3
})({
action: actionRepo,
categoryCode: categoryCodeRepo,
creativeWork: creativeWorkRepo,
event: eventRepo,
eventSeries: eventSeriesRepo,
movieTheater: movieTheaterRepo,
screeningRoom: screeningRoomRepo,
seller: sellerRepo,
masterService
});
console.log('imported');
}
main()
.then(console.log)
.catch(console.error);