@chevre/domain 22.14.0-alpha.19 → 22.14.0-alpha.20

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,119 @@
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 = {
8
+ id: String(process.env.PROJECT_ID),
9
+ typeOf: <chevre.factory.organizationType.Project>chevre.factory.organizationType.Project
10
+ };
11
+
12
+ // tslint:disable-next-line:max-func-body-length
13
+ async function main() {
14
+ const redisClient = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({
15
+ socket: {
16
+ port: Number(<string>process.env.REDIS_PORT),
17
+ host: <string>process.env.REDIS_HOST
18
+ },
19
+ password: <string>process.env.REDIS_KEY
20
+ });
21
+ await redisClient.connect();
22
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
23
+
24
+ const action = await (await chevre.service.offer.createService()).event.authorize(
25
+ {
26
+ project: project,
27
+ object: {
28
+ acceptedOffer: [],
29
+ reservationFor: {
30
+ id: 'bmcvkft63',
31
+ offers: {
32
+ validForMemberTier: {
33
+ token: 'xx',
34
+ isTierOf: { identifier: 'DefaultMemberProgram' }
35
+ }
36
+ }
37
+
38
+ }
39
+ },
40
+ agent: { id: 'xxx' },
41
+ transaction: { id: 'xxx' },
42
+ validateEventOfferPeriod: true,
43
+ validateEvent: false,
44
+ store: { id: 'xxx' }
45
+ },
46
+ {
47
+ noOfferSpecified: true,
48
+ maxReservationGracePeriodInDays: 93
49
+ }
50
+ )(
51
+ {
52
+ action: await chevre.repository.Action.createInstance(mongoose.connection),
53
+ advanceBookingRequirement: await chevre.repository.AdvanceBookingRequirement.createInstance(mongoose.connection),
54
+ assetTransaction: await chevre.repository.AssetTransaction.createInstance(mongoose.connection),
55
+ authorization: await chevre.repository.Authorization.createInstance(mongoose.connection),
56
+ event: await chevre.repository.Event.createInstance(mongoose.connection),
57
+ eventSeries: await chevre.repository.EventSeries.createInstance(mongoose.connection),
58
+ issuer: await chevre.repository.Issuer.createInstance(mongoose.connection),
59
+ memberProgram: await chevre.repository.MemberProgram.createInstance(mongoose.connection),
60
+ stockHolder: await chevre.repository.StockHolder.createInstance({ connection: mongoose.connection }),
61
+ offer: await chevre.repository.Offer.createInstance(mongoose.connection),
62
+ offerCatalog: await chevre.repository.OfferCatalog.createInstance(mongoose.connection),
63
+ offerCatalogItem: await chevre.repository.OfferCatalogItem.createInstance(mongoose.connection),
64
+ offerRateLimit: await chevre.repository.rateLimit.Offer.createInstance(redisClient),
65
+ orderInTransaction: await chevre.repository.OrderInTransaction.createInstance(mongoose.connection),
66
+ orderNumber: await chevre.repository.OrderNumber.createInstance({ connection: mongoose.connection }),
67
+ paymentService: await chevre.repository.PaymentService.createInstance(mongoose.connection),
68
+ priceSpecification: await chevre.repository.PriceSpecification.createInstance(mongoose.connection),
69
+ product: await chevre.repository.Product.createInstance(mongoose.connection),
70
+ productOffer: await chevre.repository.ProductOffer.createInstance(mongoose.connection),
71
+ project: await chevre.repository.Project.createInstance(mongoose.connection),
72
+ seat: await chevre.repository.place.Seat.createInstance(mongoose.connection),
73
+ setting: await chevre.repository.Setting.createInstance(mongoose.connection),
74
+ task: await chevre.repository.Task.createInstance(mongoose.connection),
75
+ ticket: await chevre.repository.Ticket.createInstance(mongoose.connection),
76
+ transaction: await chevre.repository.Transaction.createInstance(mongoose.connection),
77
+ transactionNumber: await chevre.repository.TransactionNumber.createInstance({ connection: mongoose.connection })
78
+ },
79
+ new chevre.settings.Settings({
80
+ // notification: {
81
+ // // tslint:disable-next-line:no-magic-numbers
82
+ // timeout: (process.env.TRIGGER_WEBHOOK_TIMEOUT !== undefined) ? Number(process.env.TRIGGER_WEBHOOK_TIMEOUT) : 15000,
83
+ // useFetchAPI: process.env.USE_FETCH_API === '1',
84
+ // secretKey: (typeof process.env.TRIGGER_WEBHOOK_SECRET_KEY === 'string')
85
+ // ? process.env.TRIGGER_WEBHOOK_SECRET_KEY
86
+ // : '',
87
+ // headerIdentifier: (typeof process.env.TRIGGER_WEBHOOK_HEADER_IDENTIFIER === 'string')
88
+ // ? process.env.TRIGGER_WEBHOOK_HEADER_IDENTIFIER
89
+ // : ''
90
+ // },
91
+ abortedTasksWithoutReport: (typeof process.env.ABORTED_TASKS_WITHOUT_REPORT === 'string')
92
+ ? process.env.ABORTED_TASKS_WITHOUT_REPORT.split(' ')
93
+ : [],
94
+ numTryConfirmReserveTransaction: (typeof process.env.NUM_TRY_CONFIRM_RESERVE_TRANSACTION === 'string')
95
+ ? Number(process.env.NUM_TRY_CONFIRM_RESERVE_TRANSACTION)
96
+ // tslint:disable-next-line:no-magic-numbers
97
+ : 10,
98
+ deliverOrderLimit: (typeof process.env.DELIVER_ORDER_LIMIT === 'string')
99
+ ? Number(process.env.DELIVER_ORDER_LIMIT)
100
+ : 1,
101
+ coa: {
102
+ // tslint:disable-next-line:no-magic-numbers
103
+ timeout: (typeof process.env.COA_TIMEOUT === 'string') ? Number(process.env.COA_TIMEOUT) : 20000
104
+ },
105
+ gmo: <any>{
106
+ useFetch: process.env.GMO_USE_FETCH === '1'
107
+ },
108
+ movieticketReserve: <any>{
109
+ },
110
+ // useAssetTransactionSyncProcessing: process.env.USE_ASSET_TRANSACTION_SYNC_PROCESSING === '1',
111
+ useExperimentalFeature: process.env.USE_EXPERIMENTAL_FEATURE === '1'
112
+ })
113
+ );
114
+ console.log('authorized.', action);
115
+ }
116
+
117
+ main()
118
+ .then(console.log)
119
+ .catch(console.error);
@@ -54,9 +54,9 @@ function validateStartRequest(params) {
54
54
  if (typeof ((_a = params.store) === null || _a === void 0 ? void 0 : _a.id) !== 'string') {
55
55
  throw new factory.errors.NotFound('store.id');
56
56
  }
57
- const tokenizedValidForMemberTier = (_c = (_b = params.object.reservationFor) === null || _b === void 0 ? void 0 : _b.offers) === null || _c === void 0 ? void 0 : _c.validForMemberTier;
57
+ const tokenizedMemberProgramTier = (_c = (_b = params.object.reservationFor) === null || _b === void 0 ? void 0 : _b.offers) === null || _c === void 0 ? void 0 : _c.validForMemberTier;
58
58
  yield validateEventOfferPeriod(Object.assign({ event,
59
- now, availableAt: { id: params.store.id } }, (typeof (tokenizedValidForMemberTier === null || tokenizedValidForMemberTier === void 0 ? void 0 : tokenizedValidForMemberTier.token) === 'string') ? { tokenizedValidForMemberTier } : undefined))(repos);
59
+ now, availableAt: { id: params.store.id } }, (typeof (tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.token) === 'string') ? { tokenizedMemberProgramTier } : undefined))(repos);
60
60
  }
