@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
|
|
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 (
|
|
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