@chevre/domain
Version:
Chevre Domain Library for Node.js
66 lines (56 loc) • 2.46 kB
text/typescript
// tslint:disable:no-console
import * as mongoose from 'mongoose';
import { chevre } from '../../../lib/index';
const project = { id: String(process.env.PROJECT_ID) };
mongoose.Model.on('index', (...args) => {
console.error('******** index event emitted. ********\n', args);
});
const CODE = '06bca3f3-07d0-44be-b480-9579cae12755';
const RESERVATION_ID = '283632655638788-0';
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const authorizationRepo = await chevre.repository.Authorization.createInstance(mongoose.connection);
const orderRepo = await chevre.repository.Order.createInstance(mongoose.connection);
const reservationRepo = await chevre.repository.Reservation.createInstance(mongoose.connection);
const ticketRepo = await chevre.repository.Ticket.createInstance(mongoose.connection);
await (await chevre.service.reserve.createService()).verifyToken4reservation({
project: { id: project.id },
agent: { id: project.id, typeOf: chevre.factory.organizationType.Project },
reservationId: RESERVATION_ID,
ticket: {
ticketToken: CODE
}
})(
{
authorization: authorizationRepo,
order: orderRepo,
ticket: ticketRepo
}
// {
// jwt: await chevre.credentials.JWT.createInstance({
// secret: <string>process.env.TOKEN_SECRET,
// issuers: (typeof process.env.TOKEN_ISSUERS_BY_AUTHORIZATION === 'string')
// ? process.env.TOKEN_ISSUERS_BY_AUTHORIZATION.split(' ')
// : [],
// version: (typeof process.env.TOKEN_VERSION === 'string') ? process.env.TOKEN_VERSION : '2024-05-02',
// payloadTypPrefix:
// (typeof process.env.TOKEN_PAYLOAD_TYP_PREFIX === 'string') ? process.env.TOKEN_PAYLOAD_TYP_PREFIX : 'chevre'
// })
// }
);
console.log('verified.');
const result = await (await chevre.service.reserve.createService()).findByCode({
project: { id: project.id },
code: CODE,
id: RESERVATION_ID
})({
authorization: authorizationRepo,
order: orderRepo,
reservation: reservationRepo
});
// tslint:disable-next-line:no-null-keyword
console.dir(result, { depth: null });
}
main()
.then(console.log)
.catch(console.error);