61
61
  if (params.validateEvent === true) {
62
62
  validateEvent({ event, object: params.object });
@@ -115,6 +115,7 @@ function validateMemberTier(params) {
115
115
  */
116
116
  function validateEventOfferPeriod(params) {
117
117
  return (repos) => __awaiter(this, void 0, void 0, function* () {
118
+ var _a;
118
119
  const { event, availableAt, tokenizedMemberProgramTier } = params;
119
120
  const acceptedDate = moment(params.now);
120
121
  const eventOffers = event.offers;
@@ -148,7 +149,7 @@ function validateEventOfferPeriod(params) {
148
149
  const validForMemberTierExists = makesOfferOnApplication.validForMemberTier.typeOf === 'MemberProgramTier';
149
150
  if (validForMemberTierExists) {
150
151
  const validForMemberTierToken = tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.token;
151
- const memberProgramIdentifierMustBe = tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.isTierOf.identifier;
152
+ const memberProgramIdentifierMustBe = (_a = tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.isTierOf) === null || _a === void 0 ? void 0 : _a.identifier;
152
153
  // ティアトークンが必須
153
154
  if (typeof validForMemberTierToken !== 'string' || validForMemberTierToken === '') {
154
155
  throw new factory.errors.ArgumentNull('reservationFor.offers.validForMemberTier.token');
@@ -170,7 +171,7 @@ function validateEventOfferPeriod(params) {
170
171
  identifier: { $eq: memberProgramIdentifierMustBe }
171
172
  })).shift();
172
173
  if (memberProgram === undefined) {
173
- throw new factory.errors.NotFound('MemberProgram');
174
+ throw new factory.errors.NotFound('MemberProgram', `MemberProgram '${memberProgramIdentifierMustBe}' not found`);
174
175
  }
175
176
  const issuer = yield repos.issuer.findByIdentifier({
176
177
  project: { id: params.event.project.id },
package/package.json CHANGED
@@ -115,5 +115,5 @@
115
115
  "postversion": "git push origin --tags",
116
116
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
117
117
  },
118
- "version": "22.14.0-alpha.19"
118
+ "version": "22.14.0-alpha.20"
119
119
  }