@chevre/domain 21.2.0-alpha.98 → 21.2.0
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/aggregateEventReservation.ts +1 -1
- package/example/src/chevre/aggregateSellerPaymentAccepted.ts +27 -0
- package/example/src/chevre/aggregation/aggregateSystem.ts +53 -22
- package/example/src/chevre/countDelayedTasks.ts +7 -2
- package/example/src/chevre/createManyEventsIfNotExist.ts +199 -46
- package/example/src/chevre/findScreeningRoomsByBranchCode.ts +4 -3
- package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +56 -0
- package/example/src/chevre/lockStockHolder.ts +5 -2
- package/example/src/chevre/migrateCategoryCodeAdditionalProperties.ts +116 -0
- package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
- package/example/src/chevre/processPay.ts +5 -2
- package/example/src/chevre/processRegisterMembership.ts +8 -4
- package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
- package/example/src/chevre/processReserve.ts +1 -1
- package/example/src/chevre/searchAbortedTasks.ts +4 -6
- package/example/src/chevre/searchActions.ts +33 -0
- package/example/src/chevre/searchEventSeats.ts +5 -2
- package/example/src/chevre/searchHoldReservations.ts +38 -0
- package/example/src/chevre/searchPermissions.ts +54 -0
- package/example/src/chevre/searchScreeningRooms.ts +35 -0
- package/example/src/chevre/sendEmailMessage.ts +1 -2
- package/example/src/chevre/syncScreeningRooms.ts +22 -0
- package/example/src/chevre/syncScreeningRoomsAll.ts +44 -0
- package/example/src/chevre/unsetContainsInPlaceFromMovieTheater.ts +41 -0
- package/lib/chevre/factory/order.d.ts +4 -1
- package/lib/chevre/factory/order.js +19 -6
- package/lib/chevre/repo/account.js +3 -2
- package/lib/chevre/repo/accountTransaction.js +2 -1
- package/lib/chevre/repo/accountingReport.d.ts +1 -3
- package/lib/chevre/repo/action.d.ts +50 -1
- package/lib/chevre/repo/action.js +103 -34
- package/lib/chevre/repo/additionalProperty.js +2 -1
- package/lib/chevre/repo/aggregation.d.ts +3 -0
- package/lib/chevre/repo/aggregation.js +3 -0
- package/lib/chevre/repo/assetTransaction.js +6 -5
- package/lib/chevre/repo/categoryCode.d.ts +1 -1
- package/lib/chevre/repo/categoryCode.js +37 -25
- package/lib/chevre/repo/code.js +3 -2
- package/lib/chevre/repo/comment.js +2 -1
- package/lib/chevre/repo/creativeWork.d.ts +1 -1
- package/lib/chevre/repo/creativeWork.js +35 -12
- package/lib/chevre/repo/customer.js +2 -1
- package/lib/chevre/repo/emailMessage.js +2 -1
- package/lib/chevre/repo/event.d.ts +30 -2
- package/lib/chevre/repo/event.js +87 -36
- package/lib/chevre/repo/member.d.ts +14 -0
- package/lib/chevre/repo/member.js +31 -3
- package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/action.js +12 -0
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
- package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
- package/lib/chevre/repo/mongoose/schemas/offer.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +21 -21
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -0
- package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
- package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +9 -9
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +3 -3
- package/lib/chevre/repo/offer.js +3 -2
- package/lib/chevre/repo/offerCatalog.js +0 -27
- package/lib/chevre/repo/offerItemCondition.js +2 -1
- package/lib/chevre/repo/order.js +8 -7
- package/lib/chevre/repo/ownershipInfo.js +2 -7
- package/lib/chevre/repo/paymentServiceProvider.d.ts +65 -0
- package/lib/chevre/repo/paymentServiceProvider.js +156 -0
- package/lib/chevre/repo/place.d.ts +203 -27
- package/lib/chevre/repo/place.js +1726 -694
- package/lib/chevre/repo/priceSpecification.js +3 -2
- package/lib/chevre/repo/product.d.ts +5 -3
- package/lib/chevre/repo/product.js +92 -5
- package/lib/chevre/repo/project.js +2 -1
- package/lib/chevre/repo/reservation.d.ts +9 -1
- package/lib/chevre/repo/reservation.js +29 -20
- package/lib/chevre/repo/role.d.ts +7 -0
- package/lib/chevre/repo/role.js +39 -2
- package/lib/chevre/repo/seller.d.ts +21 -1
- package/lib/chevre/repo/seller.js +59 -4
- package/lib/chevre/repo/serviceOutput.js +2 -1
- package/lib/chevre/repo/stockHolder.d.ts +143 -7
- package/lib/chevre/repo/stockHolder.js +622 -104
- package/lib/chevre/repo/task.d.ts +12 -1
- package/lib/chevre/repo/task.js +17 -7
- package/lib/chevre/repo/transaction.js +6 -5
- package/lib/chevre/repo/trip.js +2 -1
- package/lib/chevre/repository.d.ts +6 -0
- package/lib/chevre/repository.js +8 -1
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +18 -8
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
- package/lib/chevre/service/aggregation/system.d.ts +43 -1
- package/lib/chevre/service/aggregation/system.js +112 -2
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -1
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
- package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
- package/lib/chevre/service/assetTransaction/pay.js +7 -7
- package/lib/chevre/service/assetTransaction/refund.js +1 -1
- package/lib/chevre/service/assetTransaction/reserve.js +10 -3
- package/lib/chevre/service/event.d.ts +3 -0
- package/lib/chevre/service/event.js +52 -21
- package/lib/chevre/service/iam.d.ts +6 -2
- package/lib/chevre/service/iam.js +23 -9
- package/lib/chevre/service/offer/event/factory.js +22 -13
- package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
- package/lib/chevre/service/offer/eventServiceByCOA/factory.js +15 -8
- package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
- package/lib/chevre/service/offer/product/factory.js +13 -6
- package/lib/chevre/service/offer/product.js +2 -2
- package/lib/chevre/service/offer.d.ts +16 -8
- package/lib/chevre/service/offer.js +71 -8
- package/lib/chevre/service/order/createAccountingReportIfNotExist.js +31 -17
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged.js +2 -2
- package/lib/chevre/service/order/placeOrder.js +4 -4
- package/lib/chevre/service/order/returnOrder.js +1 -1
- package/lib/chevre/service/order/sendOrder.js +3 -3
- package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +4 -6
- package/lib/chevre/service/payment/any/onRefund.js +46 -42
- package/lib/chevre/service/payment/any.d.ts +9 -6
- package/lib/chevre/service/payment/any.js +6 -2
- package/lib/chevre/service/payment/creditCard.js +2 -2
- package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
- package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +3 -4
- package/lib/chevre/service/payment/movieTicket/validation.js +53 -12
- package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket.js +4 -4
- package/lib/chevre/service/reserve/cancelReservation.js +15 -3
- package/lib/chevre/service/reserve/confirmReservation.js +19 -11
- package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
- package/lib/chevre/service/task/cancelPendingReservation.js +1 -1
- package/lib/chevre/service/task/cancelReservation.js +1 -1
- package/lib/chevre/service/task/deleteTransaction.js +2 -0
- package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
- package/lib/chevre/service/task/onEventChanged.js +29 -0
- package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
- package/lib/chevre/service/task/onResourceUpdated.js +396 -0
- package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
- package/lib/chevre/service/task/syncScreeningRooms.js +24 -0
- package/lib/chevre/service/task/voidReserveTransaction.js +1 -1
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -0
- package/lib/chevre/service/transaction/deleteTransaction.js +129 -1
- package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +1 -0
- package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
- package/lib/chevre/service/transaction/moneyTransfer.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership.js +7 -4
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +4 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +3 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +8 -12
- package/lib/chevre/service/transaction/placeOrderInProgress.js +6 -4
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +1 -0
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +2 -2
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +5 -5
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +2 -2
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +3 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
- package/lib/chevre/service/transaction/returnOrder.js +3 -1
- package/lib/chevre/settings.d.ts +11 -0
- package/lib/chevre/settings.js +44 -2
- package/package.json +3 -3
- package/example/src/chevre/eventCatalog2eventService.ts +0 -123
- package/example/src/chevre/migrateOrderAdditionalProperties.ts +0 -85
- package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
- package/example/src/chevre/searchAssetTransactions.ts +0 -30
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
// import * as moment from 'moment';
|
|
3
|
+
import * as mongoose from 'mongoose';
|
|
4
|
+
|
|
5
|
+
import { chevre } from '../../../lib/index';
|
|
6
|
+
|
|
7
|
+
// const project = { id: String(process.env.PROJECT_ID) };
|
|
8
|
+
// const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
|
|
9
|
+
|
|
10
|
+
// tslint:disable-next-line:max-func-body-length
|
|
11
|
+
async function main() {
|
|
12
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
13
|
+
|
|
14
|
+
const additionalPropertyRepo = new chevre.repository.AdditionalProperty(mongoose.connection);
|
|
15
|
+
const categoryCodeRepo = new chevre.repository.CategoryCode(mongoose.connection);
|
|
16
|
+
|
|
17
|
+
const cursor = categoryCodeRepo.getCursor(
|
|
18
|
+
{
|
|
19
|
+
// 'project.id': { $eq: project.id },
|
|
20
|
+
// 'project.id': { $ne: EXCLUDED_PROJECT_ID },
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
// paymentMethods: 1,
|
|
24
|
+
// project: 1,
|
|
25
|
+
// orderDate: 1
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
console.log('categoryCodes found');
|
|
29
|
+
|
|
30
|
+
const additionalPropertyNames: string[] = [];
|
|
31
|
+
const projectIds: string[] = [];
|
|
32
|
+
const unexpextedprojectIds: string[] = [];
|
|
33
|
+
let checked: number = 0;
|
|
34
|
+
let created: number = 0;
|
|
35
|
+
|
|
36
|
+
let i = 0;
|
|
37
|
+
await cursor.eachAsync(async (doc) => {
|
|
38
|
+
i += 1;
|
|
39
|
+
const categoryCode: chevre.factory.categoryCode.ICategoryCode = doc.toObject();
|
|
40
|
+
|
|
41
|
+
const additionalPropertyNamesOnResource = (Array.isArray(categoryCode.additionalProperty))
|
|
42
|
+
? categoryCode.additionalProperty?.map((p) => p.name)
|
|
43
|
+
: [];
|
|
44
|
+
if (Array.isArray(additionalPropertyNamesOnResource) && additionalPropertyNamesOnResource.length > 0) {
|
|
45
|
+
console.log(
|
|
46
|
+
additionalPropertyNamesOnResource.join(','),
|
|
47
|
+
additionalPropertyNamesOnResource.length,
|
|
48
|
+
'additionalPropertyNamesOnResource found',
|
|
49
|
+
categoryCode.project.id,
|
|
50
|
+
categoryCode.codeValue
|
|
51
|
+
);
|
|
52
|
+
additionalPropertyNames.push(...additionalPropertyNamesOnResource);
|
|
53
|
+
projectIds.push(categoryCode.project.id);
|
|
54
|
+
additionalPropertyNamesOnResource.forEach((name) => {
|
|
55
|
+
if (!name.match(/^[a-zA-Z]*$/)) {
|
|
56
|
+
// throw new Error(`not matched ${creativeWork.project.id} ${creativeWork.id}`);
|
|
57
|
+
unexpextedprojectIds.push(categoryCode.project.id);
|
|
58
|
+
}
|
|
59
|
+
// tslint:disable-next-line:no-magic-numbers
|
|
60
|
+
if (name.length < 5) {
|
|
61
|
+
// throw new Error(`length matched ${creativeWork.project.id} ${creativeWork.id} ${name}`);
|
|
62
|
+
unexpextedprojectIds.push(categoryCode.project.id);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
for (const additionalPropertyNameOnResource of additionalPropertyNamesOnResource) {
|
|
67
|
+
checked += 1;
|
|
68
|
+
const existingAdditionalProperties = await additionalPropertyRepo.search({
|
|
69
|
+
limit: 1,
|
|
70
|
+
project: { id: { $eq: categoryCode.project.id } },
|
|
71
|
+
codeValue: { $eq: additionalPropertyNameOnResource },
|
|
72
|
+
inCodeSet: { identifier: { $eq: categoryCode.typeOf } }
|
|
73
|
+
});
|
|
74
|
+
if (existingAdditionalProperties.length === 0) {
|
|
75
|
+
const additionalProperty: chevre.factory.additionalProperty.IAdditionalProperty = {
|
|
76
|
+
project: categoryCode.project,
|
|
77
|
+
// id?: string;
|
|
78
|
+
typeOf: 'CategoryCode',
|
|
79
|
+
codeValue: additionalPropertyNameOnResource,
|
|
80
|
+
inCodeSet: {
|
|
81
|
+
typeOf: 'CategoryCodeSet',
|
|
82
|
+
identifier: categoryCode.typeOf
|
|
83
|
+
},
|
|
84
|
+
name: { ja: additionalPropertyNameOnResource }
|
|
85
|
+
};
|
|
86
|
+
await additionalPropertyRepo.save({ attributes: additionalProperty });
|
|
87
|
+
created += 1;
|
|
88
|
+
console.log(
|
|
89
|
+
'additionalProerty created',
|
|
90
|
+
additionalPropertyNameOnResource,
|
|
91
|
+
categoryCode.project.id,
|
|
92
|
+
categoryCode.codeValue
|
|
93
|
+
);
|
|
94
|
+
} else {
|
|
95
|
+
console.log(
|
|
96
|
+
'additionalProerty existed',
|
|
97
|
+
additionalPropertyNameOnResource,
|
|
98
|
+
categoryCode.project.id,
|
|
99
|
+
categoryCode.codeValue
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
console.log(i, 'categoryCodes checked');
|
|
107
|
+
console.log('additionalPropertyNames:', [...new Set(additionalPropertyNames)]);
|
|
108
|
+
console.log('projectIds:', [...new Set(projectIds)]);
|
|
109
|
+
console.log('unexpextedprojectIds:', [...new Set(unexpextedprojectIds)]);
|
|
110
|
+
console.log('checked:', checked);
|
|
111
|
+
console.log('created:', created);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
main()
|
|
115
|
+
.then()
|
|
116
|
+
.catch(console.error);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
// import * as moment from 'moment';
|
|
3
|
+
import * as mongoose from 'mongoose';
|
|
4
|
+
|
|
5
|
+
import { chevre } from '../../../lib/index';
|
|
6
|
+
|
|
7
|
+
// const project = { typeOf: chevre.factory.organizationType.Project, id: String(process.env.PROJECT_ID) };
|
|
8
|
+
|
|
9
|
+
const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
|
|
10
|
+
|
|
11
|
+
async function main() {
|
|
12
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
13
|
+
|
|
14
|
+
const eventRepo = new chevre.repository.Event(mongoose.connection);
|
|
15
|
+
|
|
16
|
+
const cursor = eventRepo.getCursor(
|
|
17
|
+
{
|
|
18
|
+
'project.id': {
|
|
19
|
+
// $eq: project.id,
|
|
20
|
+
$ne: EXCLUDED_PROJECT_ID
|
|
21
|
+
},
|
|
22
|
+
typeOf: { $eq: chevre.factory.eventType.ScreeningEventSeries },
|
|
23
|
+
'workPerformed.version': { $exists: false }
|
|
24
|
+
// _id: { $eq: 'bl7ed6sq9' }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
_id: 1,
|
|
28
|
+
workPerformed: 1,
|
|
29
|
+
project: 1,
|
|
30
|
+
location: 1,
|
|
31
|
+
startDate: 1,
|
|
32
|
+
typeOf: 1
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
console.log('events found');
|
|
36
|
+
|
|
37
|
+
let i = 0;
|
|
38
|
+
let updateCount = 0;
|
|
39
|
+
await cursor.eachAsync(async (doc) => {
|
|
40
|
+
i += 1;
|
|
41
|
+
const event: chevre.factory.event.screeningEventSeries.IEvent = doc.toObject();
|
|
42
|
+
const version = event.workPerformed.version;
|
|
43
|
+
|
|
44
|
+
const alreadyMigrated = typeof version === 'string' && version.length > 0;
|
|
45
|
+
|
|
46
|
+
if (alreadyMigrated) {
|
|
47
|
+
console.log('alreadyMigrated.', event.project.id, event.id, event.startDate, version, i);
|
|
48
|
+
} else {
|
|
49
|
+
// 既存施設コンテンツバージョンを検索
|
|
50
|
+
const { maxVersion } = await eventRepo.aggregateScreeningEventMaxVersion({
|
|
51
|
+
project: { id: { $eq: event.project.id } },
|
|
52
|
+
workPerformed: { identifier: { $eq: event.workPerformed.identifier } },
|
|
53
|
+
location: { branchCode: { $in: [event.location.branchCode] } }
|
|
54
|
+
});
|
|
55
|
+
console.log('maxVersion:', maxVersion);
|
|
56
|
+
|
|
57
|
+
const newVersion: string = `${Number(maxVersion) + 1}`;
|
|
58
|
+
console.log('updating event...', event.project.id, event.id, event.startDate, newVersion, i);
|
|
59
|
+
await eventRepo.updatePartiallyById({
|
|
60
|
+
id: event.id,
|
|
61
|
+
attributes: <any>{
|
|
62
|
+
typeOf: event.typeOf,
|
|
63
|
+
'workPerformed.version': newVersion
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
updateCount += 1;
|
|
67
|
+
console.log('updated.', event.project.id, event.id, event.startDate, newVersion, i);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
console.log(i, 'events checked');
|
|
72
|
+
console.log(updateCount, 'events updated');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
main()
|
|
76
|
+
.then(() => {
|
|
77
|
+
console.log('success!');
|
|
78
|
+
})
|
|
79
|
+
.catch(console.error);
|
|
@@ -63,8 +63,11 @@ async function main() {
|
|
|
63
63
|
name: 'xx'
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
{
|
|
67
|
+
useCheckMovieTicketBeforePay: true,
|
|
68
|
+
useCheckByIdentifierIfNotYet: true,
|
|
69
|
+
searchTrade4accountId: false
|
|
70
|
+
}
|
|
68
71
|
)({
|
|
69
72
|
accountingReport: accountingReportRepo,
|
|
70
73
|
action: actionRepo,
|
|
@@ -21,10 +21,14 @@ async function main() {
|
|
|
21
21
|
const assetTransactionRepo = new chevre.repository.AssetTransaction(mongoose.connection);
|
|
22
22
|
|
|
23
23
|
// プロダクト検索
|
|
24
|
-
const products = await productRepo.search(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const products = await productRepo.search(
|
|
25
|
+
{
|
|
26
|
+
project: { id: { $eq: project.id } },
|
|
27
|
+
typeOf: { $eq: chevre.factory.product.ProductType.MembershipService }
|
|
28
|
+
},
|
|
29
|
+
[],
|
|
30
|
+
[]
|
|
31
|
+
);
|
|
28
32
|
console.log(products);
|
|
29
33
|
|
|
30
34
|
const product = products[0];
|
|
@@ -21,10 +21,14 @@ async function main() {
|
|
|
21
21
|
const assetTransactionRepo = new chevre.repository.AssetTransaction(mongoose.connection);
|
|
22
22
|
|
|
23
23
|
// プロダクト検索
|
|
24
|
-
const products = await productRepo.search(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const products = await productRepo.search(
|
|
25
|
+
{
|
|
26
|
+
project: { id: { $eq: project.id } },
|
|
27
|
+
typeOf: { $eq: chevre.factory.product.ProductType.PaymentCard }
|
|
28
|
+
},
|
|
29
|
+
[],
|
|
30
|
+
[]
|
|
31
|
+
);
|
|
28
32
|
console.log(products);
|
|
29
33
|
|
|
30
34
|
const product = products[0];
|
|
@@ -30,7 +30,7 @@ async function main() {
|
|
|
30
30
|
const priceSpecRepo = new chevre.repository.PriceSpecification(mongoose.connection);
|
|
31
31
|
const reservationRepo = new chevre.repository.Reservation(mongoose.connection);
|
|
32
32
|
const eventRepo = new chevre.repository.Event(mongoose.connection);
|
|
33
|
-
const itemAvailabilityRepo = new chevre.repository.StockHolder(client);
|
|
33
|
+
const itemAvailabilityRepo = new chevre.repository.StockHolder(client, mongoose.connection);
|
|
34
34
|
const offerRateLimitRepo = new chevre.repository.rateLimit.Offer(client);
|
|
35
35
|
|
|
36
36
|
const identifier = `CIN${(new Date()).valueOf()}`;
|
|
@@ -9,24 +9,22 @@ async function main() {
|
|
|
9
9
|
|
|
10
10
|
const taskRepo = new chevre.repository.Task(mongoose.connection);
|
|
11
11
|
|
|
12
|
-
const tasks = <chevre.factory.task.ITask<chevre.factory.taskName.
|
|
12
|
+
const tasks = <chevre.factory.task.ITask<chevre.factory.taskName.ConfirmReserveTransaction>[]>await taskRepo.search({
|
|
13
13
|
// limit: 100,
|
|
14
14
|
// page: 1,
|
|
15
15
|
name: {
|
|
16
|
-
$in: [chevre.factory.taskName.
|
|
16
|
+
$in: [chevre.factory.taskName.ConfirmReserveTransaction]
|
|
17
17
|
// $nin: [
|
|
18
18
|
// chevre.factory.taskName.ImportEventsFromCOA,
|
|
19
19
|
// chevre.factory.taskName.ImportEventCapacitiesFromCOA
|
|
20
20
|
// ]
|
|
21
21
|
},
|
|
22
22
|
statuses: [chevre.factory.taskStatus.Aborted],
|
|
23
|
-
runsFrom: moment('2023-
|
|
23
|
+
runsFrom: moment('2023-06-02T22:00:00Z')
|
|
24
24
|
.toDate(),
|
|
25
25
|
sort: { runsAt: chevre.factory.sortType.Ascending }
|
|
26
26
|
});
|
|
27
|
-
console.log(tasks.map((task) => `${task.
|
|
28
|
-
.tz('Asia/Tokyo')
|
|
29
|
-
.format('YYYY-MM-DDTHH:mm:ssZ')},"${task.data.object[0]?.transactionNumber}"`)
|
|
27
|
+
console.log(tasks.map((task) => `${task.data.object?.transactionNumber}`)
|
|
30
28
|
.join('\n'));
|
|
31
29
|
console.log(tasks.length);
|
|
32
30
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// tslint:disable:no-implicit-dependencies no-console
|
|
2
|
+
import { chevre } from '../../../lib/index';
|
|
3
|
+
|
|
4
|
+
import * as mongoose from 'mongoose';
|
|
5
|
+
|
|
6
|
+
// const project = { id: String(process.env.PROJECT_ID) };
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: true });
|
|
10
|
+
|
|
11
|
+
const actionRepo = new chevre.repository.Action(mongoose.connection);
|
|
12
|
+
const actions = await actionRepo.search(
|
|
13
|
+
{
|
|
14
|
+
typeOf: { $eq: chevre.factory.actionType.CheckAction },
|
|
15
|
+
// project: { id: { $eq: project.id } },
|
|
16
|
+
object: {
|
|
17
|
+
movieTickets: {
|
|
18
|
+
identifier: { $eq: '0947524082' },
|
|
19
|
+
serviceOutput: { reservationFor: { id: { $eq: 'clhvvbpyn' } } }
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
['_id'],
|
|
24
|
+
[]
|
|
25
|
+
);
|
|
26
|
+
console.log('actions:', actions);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
main()
|
|
30
|
+
.then(() => {
|
|
31
|
+
console.log('success!');
|
|
32
|
+
})
|
|
33
|
+
.catch(console.error);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
2
3
|
import * as redis from 'redis';
|
|
3
4
|
|
|
4
5
|
import { chevre } from '../../../lib/index';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
const project = { id: String(process.env.PROJECT_ID) };
|
|
7
8
|
|
|
8
9
|
// tslint:disable-next-line:max-func-body-length
|
|
9
10
|
async function main() {
|
|
@@ -16,11 +17,13 @@ async function main() {
|
|
|
16
17
|
});
|
|
17
18
|
await client.connect();
|
|
18
19
|
|
|
19
|
-
const itemAvailabilityRepo = new chevre.repository.StockHolder(client);
|
|
20
|
+
const itemAvailabilityRepo = new chevre.repository.StockHolder(client, mongoose.connection);
|
|
20
21
|
|
|
21
22
|
const result = await itemAvailabilityRepo.searchHolders({
|
|
23
|
+
project,
|
|
22
24
|
eventId: 'alckc9mlx',
|
|
23
25
|
startDate: new Date(),
|
|
26
|
+
hasTicketedSeat: true,
|
|
24
27
|
offers: [
|
|
25
28
|
{
|
|
26
29
|
seatSection: 'Default',
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
// import * as redis from 'redis';
|
|
3
|
+
import * as mongoose from 'mongoose';
|
|
4
|
+
import * as redis from 'redis';
|
|
5
|
+
|
|
6
|
+
import { chevre } from '../../../lib/index';
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: true });
|
|
10
|
+
const client = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({
|
|
11
|
+
socket: {
|
|
12
|
+
host: process.env.REDIS_HOST,
|
|
13
|
+
port: Number(process.env.REDIS_PORT)
|
|
14
|
+
},
|
|
15
|
+
password: process.env.REDIS_KEY
|
|
16
|
+
});
|
|
17
|
+
await client.connect();
|
|
18
|
+
|
|
19
|
+
const stockHolderRepo = new chevre.repository.StockHolder(client, mongoose.connection);
|
|
20
|
+
|
|
21
|
+
const holdReservations = await stockHolderRepo.search({
|
|
22
|
+
limit: 2,
|
|
23
|
+
page: 2,
|
|
24
|
+
sort: { 'reservationFor.startDate': chevre.factory.sortType.Ascending }
|
|
25
|
+
});
|
|
26
|
+
console.log(holdReservations);
|
|
27
|
+
console.log(holdReservations.length);
|
|
28
|
+
|
|
29
|
+
// const aggregations = await stockHolderRepo.aggregateByReservationFor({
|
|
30
|
+
// limit: 100,
|
|
31
|
+
// page: 1
|
|
32
|
+
// });
|
|
33
|
+
// console.log(aggregations);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
main()
|
|
37
|
+
.then(console.log)
|
|
38
|
+
.catch(console.error);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as moment from 'moment';
|
|
3
|
+
import * as mongoose from 'mongoose';
|
|
4
|
+
|
|
5
|
+
import { chevre } from '../../../lib/index';
|
|
6
|
+
|
|
7
|
+
const PROJECT_ID = String(process.env.PROJECT_ID);
|
|
8
|
+
const memberId = 'xxx';
|
|
9
|
+
|
|
10
|
+
async function main() {
|
|
11
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI);
|
|
12
|
+
|
|
13
|
+
const memberRepo = new chevre.repository.Member(mongoose.connection);
|
|
14
|
+
const roleRepo = new chevre.repository.Role(mongoose.connection);
|
|
15
|
+
|
|
16
|
+
let now: Date;
|
|
17
|
+
|
|
18
|
+
// let now = new Date();
|
|
19
|
+
// const aggregateRoleNamesResult = await memberRepo.aggregateRoleNames({
|
|
20
|
+
// project: { id: { $eq: PROJECT_ID } },
|
|
21
|
+
// member: { id: { $eq: memberId } }
|
|
22
|
+
// });
|
|
23
|
+
|
|
24
|
+
// const aggregatePermissionsResult = await roleRepo.aggregatePermissions({
|
|
25
|
+
// roleName: {
|
|
26
|
+
// $in: aggregateRoleNamesResult.map((r) => r.roleName)
|
|
27
|
+
// }
|
|
28
|
+
// });
|
|
29
|
+
// console.log('time cost:', moment()
|
|
30
|
+
// .diff(now));
|
|
31
|
+
|
|
32
|
+
now = new Date();
|
|
33
|
+
const searchPermissionsResult = await chevre.service.iam.searchPermissions({
|
|
34
|
+
project: { id: PROJECT_ID },
|
|
35
|
+
member: { id: memberId }
|
|
36
|
+
})({
|
|
37
|
+
member: memberRepo,
|
|
38
|
+
role: roleRepo
|
|
39
|
+
});
|
|
40
|
+
console.log('time cost:', moment()
|
|
41
|
+
.diff(now));
|
|
42
|
+
|
|
43
|
+
console.log(searchPermissionsResult);
|
|
44
|
+
console.log(searchPermissionsResult.permissions.length);
|
|
45
|
+
|
|
46
|
+
// console.log(aggregateRoleNamesResult);
|
|
47
|
+
// console.log(aggregateRoleNamesResult.length);
|
|
48
|
+
// console.log(aggregatePermissionsResult);
|
|
49
|
+
// console.log(aggregatePermissionsResult.length);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
main()
|
|
53
|
+
.then(console.log)
|
|
54
|
+
.catch(console.error);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// const PROJECT_ID = String(process.env.PROJECT_ID);
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
10
|
+
|
|
11
|
+
const placeRepo = new chevre.repository.Place(mongoose.connection);
|
|
12
|
+
|
|
13
|
+
const rooms = await placeRepo.searchScreeningRooms(
|
|
14
|
+
{
|
|
15
|
+
limit: 10,
|
|
16
|
+
page: 1,
|
|
17
|
+
$projection: { sectionCount: 1 }
|
|
18
|
+
},
|
|
19
|
+
true
|
|
20
|
+
);
|
|
21
|
+
console.log('place found', rooms);
|
|
22
|
+
const filteredRooms = rooms.filter((room) => typeof room.sectionCount === 'number' && room.sectionCount > 1);
|
|
23
|
+
console.log(filteredRooms.length, 'filteredRooms found');
|
|
24
|
+
|
|
25
|
+
const screeningRoom = await placeRepo.findScreeningRoomsByBranchCode({
|
|
26
|
+
branchCode: { $eq: rooms[0].branchCode },
|
|
27
|
+
containedInPlace: { id: { $eq: String(rooms[0].containedInPlace?.id) } },
|
|
28
|
+
useScreeningRoomType: true
|
|
29
|
+
});
|
|
30
|
+
console.log('screeningRoom found', screeningRoom);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
main()
|
|
34
|
+
.then(console.log)
|
|
35
|
+
.catch(console.error);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// const PROJECT_ID = String(process.env.PROJECT_ID);
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
10
|
+
|
|
11
|
+
const placeRepo = new chevre.repository.Place(mongoose.connection);
|
|
12
|
+
|
|
13
|
+
await placeRepo.syncScreeningRooms({
|
|
14
|
+
id: '60409176f60a46000a7a3787',
|
|
15
|
+
useScreeningRoomType: true
|
|
16
|
+
});
|
|
17
|
+
console.log('synced');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
main()
|
|
21
|
+
.then(console.log)
|
|
22
|
+
.catch(console.error);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// const PROJECT_ID = String(process.env.PROJECT_ID);
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
10
|
+
|
|
11
|
+
const placeRepo = new chevre.repository.Place(mongoose.connection);
|
|
12
|
+
|
|
13
|
+
const cursor = placeRepo.getCursor(
|
|
14
|
+
{
|
|
15
|
+
typeOf: { $eq: chevre.factory.placeType.MovieTheater }
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
_id: 1,
|
|
19
|
+
name: 1,
|
|
20
|
+
project: 1,
|
|
21
|
+
typeOf: 1
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
console.log('places found');
|
|
25
|
+
|
|
26
|
+
let i = 0;
|
|
27
|
+
await cursor.eachAsync(async (doc) => {
|
|
28
|
+
i += 1;
|
|
29
|
+
const { id, name, project, typeOf } = <Pick<chevre.factory.place.movieTheater.IPlace, 'id' | 'name' | 'project' | 'typeOf'>>
|
|
30
|
+
doc.toObject();
|
|
31
|
+
|
|
32
|
+
console.log('syncing...', project.id, typeOf, id, name.ja, i);
|
|
33
|
+
await placeRepo.syncScreeningRooms({
|
|
34
|
+
id,
|
|
35
|
+
useScreeningRoomType: true
|
|
36
|
+
});
|
|
37
|
+
console.log('synced.', project.id, typeOf, id, name.ja, i);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
main()
|
|
43
|
+
.then(console.log)
|
|
44
|
+
.catch(console.error);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// const PROJECT_ID = String(process.env.PROJECT_ID);
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
10
|
+
|
|
11
|
+
const placeRepo = new chevre.repository.Place(mongoose.connection);
|
|
12
|
+
|
|
13
|
+
const cursor = placeRepo.getCursor(
|
|
14
|
+
{
|
|
15
|
+
typeOf: { $eq: chevre.factory.placeType.MovieTheater }
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
_id: 1,
|
|
19
|
+
name: 1,
|
|
20
|
+
project: 1,
|
|
21
|
+
typeOf: 1
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
console.log('places found');
|
|
25
|
+
|
|
26
|
+
let i = 0;
|
|
27
|
+
await cursor.eachAsync(async (doc) => {
|
|
28
|
+
i += 1;
|
|
29
|
+
const { id, name, project, typeOf } = <Pick<chevre.factory.place.movieTheater.IPlace, 'id' | 'name' | 'project' | 'typeOf'>>
|
|
30
|
+
doc.toObject();
|
|
31
|
+
|
|
32
|
+
console.log('unset processing...', project.id, typeOf, id, name.ja, i);
|
|
33
|
+
const result = await placeRepo.unsetContainsPlaceFromMovieTheater({ id });
|
|
34
|
+
console.log('unset processed.', project.id, typeOf, id, name.ja, result?.id, i);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
main()
|
|
40
|
+
.then(console.log)
|
|
41
|
+
.catch(console.error);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as factory from '../factory';
|
|
2
2
|
export declare const AWARD_ACCOUNTS_IDENTIFIER_NAME = "awardAccounts";
|
|
3
|
+
export type IMaskedCustomer = factory.order.ICustomer | Pick<factory.order.ICustomer, 'id' | 'typeOf'>;
|
|
3
4
|
/**
|
|
4
5
|
* 個人情報のマスクされたカスタマーを作成する
|
|
5
6
|
*/
|
|
6
|
-
export declare function createMaskedCustomer(order: Pick<factory.order.IOrder, 'customer'
|
|
7
|
+
export declare function createMaskedCustomer(order: Pick<factory.order.IOrder, 'customer'>, options: {
|
|
8
|
+
noProfile: boolean;
|
|
9
|
+
}): IMaskedCustomer;
|
|
@@ -6,11 +6,24 @@ const MASKED_PROFILE = '****';
|
|
|
6
6
|
/**
|
|
7
7
|
* 個人情報のマスクされたカスタマーを作成する
|
|
8
8
|
*/
|
|
9
|
-
function createMaskedCustomer(order) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
function createMaskedCustomer(order, options) {
|
|
10
|
+
// noProfileに対応する(2023-07-03~)
|
|
11
|
+
if ((options === null || options === void 0 ? void 0 : options.noProfile) === true) {
|
|
12
|
+
return {
|
|
13
|
+
id: order.customer.id,
|
|
14
|
+
typeOf: order.customer.typeOf
|
|
15
|
+
// ↓identifierも隠蔽
|
|
16
|
+
// identifier: [],
|
|
17
|
+
// ↓additionalPropertyも隠蔽
|
|
18
|
+
// additionalProperty: [],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return Object.assign(Object.assign({}, order.customer), {
|
|
23
|
+
// ↓identifierも隠蔽
|
|
24
|
+
identifier: [],
|
|
25
|
+
// ↓additionalPropertyも隠蔽
|
|
26
|
+
additionalProperty: [], email: MASKED_PROFILE, telephone: MASKED_PROFILE, name: MASKED_PROFILE, familyName: MASKED_PROFILE, givenName: MASKED_PROFILE });
|
|
27
|
+
}
|
|
15
28
|
}
|
|
16
29
|
exports.createMaskedCustomer = createMaskedCustomer;
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.MongoRepository = void 0;
|
|
13
13
|
const account_1 = require("./mongoose/schemas/account");
|
|
14
14
|
const factory = require("../factory");
|
|
15
|
+
const settings_1 = require("../settings");
|
|
15
16
|
/**
|
|
16
17
|
* 口座リポジトリ
|
|
17
18
|
*/
|
|
@@ -390,7 +391,7 @@ class MongoRepository {
|
|
|
390
391
|
return __awaiter(this, void 0, void 0, function* () {
|
|
391
392
|
const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
|
|
392
393
|
return this.accountModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
|
|
393
|
-
.setOptions({ maxTimeMS:
|
|
394
|
+
.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
394
395
|
.exec();
|
|
395
396
|
});
|
|
396
397
|
}
|
|
@@ -419,7 +420,7 @@ class MongoRepository {
|
|
|
419
420
|
if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.openDate) !== undefined) {
|
|
420
421
|
query.sort({ openDate: params.sort.openDate });
|
|
421
422
|
}
|
|
422
|
-
return query.setOptions({ maxTimeMS:
|
|
423
|
+
return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
423
424
|
.exec()
|
|
424
425
|
.then((docs) => docs.map((doc) => doc.toObject()));
|
|
425
426
|
});
|