UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

41 lines (40 loc) 2.06 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const factory = require("../../factory"); const action_1 = require("../../repo/action"); const screeningEvent_1 = require("../../repo/itemAvailability/screeningEvent"); const reservation_1 = require("../../repo/reservation"); const task_1 = require("../../repo/task"); const transaction_1 = require("../../repo/transaction"); const ReserveService = require("../reserve"); /** * タスク実行関数 */ function call(data) { return (settings) => __awaiter(this, void 0, void 0, function* () { if (settings.redisClient === undefined) { throw new factory.errors.Argument('settings', 'redisClient required'); } const actionRepo = new action_1.MongoRepository(settings.connection); const reservationRepo = new reservation_1.MongoRepository(settings.connection); const taskRepo = new task_1.MongoRepository(settings.connection); const transactionRepo = new transaction_1.MongoRepository(settings.connection); const eventAvailabilityRepo = new screeningEvent_1.RedisRepository(settings.redisClient); yield ReserveService.cancelReservation(data.actionAttributes)({ action: actionRepo, reservation: reservationRepo, task: taskRepo, transaction: transactionRepo, eventAvailability: eventAvailabilityRepo }); }); } exports.call = call;