@chevre/domain 20.2.0-alpha.12 → 20.2.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,37 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+ import * as redis from 'redis';
4
+
5
+ import { chevre } from '../../../lib/index';
6
+
7
+ // const project = { id: <string>process.env.PROJECT_ID };
8
+
9
+ async function main() {
10
+ await mongoose.connect(<string>process.env.MONGOLAB_URI);
11
+ const client = redis.createClient({
12
+ host: process.env.REDIS_HOST,
13
+ port: Number(process.env.REDIS_PORT),
14
+ password: process.env.REDIS_KEY
15
+ });
16
+
17
+ // const now = new Date();
18
+ await chevre.service.aggregation.event.aggregateScreeningEvent({
19
+ id: 'alb35u7m4'
20
+ })({
21
+ event: new chevre.repository.Event(mongoose.connection),
22
+ eventAvailability: new chevre.repository.itemAvailability.ScreeningEvent(client),
23
+ offer: new chevre.repository.Offer(mongoose.connection),
24
+ offerRateLimit: new chevre.repository.rateLimit.Offer(client),
25
+ place: new chevre.repository.Place(mongoose.connection),
26
+ product: new chevre.repository.Product(mongoose.connection),
27
+ project: new chevre.repository.Project(mongoose.connection),
28
+ reservation: new chevre.repository.Reservation(mongoose.connection),
29
+ task: new chevre.repository.Task(mongoose.connection)
30
+ });
31
+ }
32
+
33
+ main()
34
+ .then(() => {
35
+ console.log('success!');
36
+ })
37
+ .catch(console.error);
@@ -14,6 +14,7 @@ async function main() {
14
14
  const categoryCodeRepo = new chevre.repository.CategoryCode(mongoose.connection);
15
15
  const eventRepo = new chevre.repository.Event(mongoose.connection);
16
16
  const placeRepo = new chevre.repository.Place(mongoose.connection);
17
+ const sellerRepo = new chevre.repository.Seller(mongoose.connection);
17
18
 
18
19
  await chevre.service.event.importFromCOA({
19
20
  project: {
@@ -28,7 +29,13 @@ async function main() {
28
29
  .toDate(),
29
30
  saveMovieTheater: false,
30
31
  saveScreeningEventSeries: false
31
- })({ action: actionRepo, categoryCode: categoryCodeRepo, event: eventRepo, place: placeRepo });
32
+ })({
33
+ action: actionRepo,
34
+ categoryCode: categoryCodeRepo,
35
+ event: eventRepo,
36
+ place: placeRepo,
37
+ seller: sellerRepo
38
+ });
32
39
  console.log('imported');
33
40
  }
34
41
 
@@ -3,6 +3,7 @@ import { MongoRepository as CategoryCodeRepo } from '../repo/categoryCode';
3
3
  import { MongoRepository as EventRepo } from '../repo/event';
4
4
  import { MongoRepository as PlaceRepo } from '../repo/place';
5
5
  import { MongoRepository as ProjectRepo } from '../repo/project';
6
+ import { MongoRepository as SellerRepo } from '../repo/seller';
6
7
  import { MongoRepository as TaskRepo } from '../repo/task';
7
8
  import * as factory from '../factory';
8
9
  /**
@@ -32,6 +33,7 @@ export declare function importFromCOA(params: {
32
33
  categoryCode: CategoryCodeRepo;
33
34
  event: EventRepo;
34
35
  place: PlaceRepo;
36
+ seller: SellerRepo;
35
37
  }) => Promise<void>;
36
38
  /**
37
39
  * COA情報からイベントIDを作成する
@@ -89,8 +89,18 @@ function importFromCOA(params) {
89
89
  endpoint: credentials_1.credentials.coa.endpoint,
90
90
  auth: coaAuthClient
91
91
  }, { timeout: credentials_1.credentials.coa.timeout });
92
+ // 同ブランチコードの販売者を検索する
93
+ const sellersWithSameBranchCode = yield repos.seller.search({
94
+ limit: 1,
95
+ page: 1,
96
+ branchCode: { $eq: params.locationBranchCode }
97
+ });
98
+ const seller = sellersWithSameBranchCode.shift();
99
+ if (typeof (seller === null || seller === void 0 ? void 0 : seller.id) !== 'string') {
100
+ throw new factory.errors.NotFound('Seller', `Seller with branchCod '${params.locationBranchCode}' not found`);
101
+ }
92
102
  // 施設取得
93
- let movieTheater = createMovieTheaterFromCOA(project, yield masterService.theater({ theaterCode: params.locationBranchCode }), yield masterService.screen({ theaterCode: params.locationBranchCode }));
103
+ let movieTheater = createMovieTheaterFromCOA(project, { id: seller.id }, yield masterService.theater({ theaterCode: params.locationBranchCode }), yield masterService.screen({ theaterCode: params.locationBranchCode }));
94
104
  // saveMovieTheater:trueの場合のみ、施設保管(2022-10-10~)
95
105
  if (params.saveMovieTheater === true) {
96
106
  movieTheater = yield repos.place.saveMovieTheaterByBranchCode4coa(movieTheater);
@@ -539,11 +549,12 @@ function createScreeningEventSeriesFromCOA(params) {
539
549
  kanaName: params.movieTheater.kanaName,
540
550
  typeOf: params.movieTheater.typeOf
541
551
  },
542
- organizer: {
543
- typeOf: factory.organizationType.Corporation,
544
- identifier: params.movieTheater.id,
545
- name: params.movieTheater.name
546
- },
552
+ // 不要なので廃止(2023-01-12~)
553
+ // organizer: {
554
+ // typeOf: factory.organizationType.Corporation,
555
+ // identifier: params.movieTheater.id,
556
+ // name: params.movieTheater.name
557
+ // },
547
558
  videoFormat: params.eizouKubuns.filter((kubun) => kubun.kubunCode === params.filmFromCOA.kbnEizou)[0],
548
559
  soundFormat: [],
549
560
  workPerformed: {
@@ -617,7 +628,7 @@ function createScreeningEventSeriesId(params) {
617
628
  */
