@chevre/domain 23.1.0-alpha.7 → 23.1.0-alpha.9
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.
- package/example/src/chevre/assetTransaction/processReserve.ts +7 -3
- package/example/src/chevre/authorizeEventServiceOffer.ts +6 -5
- package/example/src/chevre/member/migrateMemberIdentifier.ts +20 -15
- package/example/src/chevre/reIndex.ts +2 -2
- package/lib/chevre/repo/member.d.ts +7 -0
- package/lib/chevre/repo/member.js +12 -7
- package/lib/chevre/repo/mongoose/schemas/eventOffer.js +39 -35
- package/lib/chevre/repo/mongoose/schemas/member.js +10 -0
- package/lib/chevre/service/assetTransaction/reserve/start.d.ts +4 -0
- package/lib/chevre/service/assetTransaction/reserve/start.js +4 -1
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.d.ts +1 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +2 -2
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.d.ts +1 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +3 -3
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.d.ts +1 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +3 -3
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.d.ts +23 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +64 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.d.ts +5 -0
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +16 -4
- package/lib/chevre/service/offer/event/authorize/factory.d.ts +0 -4
- package/lib/chevre/service/offer/event/authorize/factory.js +2 -5
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +1 -0
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +2 -7
- package/lib/chevre/service/offer/event/authorize.d.ts +1 -0
- package/lib/chevre/service/offer/event/authorize.js +7 -7
- package/package.json +3 -3
|
@@ -76,8 +76,8 @@ async function main() {
|
|
|
76
76
|
reservationFor: {
|
|
77
77
|
id: EVENT_ID,
|
|
78
78
|
offers: {
|
|
79
|
-
token: OFFER_TOKEN,
|
|
80
|
-
identifier: 'LegacyReservation'
|
|
79
|
+
// token: OFFER_TOKEN,
|
|
80
|
+
// identifier: 'LegacyReservation'
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
@@ -88,7 +88,9 @@ async function main() {
|
|
|
88
88
|
validateEvent: false,
|
|
89
89
|
validateEventOfferPeriod: true,
|
|
90
90
|
validateAppliesToMovieTicket: true,
|
|
91
|
-
instrument: [
|
|
91
|
+
instrument: [
|
|
92
|
+
...(typeof OFFER_TOKEN === 'string') ? [{ ticketToken: OFFER_TOKEN, typeOf: <'Ticket'>'Ticket' }] : []
|
|
93
|
+
],
|
|
92
94
|
availableAtOrFrom: { id: APPLICATION_ID }
|
|
93
95
|
// stockHoldUntilDaysAfterEventEnd: STOCK_HOLD_UNTIL_DAYS_AFTER_EVENT_END
|
|
94
96
|
},
|
|
@@ -96,6 +98,7 @@ async function main() {
|
|
|
96
98
|
)(
|
|
97
99
|
{
|
|
98
100
|
advanceBookingRequirement: await chevre.repository.AdvanceBookingRequirement.createInstance(mongoose.connection),
|
|
101
|
+
authorization: await chevre.repository.Authorization.createInstance(mongoose.connection),
|
|
99
102
|
project: await chevre.repository.Project.createInstance(mongoose.connection),
|
|
100
103
|
stockHolder: await chevre.repository.StockHolder.createInstance({ connection: mongoose.connection }),
|
|
101
104
|
event: await chevre.repository.Event.createInstance(mongoose.connection),
|
|
@@ -115,6 +118,7 @@ async function main() {
|
|
|
115
118
|
seat: await chevre.repository.place.Seat.createInstance(mongoose.connection),
|
|
116
119
|
setting: await chevre.repository.Setting.createInstance(mongoose.connection),
|
|
117
120
|
task: await chevre.repository.Task.createInstance(mongoose.connection),
|
|
121
|
+
ticket: await chevre.repository.Ticket.createInstance(mongoose.connection),
|
|
118
122
|
assetTransaction: await chevre.repository.AssetTransaction.createInstance(mongoose.connection)
|
|
119
123
|
},
|
|
120
124
|
new chevre.settings.Settings({
|
|
@@ -29,10 +29,10 @@ async function main() {
|
|
|
29
29
|
reservationFor: {
|
|
30
30
|
id: 'bmcvkft63',
|
|
31
31
|
offers: {
|
|
32
|
-
validForMemberTier: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
32
|
+
// validForMemberTier: {
|
|
33
|
+
// token: 'xx',
|
|
34
|
+
// isTierOf: { identifier: 'DefaultMemberProgram' }
|
|
35
|
+
// }
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
}
|
|
@@ -41,7 +41,8 @@ async function main() {
|
|
|
41
41
|
transaction: { id: 'xxx' },
|
|
42
42
|
validateEventOfferPeriod: true,
|
|
43
43
|
validateEvent: false,
|
|
44
|
-
store: { id: 'xxx' }
|
|
44
|
+
store: { id: 'xxx' },
|
|
45
|
+
instrument: []
|
|
45
46
|
},
|
|
46
47
|
{
|
|
47
48
|
noOfferSpecified: true,
|
|
@@ -53,35 +53,40 @@ async function main() {
|
|
|
53
53
|
i += 1;
|
|
54
54
|
const iamMember: chevre.factory.iam.IMember = doc.toObject();
|
|
55
55
|
|
|
56
|
-
const
|
|
56
|
+
const applicationIdentifier = iamMember.member.identifier;
|
|
57
|
+
const updatingIdentifier = identifierMap.find(({ id }) => id === iamMember.member.id)?.identifier;
|
|
58
|
+
if (typeof updatingIdentifier !== 'string') {
|
|
59
|
+
throw new Error(`map not found. ${iamMember.member.name}`);
|
|
60
|
+
}
|
|
61
|
+
const identifierExists = typeof applicationIdentifier === 'string';
|
|
57
62
|
|
|
58
63
|
if (identifierExists) {
|
|
64
|
+
if (applicationIdentifier !== updatingIdentifier) {
|
|
65
|
+
throw new Error(`unexpected application identifier. ${iamMember.member.name}`);
|
|
66
|
+
}
|
|
67
|
+
|
|
59
68
|
console.log(
|
|
60
69
|
'identifier exists',
|
|
61
70
|
iamMember.project.id,
|
|
62
71
|
iamMember.member.name,
|
|
63
|
-
|
|
72
|
+
applicationIdentifier
|
|
64
73
|
);
|
|
65
74
|
} else {
|
|
66
|
-
const updatingIdentifier = identifierMap.find(({ id }) => id === iamMember.member.id)?.identifier;
|
|
67
|
-
if (typeof updatingIdentifier !== 'string') {
|
|
68
|
-
throw new Error(`map not found. ${iamMember.member.name}`);
|
|
69
|
-
}
|
|
70
75
|
console.log(
|
|
71
76
|
'migrating identifier...',
|
|
72
77
|
iamMember.project.id,
|
|
73
78
|
iamMember.member.name,
|
|
74
79
|
updatingIdentifier
|
|
75
80
|
);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
await memberRepo.updateByMemberId({
|
|
82
|
+
project: { id: iamMember.project.id },
|
|
83
|
+
member: {
|
|
84
|
+
id: iamMember.member.id,
|
|
85
|
+
memberOf: iamMember.member.memberOf,
|
|
86
|
+
identifier: updatingIdentifier
|
|
87
|
+
},
|
|
88
|
+
$unset: {}
|
|
89
|
+
});
|
|
85
90
|
updated += 1;
|
|
86
91
|
}
|
|
87
92
|
});
|
|
@@ -11,8 +11,8 @@ mongoose.Model.on('index', (...args) => {
|
|
|
11
11
|
async function main() {
|
|
12
12
|
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
13
13
|
|
|
14
|
-
await chevre.repository.
|
|
15
|
-
|
|
14
|
+
await chevre.repository.EventOffer.createInstance(mongoose.connection);
|
|
15
|
+
await chevre.repository.Member.createInstance(mongoose.connection);
|
|
16
16
|
console.log('success!');
|
|
17
17
|
}
|
|
18
18
|
|
|
@@ -30,7 +30,7 @@ class MemberRepo {
|
|
|
30
30
|
}
|
|
31
31
|
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
32
32
|
static CREATE_MONGO_CONDITIONS(params) {
|
|
33
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
|
33
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
34
34
|
const andConditions = [];
|
|
35
35
|
const idEq = (_a = params.id) === null || _a === void 0 ? void 0 : _a.$eq;
|
|
36
36
|
if (typeof idEq === 'string') {
|
|
@@ -64,7 +64,11 @@ class MemberRepo {
|
|
|
64
64
|
if (Array.isArray(memberIdIn)) {
|
|
65
65
|
andConditions.push({ 'member.id': { $in: memberIdIn } });
|
|
66
66
|
}
|
|
67
|
-
const
|
|
67
|
+
const memberIdentifierEq = (_u = (_t = params.member) === null || _t === void 0 ? void 0 : _t.identifier) === null || _u === void 0 ? void 0 : _u.$eq;
|
|
68
|
+
if (typeof memberIdentifierEq === 'string') {
|
|
69
|
+
andConditions.push({ 'member.identifier': { $exists: true, $eq: memberIdentifierEq } });
|
|
70
|
+
}
|
|
71
|
+
const memberNameRegex = (_w = (_v = params.member) === null || _v === void 0 ? void 0 : _v.name) === null || _w === void 0 ? void 0 : _w.$regex;
|
|
68
72
|
if (typeof memberNameRegex === 'string' && memberNameRegex.length > 0) {
|
|
69
73
|
andConditions.push({
|
|
70
74
|
'member.name': {
|
|
@@ -73,7 +77,7 @@ class MemberRepo {
|
|
|
73
77
|
}
|
|
74
78
|
});
|
|
75
79
|
}
|
|
76
|
-
const memberHasRoleRoleNameEq = (
|
|
80
|
+
const memberHasRoleRoleNameEq = (_z = (_y = (_x = params.member) === null || _x === void 0 ? void 0 : _x.hasRole) === null || _y === void 0 ? void 0 : _y.roleName) === null || _z === void 0 ? void 0 : _z.$eq;
|
|
77
81
|
if (typeof memberHasRoleRoleNameEq === 'string') {
|
|
78
82
|
andConditions.push({
|
|
79
83
|
'member.hasRole.roleName': {
|
|
@@ -82,7 +86,7 @@ class MemberRepo {
|
|
|
82
86
|
}
|
|
83
87
|
});
|
|
84
88
|
}
|
|
85
|
-
const memberHasRoleRoleNameIn = (
|
|
89
|
+
const memberHasRoleRoleNameIn = (_2 = (_1 = (_0 = params.member) === null || _0 === void 0 ? void 0 : _0.hasRole) === null || _1 === void 0 ? void 0 : _1.roleName) === null || _2 === void 0 ? void 0 : _2.$in;
|
|
86
90
|
if (Array.isArray(memberHasRoleRoleNameIn)) {
|
|
87
91
|
andConditions.push({
|
|
88
92
|
'member.hasRole.roleName': {
|
|
@@ -110,7 +114,7 @@ class MemberRepo {
|
|
|
110
114
|
*/
|
|
111
115
|
searchCustomerMembers(params) {
|
|
112
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
117
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
114
118
|
if (typeof params.project.id !== 'string' || params.project.id === '') {
|
|
115
119
|
throw new factory.errors.ArgumentNull('project.id');
|
|
116
120
|
}
|
|
@@ -128,7 +132,8 @@ class MemberRepo {
|
|
|
128
132
|
}
|
|
129
133
|
},
|
|
130
134
|
id: Object.assign(Object.assign({}, (typeof ((_b = (_a = params.member) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq) === 'string') ? { $eq: params.member.id.$eq } : undefined), (Array.isArray((_d = (_c = params.member) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$in)) ? { $in: params.member.id.$in } : undefined),
|
|
131
|
-
|
|
135
|
+
identifier: Object.assign({}, (typeof ((_f = (_e = params.member) === null || _e === void 0 ? void 0 : _e.identifier) === null || _f === void 0 ? void 0 : _f.$eq) === 'string') ? { $eq: params.member.identifier.$eq } : undefined),
|
|
136
|
+
name: Object.assign({}, (typeof ((_h = (_g = params.member) === null || _g === void 0 ? void 0 : _g.name) === null || _h === void 0 ? void 0 : _h.$regex) === 'string') ? { $regex: params.member.name.$regex } : undefined)
|
|
132
137
|
}
|
|
133
138
|
});
|
|
134
139
|
const projection = {
|
|
@@ -155,7 +160,7 @@ class MemberRepo {
|
|
|
155
160
|
},
|
|
156
161
|
{ $project: projection }
|
|
157
162
|
]);
|
|
158
|
-
if (typeof ((
|
|
163
|
+
if (typeof ((_j = params.sort) === null || _j === void 0 ? void 0 : _j['member.id']) === 'number') {
|
|
159
164
|
aggregate.sort(params.sort);
|
|
160
165
|
}
|
|
161
166
|
if (typeof params.limit === 'number' && params.limit > 0) {
|
|
@@ -44,41 +44,45 @@ const schemaOptions = {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
const indexes = [
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
47
|
+
[
|
|
48
|
+
{ validFrom: 1 },
|
|
49
|
+
{ name: 'validFrom' }
|
|
50
|
+
],
|
|
51
|
+
[
|
|
52
|
+
{ validThrough: 1, validFrom: 1 },
|
|
53
|
+
{ name: 'validThrough' }
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
{
|
|
57
|
+
'project.id': 1,
|
|
58
|
+
'itemOffered.id': 1,
|
|
59
|
+
identifier: 1
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'uniqueByItemOfferedAndIdentifier',
|
|
63
|
+
unique: true
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
{ 'project.id': 1, validFrom: 1 },
|
|
68
|
+
{ name: 'projectId' }
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
{ 'seller.id': 1, validFrom: 1 },
|
|
72
|
+
{ name: 'sellerId' }
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
{ identifier: 1, validFrom: 1 },
|
|
76
|
+
{ name: 'identifier' }
|
|
77
|
+
],
|
|
78
|
+
[
|
|
79
|
+
{ 'itemOffered.id': 1, validFrom: 1 },
|
|
80
|
+
{ name: 'itemOfferedId' }
|
|
81
|
+
],
|
|
82
|
+
[
|
|
83
|
+
{ 'availableAtOrFrom.identifier': 1, validFrom: 1 },
|
|
84
|
+
{ name: 'availableAtOrFrom' }
|
|
85
|
+
]
|
|
82
86
|
];
|
|
83
87
|
exports.indexes = indexes;
|
|
84
88
|
/**
|
|
@@ -61,6 +61,16 @@ const indexes = [
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
],
|
|
64
|
+
[
|
|
65
|
+
{ 'project.id': 1, 'member.identifier': 1 }, // アプリケーションコード追加(2025-11-17~)
|
|
66
|
+
{
|
|
67
|
+
name: 'uniqueByMemberIdentifier',
|
|
68
|
+
unique: true,
|
|
69
|
+
partialFilterExpression: {
|
|
70
|
+
'member.identifier': { $exists: true }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
64
74
|
[
|
|
65
75
|
{ 'project.id': 1, 'member.id': 1, 'member.memberOf.id': 1 },
|
|
66
76
|
{
|
|
@@ -2,6 +2,7 @@ import * as factory from '../../../factory';
|
|
|
2
2
|
import { Settings } from '../../../settings';
|
|
3
3
|
import type { AdvanceBookingRequirementRepo } from '../../../repo/advanceBookingRequirement';
|
|
4
4
|
import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
|
|
5
|
+
import type { AuthorizationRepo } from '../../../repo/authorization';
|
|
5
6
|
import type { EventRepo } from '../../../repo/event';
|
|
6
7
|
import type { EventOfferRepo } from '../../../repo/eventOffer';
|
|
7
8
|
import type { EventSeriesRepo } from '../../../repo/eventSeries';
|
|
@@ -21,8 +22,10 @@ import type { OfferRateLimitRepo } from '../../../repo/rateLimit/offer';
|
|
|
21
22
|
import type { SettingRepo } from '../../../repo/setting';
|
|
22
23
|
import type { StockHolderRepo } from '../../../repo/stockHolder';
|
|
23
24
|
import type { TaskRepo } from '../../../repo/task';
|
|
25
|
+
import type { TicketRepo } from '../../../repo/ticket';
|
|
24
26
|
interface IStartOperationRepos {
|
|
25
27
|
advanceBookingRequirement: AdvanceBookingRequirementRepo;
|
|
28
|
+
authorization: AuthorizationRepo;
|
|
26
29
|
stockHolder: StockHolderRepo;
|
|
27
30
|
event: EventRepo;
|
|
28
31
|
eventOffer: EventOfferRepo;
|
|
@@ -42,6 +45,7 @@ interface IStartOperationRepos {
|
|
|
42
45
|
seat: SeatRepo;
|
|
43
46
|
setting: SettingRepo;
|
|
44
47
|
task: TaskRepo;
|
|
48
|
+
ticket: TicketRepo;
|
|
45
49
|
assetTransaction: AssetTransactionRepo;
|
|
46
50
|
}
|
|
47
51
|
type IStartOperation<T> = (repos: IStartOperationRepos, settings: Settings) => Promise<T>;
|
|
@@ -41,17 +41,20 @@ function start(params, options) {
|
|
|
41
41
|
// validationを承認アクション開始前から移行(2023-01-27~)
|
|
42
42
|
yield (0, validateStartRequest_1.validateStartRequest)({
|
|
43
43
|
object: params.object,
|
|
44
|
+
instrument: params.instrument,
|
|
44
45
|
event,
|
|
45
46
|
validateEventOfferPeriod: params.validateEventOfferPeriod,
|
|
46
47
|
validateEvent: params.validateEvent,
|
|
47
48
|
now,
|
|
48
49
|
store: { id: (_a = params.availableAtOrFrom) === null || _a === void 0 ? void 0 : _a.id }
|
|
49
50
|
})({
|
|
51
|
+
authorization: repos.authorization,
|
|
50
52
|
eventOffer: repos.eventOffer,
|
|
51
53
|
issuer: repos.issuer,
|
|
52
54
|
member: repos.member,
|
|
53
55
|
memberProgram: repos.memberProgram,
|
|
54
|
-
productOffer: repos.productOffer
|
|
56
|
+
productOffer: repos.productOffer,
|
|
57
|
+
ticket: repos.ticket
|
|
55
58
|
});
|
|
56
59
|
// objectに必要な情報をそろえる
|
|
57
60
|
const { acceptedOffers4transactionObject, objectSubReservations } = yield createObjectAttributes({
|
package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ declare function fixExtendedEventOffer(params: {
|
|
|
15
15
|
id: string;
|
|
16
16
|
};
|
|
17
17
|
object: factory.assetTransaction.reserve.IObjectWithoutDetail;
|
|
18
|
+
acceptedEventOffer?: factory.authorization.IOfferAsObject;
|
|
18
19
|
}): (repos: {
|
|
19
20
|
eventOffer: EventOfferRepo;
|
|
20
21
|
member: MemberRepo;
|
package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js
CHANGED
|
@@ -17,11 +17,11 @@ const factory = require("../../../../factory");
|
|
|
17
17
|
*/
|
|
18
18
|
function fixExtendedEventOffer(params) {
|
|
19
19
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
var _a
|
|
20
|
+
var _a;
|
|
21
21
|
const { event, availableAt } = params;
|
|
22
22
|
const acceptedDate = moment(params.now);
|
|
23
23
|
// リクエストによるオファーコード指定が必須
|
|
24
|
-
const eventOfferIdentifierMustBe = (
|
|
24
|
+
const eventOfferIdentifierMustBe = (_a = params.acceptedEventOffer) === null || _a === void 0 ? void 0 : _a.identifier;
|
|
25
25
|
if (typeof eventOfferIdentifierMustBe !== 'string' || eventOfferIdentifierMustBe === '') {
|
|
26
26
|
throw new factory.errors.ArgumentNull('reservationFor.offers.identifier');
|
|
27
27
|
}
|
|
@@ -9,6 +9,7 @@ declare function validateIssuedOfferIfExists(params: {
|
|
|
9
9
|
now: Date;
|
|
10
10
|
object: factory.assetTransaction.reserve.IObjectWithoutDetail;
|
|
11
11
|
eventOffer: Pick<factory.eventOffer.IEventOffer, 'identifier' | 'itemOffered' | 'offeredBy' | 'validFrom' | 'validThrough'>;
|
|
12
|
+
acceptedEventOffer?: factory.authorization.IOfferAsObject;
|
|
12
13
|
}): (repos: {
|
|
13
14
|
issuer: IssuerRepo;
|
|
14
15
|
}) => Promise<void>;
|
|
@@ -114,14 +114,14 @@ function validateOfferToken(params) {
|
|
|
114
114
|
*/
|
|
115
115
|
function validateIssuedOfferIfExists(params) {
|
|
116
116
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
var _a, _b, _c
|
|
117
|
+
var _a, _b, _c;
|
|
118
118
|
const { event, eventOffer } = params;
|
|
119
119
|
const acceptedDate = moment(params.now);
|
|
120
120
|
const offerTokenIssuer = (_a = eventOffer.offeredBy) === null || _a === void 0 ? void 0 : _a.identifier;
|
|
121
121
|
const offerTokenRequired = typeof offerTokenIssuer === 'string';
|
|
122
122
|
if (offerTokenRequired) {
|
|
123
|
-
const offerIdentifierMustBe = (
|
|
124
|
-
const offerToken = (
|
|
123
|
+
const offerIdentifierMustBe = (_b = params.acceptedEventOffer) === null || _b === void 0 ? void 0 : _b.identifier;
|
|
124
|
+
const offerToken = (_c = params.acceptedEventOffer) === null || _c === void 0 ? void 0 : _c.token;
|
|
125
125
|
if (typeof offerIdentifierMustBe !== 'string' || offerIdentifierMustBe === '') {
|
|
126
126
|
throw new factory.errors.ArgumentNull('object.reservationFor.offers.identifier');
|
|
127
127
|
}
|
|
@@ -8,6 +8,7 @@ declare function validateMemberTierIfExists(params: {
|
|
|
8
8
|
now: Date;
|
|
9
9
|
object: factory.assetTransaction.reserve.IObjectWithoutDetail;
|
|
10
10
|
makesOfferOnApplication: factory.event.screeningEvent.ISellerMakesOffer;
|
|
11
|
+
acceptedEventOffer?: factory.authorization.IOfferAsObject;
|
|
11
12
|
}): (repos: {
|
|
12
13
|
issuer: IssuerRepo;
|
|
13
14
|
memberProgram: MemberProgramRepo;
|
|
@@ -101,7 +101,7 @@ function verifyMemberTierToken(params) {
|
|
|
101
101
|
function validateMemberTierIfExists(params) {
|
|
102
102
|
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
103
103
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
var _a, _b, _c
|
|
104
|
+
var _a, _b, _c;
|
|
105
105
|
const { event, makesOfferOnApplication } = params;
|
|
106
106
|
const acceptedDate = moment(params.now);
|
|
107
107
|
const eventOffers = event.offers;
|
|
@@ -109,9 +109,9 @@ function validateMemberTierIfExists(params) {
|
|
|
109
109
|
// support validForMemberTier(2025-05-14~)
|
|
110
110
|
const validForMemberTierExists = ((_a = makesOfferOnApplication.validForMemberTier) === null || _a === void 0 ? void 0 : _a.typeOf) === 'MemberProgramTier';
|
|
111
111
|
if (validForMemberTierExists) {
|
|
112
|
-
const tokenizedMemberProgramTier = (
|
|
112
|
+
const tokenizedMemberProgramTier = (_b = params.acceptedEventOffer) === null || _b === void 0 ? void 0 : _b.validForMemberTier;
|
|
113
113
|
const validForMemberTierToken = tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.token;
|
|
114
|
-
const memberProgramIdentifierMustBe = (
|
|
114
|
+
const memberProgramIdentifierMustBe = (_c = tokenizedMemberProgramTier === null || tokenizedMemberProgramTier === void 0 ? void 0 : tokenizedMemberProgramTier.isTierOf) === null || _c === void 0 ? void 0 : _c.identifier;
|
|
115
115
|
// ティアトークンが必須
|
|
116
116
|
if (typeof validForMemberTierToken !== 'string' || validForMemberTierToken === '') {
|
|
117
117
|
throw new factory.errors.ArgumentNull('reservationFor.offers.validForMemberTier.token');
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as factory from '../../../../factory';
|
|
2
|
+
import { IMinimizedIndividualEvent } from '../../../../factory/event';
|
|
3
|
+
import type { AuthorizationRepo } from '../../../../repo/authorization';
|
|
4
|
+
import type { TicketRepo } from '../../../../repo/ticket';
|
|
5
|
+
type IPermitOrInvoice = Pick<factory.ownershipInfo.IPermitAsGood, 'identifier' | 'typeOf'> | Pick<factory.invoice.IInvoice, 'paymentMethodId' | 'typeOf'>;
|
|
6
|
+
declare function verifyTicketTokenAsNeeded(params: {
|
|
7
|
+
event: Pick<IMinimizedIndividualEvent, 'offers' | 'id' | 'project' | 'identifier'>;
|
|
8
|
+
now: Date;
|
|
9
|
+
availableAt: {
|
|
10
|
+
/**
|
|
11
|
+
* 販売アプリケーションID
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
};
|
|
15
|
+
object: factory.assetTransaction.reserve.IObjectWithoutDetail;
|
|
16
|
+
instrument: factory.assetTransaction.reserve.IInstrument[];
|
|
17
|
+
}): (repos: {
|
|
18
|
+
authorization: AuthorizationRepo;
|
|
19
|
+
ticket: TicketRepo;
|
|
20
|
+
}) => Promise<{
|
|
21
|
+
acceptedEventOffer?: factory.authorization.IOfferAsObject;
|
|
22
|
+
}>;
|
|
23
|
+
export { IPermitOrInvoice, verifyTicketTokenAsNeeded };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.verifyTicketTokenAsNeeded = verifyTicketTokenAsNeeded;
|
|
13
|
+
const factory = require("../../../../factory");
|
|
14
|
+
// tslint:disable-next-line:max-func-body-length
|
|
15
|
+
function verifyTicketTokenAsNeeded(params) {
|
|
16
|
+
// tslint:disable-next-line:cyclomatic-complexity
|
|
17
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b, _c;
|
|
19
|
+
const { instrument, event } = params;
|
|
20
|
+
let acceptedEventOffer;
|
|
21
|
+
// 興行オファーチケットが指定された場合、オファーへ変換する
|
|
22
|
+
const ticketToken = (_a = instrument.find((eachInstrument) => eachInstrument.typeOf === 'Ticket')) === null || _a === void 0 ? void 0 : _a.ticketToken;
|
|
23
|
+
if (typeof ticketToken === 'string' && ticketToken !== '') {
|
|
24
|
+
const placeOrderIdByInstrument = (_b = instrument.find((eachInstrument) => eachInstrument.typeOf === factory.transactionType.PlaceOrder)) === null || _b === void 0 ? void 0 : _b.id;
|
|
25
|
+
if (typeof placeOrderIdByInstrument !== 'string' || placeOrderIdByInstrument === '') {
|
|
26
|
+
throw new factory.errors.NotFound('instrument as placeOrder');
|
|
27
|
+
}
|
|
28
|
+
const ticket = (yield repos.ticket.projectFields({
|
|
29
|
+
limit: 1,
|
|
30
|
+
page: 1,
|
|
31
|
+
project: { id: { $eq: event.project.id } },
|
|
32
|
+
ticketToken: { $eq: ticketToken }
|
|
33
|
+
}, ['ticketToken'])).shift();
|
|
34
|
+
if (ticket === undefined) {
|
|
35
|
+
throw new factory.errors.NotFound('Ticket');
|
|
36
|
+
}
|
|
37
|
+
// 承認を参照
|
|
38
|
+
const validAuthorization = yield repos.authorization.findValidOneByCode({
|
|
39
|
+
project: { id: event.project.id },
|
|
40
|
+
code: ticket.ticketToken
|
|
41
|
+
});
|
|
42
|
+
const authorizedObject = validAuthorization.object;
|
|
43
|
+
// audience検証
|
|
44
|
+
if (((_c = validAuthorization.audience) === null || _c === void 0 ? void 0 : _c.typeOf) !== factory.transactionType.PlaceOrder
|
|
45
|
+
|| validAuthorization.audience.id !== placeOrderIdByInstrument) {
|
|
46
|
+
throw new factory.errors.Argument('ticketToken', 'audience not matched with placeOrder');
|
|
47
|
+
}
|
|
48
|
+
if (authorizedObject.typeOf === factory.offerType.Offer) {
|
|
49
|
+
// tslint:disable-next-line:no-suspicious-comment
|
|
50
|
+
// TODO イベントIDを検証
|
|
51
|
+
// if (typeOfGood.typeOf !== factory.service.paymentService.PaymentServiceType.FaceToFace) {
|
|
52
|
+
// if (typeOfGood.id !== issuedThrough.id) {
|
|
53
|
+
// throw new factory.errors.Argument('ticketToken', 'issuedThrough.id not matched');
|
|
54
|
+
// }
|
|
55
|
+
// }
|
|
56
|
+
acceptedEventOffer = authorizedObject;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new factory.errors.Argument('ticketToken', 'must be Offer');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return { acceptedEventOffer };
|
|
63
|
+
});
|
|
64
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import * as factory from '../../../factory';
|
|
2
2
|
import { IMinimizedIndividualEvent } from '../../../factory/event';
|
|
3
|
+
import type { AuthorizationRepo } from '../../../repo/authorization';
|
|
3
4
|
import type { EventOfferRepo } from '../../../repo/eventOffer';
|
|
4
5
|
import type { IssuerRepo } from '../../../repo/issuer';
|
|
5
6
|
import type { MemberRepo } from '../../../repo/member';
|
|
6
7
|
import type { MemberProgramRepo } from '../../../repo/memberProgram';
|
|
7
8
|
import type { ProductOfferRepo } from '../../../repo/productOffer';
|
|
9
|
+
import type { TicketRepo } from '../../../repo/ticket';
|
|
8
10
|
declare function validateStartRequest(params: {
|
|
9
11
|
object: factory.assetTransaction.reserve.IObjectWithoutDetail;
|
|
12
|
+
instrument: factory.assetTransaction.reserve.IInstrument[];
|
|
10
13
|
event: Pick<IMinimizedIndividualEvent, 'offers' | 'id' | 'project' | 'identifier'>;
|
|
11
14
|
/**
|
|
12
15
|
* アプリケーションごとのオファーを検証するかどうか
|
|
@@ -21,10 +24,12 @@ declare function validateStartRequest(params: {
|
|
|
21
24
|
id?: string;
|
|
22
25
|
};
|
|
23
26
|
}): (repos: {
|
|
27
|
+
authorization: AuthorizationRepo;
|
|
24
28
|
eventOffer: EventOfferRepo;
|
|
25
29
|
issuer: IssuerRepo;
|
|
26
30
|
member: MemberRepo;
|
|
27
31
|
memberProgram: MemberProgramRepo;
|
|
28
32
|
productOffer: ProductOfferRepo;
|
|
33
|
+
ticket: TicketRepo;
|
|
29
34
|
}) => Promise<void>;
|
|
30
35
|
export { validateStartRequest };
|
|
@@ -15,6 +15,7 @@ const factory = require("../../../factory");
|
|
|
15
15
|
const fixExtendedEventOffer_1 = require("./validateStartRequest/fixExtendedEventOffer");
|
|
16
16
|
const validateIssuedOfferIfExists_1 = require("./validateStartRequest/validateIssuedOfferIfExists");
|
|
17
17
|
const validateMemberTierIfExists_1 = require("./validateStartRequest/validateMemberTierIfExists");
|
|
18
|
+
const verifyTicketTokenAsNeeded_1 = require("./validateStartRequest/verifyTicketTokenAsNeeded");
|
|
18
19
|
function validateStartRequest(params) {
|
|
19
20
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
20
21
|
var _a;
|
|
@@ -24,11 +25,20 @@ function validateStartRequest(params) {
|
|
|
24
25
|
if (typeof ((_a = params.store) === null || _a === void 0 ? void 0 : _a.id) !== 'string') {
|
|
25
26
|
throw new factory.errors.NotFound('store.id');
|
|
26
27
|
}
|
|
28
|
+
// ticketTokenから、acceptedEventOfferを生成(2025-11-18~)
|
|
29
|
+
const { acceptedEventOffer } = yield (0, verifyTicketTokenAsNeeded_1.verifyTicketTokenAsNeeded)({
|
|
30
|
+
event,
|
|
31
|
+
now,
|
|
32
|
+
availableAt: { id: params.store.id },
|
|
33
|
+
object: params.object,
|
|
34
|
+
instrument: params.instrument
|
|
35
|
+
})(repos);
|
|
27
36
|
yield validateApplicationOffer({
|
|
28
37
|
event,
|
|
29
38
|
now,
|
|
30
39
|
availableAt: { id: params.store.id },
|
|
31
|
-
object: params.object
|
|
40
|
+
object: params.object,
|
|
41
|
+
acceptedEventOffer
|
|
32
42
|
})(repos);
|
|
33
43
|
}
|
|
34
44
|
if (params.validateEvent === true) {
|
|
@@ -41,7 +51,7 @@ function validateStartRequest(params) {
|
|
|
41
51
|
*/
|
|
42
52
|
function validateApplicationOffer(params) {
|
|
43
53
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const { event, availableAt } = params;
|
|
54
|
+
const { event, availableAt, acceptedEventOffer } = params;
|
|
45
55
|
const acceptedDate = moment(params.now);
|
|
46
56
|
const eventOffers = event.offers;
|
|
47
57
|
// アプリケーションごとの設定を参照する(2022-11-19~)
|
|
@@ -76,7 +86,8 @@ function validateApplicationOffer(params) {
|
|
|
76
86
|
event,
|
|
77
87
|
now: params.now,
|
|
78
88
|
object: params.object,
|
|
79
|
-
eventOffer: existingEventOffer
|
|
89
|
+
eventOffer: existingEventOffer,
|
|
90
|
+
acceptedEventOffer
|
|
80
91
|
})(repos);
|
|
81
92
|
}
|
|
82
93
|
else {
|
|
@@ -86,7 +97,8 @@ function validateApplicationOffer(params) {
|
|
|
86
97
|
event,
|
|
87
98
|
now: params.now,
|
|
88
99
|
object: params.object,
|
|
89
|
-
makesOfferOnApplication
|
|
100
|
+
makesOfferOnApplication,
|
|
101
|
+
acceptedEventOffer
|
|
90
102
|
})(repos);
|
|
91
103
|
}
|
|
92
104
|
});
|
|
@@ -7,10 +7,6 @@ declare function createReserveTransactionStartParams(params: {
|
|
|
7
7
|
acceptedOffers: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail[];
|
|
8
8
|
event: {
|
|
9
9
|
id: string;
|
|
10
|
-
offers?: {
|
|
11
|
-
validForMemberTier?: factory.assetTransaction.reserve.ITokenizedMemberProgramTier;
|
|
12
|
-
identifier?: string;
|
|
13
|
-
};
|
|
14
10
|
};
|
|
15
11
|
broker?: factory.reservation.IBroker<factory.reservationType>;
|
|
16
12
|
transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'expires' | 'seller'>;
|
|
@@ -8,7 +8,7 @@ exports.responseBody2acceptedOffers4result = responseBody2acceptedOffers4result;
|
|
|
8
8
|
const moment = require("moment");
|
|
9
9
|
const factory = require("../../../../factory");
|
|
10
10
|
function createReserveTransactionStartParams(params) {
|
|
11
|
-
var _a
|
|
11
|
+
var _a;
|
|
12
12
|
const { transaction, transactionNumber } = params;
|
|
13
13
|
const { seller } = transaction;
|
|
14
14
|
const acceptedTicketOffersWithoutDetail = (Array.isArray(params.acceptedOffers))
|
|
@@ -48,11 +48,8 @@ function createReserveTransactionStartParams(params) {
|
|
|
48
48
|
// }
|
|
49
49
|
// ]
|
|
50
50
|
};
|
|
51
|
-
const validForMemberTier = (_b = params.event.offers) === null || _b === void 0 ? void 0 : _b.validForMemberTier;
|
|
52
|
-
const eventOfferIdentifier = (_c = params.event.offers) === null || _c === void 0 ? void 0 : _c.identifier;
|
|
53
51
|
const object = Object.assign({ acceptedOffer: acceptedTicketOffersWithoutDetail, reservationFor: {
|
|
54
|
-
id: params.event.id
|
|
55
|
-
offers: Object.assign(Object.assign({}, (typeof (validForMemberTier === null || validForMemberTier === void 0 ? void 0 : validForMemberTier.token) === 'string') ? { validForMemberTier } : undefined), (typeof eventOfferIdentifier === 'string') ? { identifier: eventOfferIdentifier } : undefined)
|
|
52
|
+
id: params.event.id
|
|
56
53
|
} }, (params.broker !== undefined) ? { broker: params.broker } : undefined);
|
|
57
54
|
return {
|
|
58
55
|
project: { typeOf: factory.organizationType.Project, id: params.project.id },
|
|
@@ -20,19 +20,13 @@ function processStartReserve4chevre(params, options) {
|
|
|
20
20
|
// jwt: JWTCredentials;
|
|
21
21
|
// }
|
|
22
22
|
) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
var _a, _b, _c;
|
|
24
23
|
const { event, transaction, transactionNumber } = params;
|
|
25
24
|
let acceptedOffers4result = [];
|
|
26
25
|
// 予約取引開始
|
|
27
26
|
const startParams = (0, factory_1.createReserveTransactionStartParams)(Object.assign({ project: transaction.project,
|
|
28
27
|
// object: <IObjectWithDetail>action.object,
|
|
29
28
|
acceptedOffers: params.acceptedOffers, event: {
|
|
30
|
-
id: event.id
|
|
31
|
-
offers: Object.assign(Object.assign({}, (typeof ((_b = (_a = event.offers) === null || _a === void 0 ? void 0 : _a.validForMemberTier) === null || _b === void 0 ? void 0 : _b.token) === 'string')
|
|
32
|
-
? { validForMemberTier: event.offers.validForMemberTier }
|
|
33
|
-
: undefined), (typeof ((_c = event.offers) === null || _c === void 0 ? void 0 : _c.identifier) === 'string')
|
|
34
|
-
? { identifier: event.offers.identifier }
|
|
35
|
-
: undefined)
|
|
29
|
+
id: event.id
|
|
36
30
|
}, transaction,
|
|
37
31
|
transactionNumber }, (params.broker !== undefined) ? { broker: params.broker } : undefined));
|
|
38
32
|
const startParamObject = yield validateObjectWithoutDetail(startParams, { id: params.transaction.id })(repos);
|
|
@@ -40,6 +34,7 @@ function processStartReserve4chevre(params, options) {
|
|
|
40
34
|
// discontinue preSearchedEvent(2024-07-17~)
|
|
41
35
|
// preSearchedEvent: event,
|
|
42
36
|
preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true, instrument: [
|
|
37
|
+
...params.instrument, // support Ticket(2025-11-18~)
|
|
43
38
|
{ orderNumber: params.orderNumber, typeOf: factory.order.OrderType.Order },
|
|
44
39
|
{ id: transaction.id, typeOf: transaction.typeOf }
|
|
45
40
|
] }), options)(repos, settings);
|
|
@@ -53,7 +53,7 @@ function authorize(params, options) {
|
|
|
53
53
|
const action = yield repos.action.start(actionAttributes);
|
|
54
54
|
try {
|
|
55
55
|
const processStartReserveResult = yield (0, processStartReserve4chevre_1.processStartReserve4chevre)(Object.assign({ acceptedOffers, event,
|
|
56
|
-
transactionNumber, transaction, availableAtOrFrom: { id: params.store.id }, ticketOffers, unitPriceOffers, validateEvent: params.validateEvent === true, validateEventOfferPeriod: params.validateEventOfferPeriod === true, orderNumber }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined), options)(repos, settings);
|
|
56
|
+
transactionNumber, transaction, availableAtOrFrom: { id: params.store.id }, ticketOffers, unitPriceOffers, validateEvent: params.validateEvent === true, validateEventOfferPeriod: params.validateEventOfferPeriod === true, orderNumber, instrument: params.instrument }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined), options)(repos, settings);
|
|
57
57
|
acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
|
|
58
58
|
// add orderInTransaction(2024-01-15~)
|
|
59
59
|
if (!noOfferSpecified) {
|
|
@@ -82,7 +82,7 @@ function authorize(params, options) {
|
|
|
82
82
|
}
|
|
83
83
|
function validateCreateRequest(params) {
|
|
84
84
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
var _a, _b
|
|
85
|
+
var _a, _b;
|
|
86
86
|
const transaction = yield repos.transaction.projectFieldsInProgressById({
|
|
87
87
|
typeOf: factory.transactionType.PlaceOrder,
|
|
88
88
|
id: params.transaction.id
|
|
@@ -98,13 +98,13 @@ function validateCreateRequest(params) {
|
|
|
98
98
|
if (typeof ((_b = params.object.reservationFor) === null || _b === void 0 ? void 0 : _b.id) !== 'string' || params.object.reservationFor.id.length === 0) {
|
|
99
99
|
throw new factory.errors.ArgumentNull('object.reservationFor.id');
|
|
100
100
|
}
|
|
101
|
-
// support validForMemberTier(2025-05-14~)
|
|
102
|
-
const validForMemberTier = (_c = params.object.reservationFor.offers) === null || _c === void 0 ? void 0 : _c.validForMemberTier;
|
|
103
|
-
const eventOfferIdentifier = (_d = params.object.reservationFor.offers) === null || _d === void 0 ? void 0 : _d.identifier;
|
|
104
101
|
const event = {
|
|
105
102
|
id: params.object.reservationFor.id,
|
|
106
|
-
typeOf: factory.eventType.ScreeningEvent
|
|
107
|
-
offers:
|
|
103
|
+
typeOf: factory.eventType.ScreeningEvent // ひとまずfix(2024-07-17~)
|
|
104
|
+
// offers: {
|
|
105
|
+
// ...(typeof validForMemberTier?.token === 'string') ? { validForMemberTier } : undefined,
|
|
106
|
+
// ...(typeof eventOfferIdentifier === 'string') ? { identifier: eventOfferIdentifier } : undefined
|
|
107
|
+
// }
|
|
108
108
|
};
|
|
109
109
|
return { transaction, event };
|
|
110
110
|
});
|
package/package.json
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@aws-sdk/client-cognito-identity-provider": "3.600.0",
|
|
13
13
|
"@aws-sdk/credential-providers": "3.600.0",
|
|
14
|
-
"@chevre/factory": "5.2.0-alpha.
|
|
15
|
-
"@cinerino/sdk": "12.
|
|
14
|
+
"@chevre/factory": "5.2.0-alpha.12",
|
|
15
|
+
"@cinerino/sdk": "12.8.0-alpha.2",
|
|
16
16
|
"@motionpicture/coa-service": "9.6.0",
|
|
17
17
|
"@motionpicture/gmo-service": "5.4.0-alpha.1",
|
|
18
18
|
"@sendgrid/client": "8.1.4",
|
|
@@ -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": "23.1.0-alpha.
|
|
118
|
+
"version": "23.1.0-alpha.9"
|
|
119
119
|
}
|