618
629
  // tslint:disable-next-line:no-single-line-block-comment
619
630
  /* istanbul ignore next */
620
- function createMovieTheaterFromCOA(project, theaterFromCOA, screensFromCOA) {
631
+ function createMovieTheaterFromCOA(project, seller, theaterFromCOA, screensFromCOA) {
621
632
  const id = `MovieTheater-${theaterFromCOA.theaterCode}`;
622
633
  return {
623
634
  project: { typeOf: project.typeOf, id: project.id },
@@ -663,7 +674,8 @@ function createMovieTheaterFromCOA(project, theaterFromCOA, screensFromCOA) {
663
674
  value: 2678400,
664
675
  unitCode: factory.unitCode.Sec
665
676
  }
666
- }
677
+ },
678
+ parentOrganization: { id: seller.id, typeOf: factory.organizationType.Corporation }
667
679
  };
668
680
  }
669
681
  /**
@@ -39,10 +39,6 @@ function searchTransportationEventTicketOffers(params) {
39
39
  throw new factory.errors.NotFound('event.offers.itemOffered.id');
40
40
  }
41
41
  const { soundFormatChargeSpecifications, videoFormatChargeSpecifications, movieTicketTypeChargeSpecs } = yield searchPriceSpecs4event({ project: { id: screeningEvent.project.id }, soundFormatTypes, videoFormatTypes })(repos);
42
- const screeningEventOfferSettings = screeningEvent.offers;
43
- if (screeningEventOfferSettings === undefined) {
44
- throw new factory.errors.NotFound('event.offers');
45
- }
46
42
  const unacceptedPaymentMethod = getUnacceptedPaymentMethodByEvent({ event: screeningEvent });
47
43
  // 不許可決済方法があれば、該当オファーを除外
48
44
  if (Array.isArray(unacceptedPaymentMethod) && unacceptedPaymentMethod.length > 0) {
@@ -94,7 +90,7 @@ function searchTransportationEventTicketOffers(params) {
94
90
  });
95
91
  let offers4event = availableOffers.map((availableOffer) => {
96
92
  return (0, factory_1.createCompoundPriceSpec4event)({
97
- eligibleQuantity: screeningEventOfferSettings.eligibleQuantity,
93
+ eligibleQuantity: eventOffers.eligibleQuantity,
98
94
  offer: availableOffer,
99
95
  videoFormatChargeSpecifications,
100
96
  soundFormatChargeSpecifications,
@@ -14,6 +14,7 @@ const action_1 = require("../../repo/action");
14
14
  const categoryCode_1 = require("../../repo/categoryCode");
15
15
  const event_1 = require("../../repo/event");
16
16
  const place_1 = require("../../repo/place");
17
+ const seller_1 = require("../../repo/seller");
17
18
  const EventService = require("../event");
18
19
  /**
19
20
  * タスク実行関数
@@ -24,7 +25,8 @@ function call(data) {
24
25
  action: new action_1.MongoRepository(settings.connection),
25
26
  categoryCode: new categoryCode_1.MongoRepository(settings.connection),
26
27
  event: new event_1.MongoRepository(settings.connection),
27
- place: new place_1.MongoRepository(settings.connection)
28
+ place: new place_1.MongoRepository(settings.connection),
29
+ seller: new seller_1.MongoRepository(settings.connection)
28
30
  });
29
31
  });
30
32
  }
package/package.json CHANGED
@@ -9,8 +9,8 @@
9
9
  }
10
10
  ],
11
11
  "dependencies": {
12
- "@chevre/factory": "4.281.0-alpha.6",
13
- "@cinerino/sdk": "3.135.0-alpha.7",
12
+ "@chevre/factory": "4.281.0",
13
+ "@cinerino/sdk": "3.135.0",
14
14
  "@motionpicture/coa-service": "9.2.0",
15
15
  "@motionpicture/gmo-service": "5.2.0",
16
16
  "@sendgrid/mail": "6.4.0",
@@ -120,5 +120,5 @@
120
120
  "postversion": "git push origin --tags",
121
121
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
122
122
  },
123
- "version": "20.2.0-alpha.12"
123
+ "version": "20.2.0-alpha.13"
124
124
  }