@chevre/domain 22.13.0-alpha.8 → 22.13.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/event/upsertManyScreeningEventByIdentifier.ts +1 -2
- package/example/src/chevre/migrateProjectSettings.ts +64 -0
- package/example/src/chevre/orders/searchOrders.ts +28 -0
- package/example/src/chevre/roles/addPermissionIfNotExists.ts +2 -2
- package/lib/chevre/repo/event.d.ts +3 -1
- package/lib/chevre/repo/event.js +4 -10
- package/lib/chevre/repo/order.d.ts +1 -1
- package/lib/chevre/repo/order.js +2 -1
- package/lib/chevre/repo/project.d.ts +1 -1
- package/lib/chevre/repo/project.js +8 -5
- package/package.json +2 -2
- package/example/src/chevre/migrateProjectTokenIssuers.ts +0 -100
- package/example/src/chevre/searchOrderAcceptedOffers.ts +0 -48
|
@@ -18,12 +18,11 @@ async function main() {
|
|
|
18
18
|
.format('YYYY-MM-DD');
|
|
19
19
|
const identifier = `fromSamples:${moment()
|
|
20
20
|
.format('YYYY-MM-DD HH:mm')}`;
|
|
21
|
-
const settingEvent: chevre.factory.event.screeningEvent.
|
|
21
|
+
const settingEvent: chevre.factory.event.screeningEvent.IAttributes = {
|
|
22
22
|
identifier,
|
|
23
23
|
additionalProperty: [
|
|
24
24
|
{ name: ADDITIONAL_PROPERTY_NAME, value: identifier }
|
|
25
25
|
],
|
|
26
|
-
id: 'bmcvkft5g',
|
|
27
26
|
project: {
|
|
28
27
|
id: project.id,
|
|
29
28
|
typeOf: chevre.factory.organizationType.Project
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../lib/index';
|
|
5
|
+
|
|
6
|
+
// tslint:disable-next-line:max-func-body-length
|
|
7
|
+
async function main() {
|
|
8
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
9
|
+
|
|
10
|
+
const projectRepo = await chevre.repository.Project.createInstance(mongoose.connection);
|
|
11
|
+
|
|
12
|
+
const cursor = projectRepo.getCursor(
|
|
13
|
+
{
|
|
14
|
+
// _id: { $eq: 'cinerino' }
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
_id: 1,
|
|
18
|
+
settings: 1,
|
|
19
|
+
typeOf: 1
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
console.log('docs found');
|
|
23
|
+
|
|
24
|
+
let i = 0;
|
|
25
|
+
let updateCount = 0;
|
|
26
|
+
await cursor.eachAsync(async (doc) => {
|
|
27
|
+
i += 1;
|
|
28
|
+
const project: Pick<chevre.factory.project.IProject, 'id' | 'typeOf' | 'settings'> = doc.toObject();
|
|
29
|
+
|
|
30
|
+
console.log(
|
|
31
|
+
'alreadyMigrated?', project.id, i);
|
|
32
|
+
const includeCustomerAsFindByConfirmationNumberResult = project.settings?.includeCustomerAsFindByConfirmationNumberResult;
|
|
33
|
+
let alreadyMigrated = false;
|
|
34
|
+
if (typeof includeCustomerAsFindByConfirmationNumberResult === 'boolean') {
|
|
35
|
+
alreadyMigrated = true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (alreadyMigrated) {
|
|
39
|
+
console.log(
|
|
40
|
+
'already migrated.', project.id, i);
|
|
41
|
+
} else {
|
|
42
|
+
console.log(
|
|
43
|
+
'updating project...',
|
|
44
|
+
project.id, i);
|
|
45
|
+
await projectRepo.updateById({
|
|
46
|
+
id: project.id,
|
|
47
|
+
settings: {
|
|
48
|
+
includeCustomerAsFindByConfirmationNumberResult: true
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
updateCount += 1;
|
|
52
|
+
console.log(
|
|
53
|
+
'updated.',
|
|
54
|
+
project.id, i);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
console.log(i, 'docs checked');
|
|
59
|
+
console.log(updateCount, 'docs updated');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
main()
|
|
63
|
+
.then()
|
|
64
|
+
.catch(console.error);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// tslint:disable:no-console
|
|
2
|
+
import * as mongoose from 'mongoose';
|
|
3
|
+
|
|
4
|
+
import { chevre } from '../../../../lib/index';
|
|
5
|
+
|
|
6
|
+
mongoose.Model.on('index', (...args) => {
|
|
7
|
+
console.error('******** index event emitted. ********\n', args);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
async function main() {
|
|
11
|
+
await mongoose.connect(<string>process.env.MONGOLAB_URI);
|
|
12
|
+
|
|
13
|
+
const orderRepo = await chevre.repository.Order.createInstance(mongoose.connection);
|
|
14
|
+
|
|
15
|
+
const orders = await orderRepo.projectFields(
|
|
16
|
+
{
|
|
17
|
+
limit: 1,
|
|
18
|
+
page: 1
|
|
19
|
+
},
|
|
20
|
+
{ inclusion: ['customer.id', 'customer.typeOf'] }
|
|
21
|
+
);
|
|
22
|
+
// tslint:disable-next-line:no-null-keyword
|
|
23
|
+
console.dir(orders, { depth: null });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
main()
|
|
27
|
+
.then()
|
|
28
|
+
.catch(console.error);
|
|
@@ -9,10 +9,10 @@ async function main() {
|
|
|
9
9
|
const roleRepo = await chevre.repository.Role.createInstance(mongoose.connection);
|
|
10
10
|
|
|
11
11
|
const roleNames = [
|
|
12
|
-
chevre.factory.role.organizationRole.RoleName.
|
|
12
|
+
chevre.factory.role.organizationRole.RoleName.AdminInventoryManager
|
|
13
13
|
];
|
|
14
14
|
const permissions = [
|
|
15
|
-
'
|
|
15
|
+
'admin.sellers.events.*'
|
|
16
16
|
];
|
|
17
17
|
for (const roleName of roleNames) {
|
|
18
18
|
for (const permission of permissions) {
|
|
@@ -111,7 +111,9 @@ export declare class EventRepo {
|
|
|
111
111
|
* イベントコードをキーにして冪等置換
|
|
112
112
|
*/
|
|
113
113
|
upsertManyScreeningEventByIdentifier(params: {
|
|
114
|
-
$set: factory.event.screeningEvent.
|
|
114
|
+
$set: factory.event.screeningEvent.IAttributes & {
|
|
115
|
+
id?: never;
|
|
116
|
+
};
|
|
115
117
|
$unset: IUnset<factory.eventType.ScreeningEvent>;
|
|
116
118
|
}[], options: {
|
|
117
119
|
/**
|
package/lib/chevre/repo/event.js
CHANGED
|
@@ -73,6 +73,10 @@ class EventRepo {
|
|
|
73
73
|
if (Array.isArray(idIn)) {
|
|
74
74
|
andConditions.push({ _id: { $in: idIn } });
|
|
75
75
|
}
|
|
76
|
+
const identifierIn = conditions.identifiers;
|
|
77
|
+
if (Array.isArray(identifierIn)) {
|
|
78
|
+
andConditions.push({ identifier: { $exists: true, $in: identifierIn } });
|
|
79
|
+
}
|
|
76
80
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
77
81
|
/* istanbul ignore else */
|
|
78
82
|
if (Array.isArray(conditions.eventStatuses)) {
|
|
@@ -130,16 +134,6 @@ class EventRepo {
|
|
|
130
134
|
if (Array.isArray(locationBranchCodeIn)) {
|
|
131
135
|
andConditions.push({ 'location.branchCode': { $exists: true, $in: locationBranchCodeIn } });
|
|
132
136
|
}
|
|
133
|
-
// discontinue(2024-09-30)
|
|
134
|
-
// const hasOfferCatalogIdEq = conditions.hasOfferCatalog?.id?.$eq;
|
|
135
|
-
// if (typeof hasOfferCatalogIdEq === 'string') {
|
|
136
|
-
// andConditions.push({
|
|
137
|
-
// 'hasOfferCatalog.id': {
|
|
138
|
-
// $exists: true,
|
|
139
|
-
// $eq: hasOfferCatalogIdEq
|
|
140
|
-
// }
|
|
141
|
-
// });
|
|
142
|
-
// }
|
|
143
137
|
const additionalPropertyElemMatch = (_l = conditions.additionalProperty) === null || _l === void 0 ? void 0 : _l.$elemMatch;
|
|
144
138
|
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
145
139
|
andConditions.push({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Connection, FilterQuery } from 'mongoose';
|
|
2
2
|
import * as factory from '../factory';
|
|
3
3
|
type IOrderWithoutAcceptedOffers = factory.order.IOrder;
|
|
4
|
-
type IKeyOfProjection = Extract<keyof IOrderWithoutAcceptedOffers, 'broker' | 'confirmationNumber' | 'customer' | 'dateReturned' | 'identifier' | 'name' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'previousOrderStatus' | 'price' | 'priceCurrency' | 'project' | 'returner' | 'seller' | 'typeOf' | 'url'> | 'paymentMethods.accountId' | 'paymentMethods.name' | 'paymentMethods.paymentMethod' | 'paymentMethods.paymentMethodId' | 'paymentMethods.totalPaymentDue' | 'paymentMethods.additionalProperty' | 'paymentMethods.issuedThrough';
|
|
4
|
+
type IKeyOfProjection = Extract<keyof IOrderWithoutAcceptedOffers, 'broker' | 'confirmationNumber' | 'customer' | 'dateReturned' | 'identifier' | 'name' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'previousOrderStatus' | 'price' | 'priceCurrency' | 'project' | 'returner' | 'seller' | 'typeOf' | 'url'> | 'paymentMethods.accountId' | 'paymentMethods.name' | 'paymentMethods.paymentMethod' | 'paymentMethods.paymentMethodId' | 'paymentMethods.totalPaymentDue' | 'paymentMethods.additionalProperty' | 'paymentMethods.issuedThrough' | 'customer.id' | 'customer.typeOf';
|
|
5
5
|
export type IReturnedOrder = Pick<IOrderWithoutAcceptedOffers, 'project' | 'typeOf' | 'orderNumber' | 'dateReturned' | 'id' | 'customer' | 'returner' | 'seller' | 'price' | 'priceCurrency' | 'orderDate'> & {
|
|
6
6
|
id: string;
|
|
7
7
|
};
|
package/lib/chevre/repo/order.js
CHANGED
|
@@ -21,7 +21,8 @@ const AVAILABLE_PROJECT_FIELDS = [
|
|
|
21
21
|
'broker', 'confirmationNumber', 'customer', 'dateReturned', 'identifier', 'name', 'orderDate', 'orderNumber', 'orderStatus', 'orderedItem',
|
|
22
22
|
'paymentMethods', 'previousOrderStatus', 'price', 'priceCurrency', 'project', 'returner', 'seller', 'typeOf', 'url',
|
|
23
23
|
'paymentMethods.accountId', 'paymentMethods.additionalProperty', 'paymentMethods.issuedThrough', 'paymentMethods.name', 'paymentMethods.paymentMethod',
|
|
24
|
-
'paymentMethods.paymentMethodId', 'paymentMethods.totalPaymentDue'
|
|
24
|
+
'paymentMethods.paymentMethodId', 'paymentMethods.totalPaymentDue',
|
|
25
|
+
'customer.id', 'customer.typeOf'
|
|
25
26
|
];
|
|
26
27
|
/**
|
|
27
28
|
* 注文リポジトリ
|
|
@@ -27,7 +27,7 @@ export declare class ProjectRepo {
|
|
|
27
27
|
logo?: string;
|
|
28
28
|
hasMerchantReturnPolicy?: Pick<factory.project.IHasMerchantReturnPolicy, 'sameAs' | 'identifier'>;
|
|
29
29
|
name?: string;
|
|
30
|
-
settings?: {
|
|
30
|
+
settings?: Pick<factory.project.ISettings, 'includeCustomerAsFindByConfirmationNumberResult'> & {
|
|
31
31
|
sendEmailMessage?: factory.project.ISendEmailMessageSettings;
|
|
32
32
|
sendgridApiKey?: string;
|
|
33
33
|
};
|
|
@@ -134,23 +134,26 @@ class ProjectRepo {
|
|
|
134
134
|
}
|
|
135
135
|
updateById(params) {
|
|
136
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
var _a, _b, _c, _d, _e, _f;
|
|
137
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
138
138
|
let hasMerchantReturnPolicy;
|
|
139
139
|
if (typeof ((_a = params.hasMerchantReturnPolicy) === null || _a === void 0 ? void 0 : _a.sameAs) === 'string') {
|
|
140
140
|
hasMerchantReturnPolicy = Object.assign({ sameAs: params.hasMerchantReturnPolicy.sameAs, typeOf: 'MerchantReturnPolicy' }, (typeof params.hasMerchantReturnPolicy.identifier === 'string')
|
|
141
141
|
? { identifier: params.hasMerchantReturnPolicy.identifier } : undefined);
|
|
142
142
|
}
|
|
143
|
-
|
|
143
|
+
const includeCustomerAsFindByConfirmationNumberResult = (_b = params.settings) === null || _b === void 0 ? void 0 : _b.includeCustomerAsFindByConfirmationNumberResult;
|
|
144
|
+
yield this.projectModel.findOneAndUpdate({ _id: { $eq: params.id } }, Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (typeof params.alternateName === 'string' && params.alternateName.length > 0)
|
|
144
145
|
? { alternateName: params.alternateName }
|
|
145
|
-
: undefined), (typeof params.name === 'string' && params.name.length > 0) ? { name: params.name } : undefined), (typeof params.logo === 'string' && params.logo.length > 0) ? { logo: params.logo } : undefined), (typeof ((
|
|
146
|
+
: undefined), (typeof params.name === 'string' && params.name.length > 0) ? { name: params.name } : undefined), (typeof params.logo === 'string' && params.logo.length > 0) ? { logo: params.logo } : undefined), (typeof ((_e = (_d = (_c = params.settings) === null || _c === void 0 ? void 0 : _c.sendEmailMessage) === null || _d === void 0 ? void 0 : _d.sender) === null || _e === void 0 ? void 0 : _e.email) === 'string')
|
|
146
147
|
? {
|
|
147
148
|
'settings.sendEmailMessage': {
|
|
148
149
|
sender: { email: params.settings.sendEmailMessage.sender.email }
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
|
-
: undefined), (typeof ((
|
|
152
|
+
: undefined), (typeof ((_f = params.settings) === null || _f === void 0 ? void 0 : _f.sendgridApiKey) === 'string')
|
|
152
153
|
? { 'settings.sendgridApiKey': params.settings.sendgridApiKey }
|
|
153
|
-
: undefined), (typeof
|
|
154
|
+
: undefined), (typeof includeCustomerAsFindByConfirmationNumberResult === 'boolean')
|
|
155
|
+
? { 'settings.includeCustomerAsFindByConfirmationNumberResult': includeCustomerAsFindByConfirmationNumberResult }
|
|
156
|
+
: undefined), (typeof ((_g = params.subscription) === null || _g === void 0 ? void 0 : _g.useEventServiceAsProduct) === 'boolean')
|
|
154
157
|
? { 'subscription.useEventServiceAsProduct': params.subscription.useEventServiceAsProduct }
|
|
155
158
|
: undefined), (hasMerchantReturnPolicy !== undefined) ? { hasMerchantReturnPolicy } : undefined), { $unset: {
|
|
156
159
|
'settings.cognito': 1 // 廃止(2023-11-10~)
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
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": "4.398.0
|
|
14
|
+
"@chevre/factory": "4.398.0",
|
|
15
15
|
"@cinerino/sdk": "12.2.0",
|
|
16
16
|
"@motionpicture/coa-service": "9.6.0",
|
|
17
17
|
"@motionpicture/gmo-service": "5.4.0-alpha.1",
|
|
@@ -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.13.0
|
|
118
|
+
"version": "22.13.0"
|
|
119
119
|
}
|
|
@@ -1,100 +0,0 @@
|
|
|
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
|
-
// const excludedProject = { id: String(process.env.EXCLUDED_PROJECT_ID) };
|
|
8
|
-
|
|
9
|
-
// tslint:disable-next-line:max-func-body-length
|
|
10
|
-
async function main() {
|
|
11
|
-
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
|
|
12
|
-
|
|
13
|
-
const identityProviderRepo = await chevre.repository.IdentityProvider.createInstance(mongoose.connection);
|
|
14
|
-
const projectRepo = await chevre.repository.Project.createInstance(mongoose.connection);
|
|
15
|
-
|
|
16
|
-
const cursor = projectRepo.getCursor(
|
|
17
|
-
{
|
|
18
|
-
// _id: { $eq: 'cinerino' }
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
_id: 1,
|
|
22
|
-
settings: 1,
|
|
23
|
-
typeOf: 1
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
console.log('docs found');
|
|
27
|
-
|
|
28
|
-
let i = 0;
|
|
29
|
-
let updateCount = 0;
|
|
30
|
-
await cursor.eachAsync(async (doc) => {
|
|
31
|
-
i += 1;
|
|
32
|
-
const project: Pick<chevre.factory.project.IProject, 'id' | 'typeOf' | 'settings'> = doc.toObject();
|
|
33
|
-
|
|
34
|
-
console.log(
|
|
35
|
-
'alreadyMigrated?', project.id, i);
|
|
36
|
-
const tokenIssuers: string[] | undefined = (<any>project.settings).tokenIssuers;
|
|
37
|
-
let alreadyMigrated = false;
|
|
38
|
-
if (Array.isArray(tokenIssuers)) {
|
|
39
|
-
let existingProvidersCount = 0;
|
|
40
|
-
for (const tokenIssuer of tokenIssuers) {
|
|
41
|
-
const existingProviders = await identityProviderRepo.projectFields(
|
|
42
|
-
{
|
|
43
|
-
limit: 1,
|
|
44
|
-
page: 1,
|
|
45
|
-
project: { id: { $eq: project.id } },
|
|
46
|
-
identifier: { $eq: tokenIssuer }
|
|
47
|
-
},
|
|
48
|
-
['identifier']
|
|
49
|
-
);
|
|
50
|
-
existingProvidersCount += existingProviders.length;
|
|
51
|
-
}
|
|
52
|
-
if (existingProvidersCount === tokenIssuers.length) {
|
|
53
|
-
alreadyMigrated = true;
|
|
54
|
-
}
|
|
55
|
-
} else {
|
|
56
|
-
alreadyMigrated = true;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (alreadyMigrated) {
|
|
60
|
-
console.log(
|
|
61
|
-
'already migrated.', project.id, i);
|
|
62
|
-
} else {
|
|
63
|
-
if (Array.isArray(tokenIssuers)) {
|
|
64
|
-
const newProviders = tokenIssuers.map((tokenIssuer) => {
|
|
65
|
-
return {
|
|
66
|
-
identifier: tokenIssuer,
|
|
67
|
-
project: {
|
|
68
|
-
id: project.id,
|
|
69
|
-
typeOf: <chevre.factory.organizationType.Project>chevre.factory.organizationType.Project
|
|
70
|
-
},
|
|
71
|
-
typeOf: <chevre.factory.organizationType.Organization>chevre.factory.organizationType.Organization,
|
|
72
|
-
verified: true
|
|
73
|
-
};
|
|
74
|
-
});
|
|
75
|
-
console.log(
|
|
76
|
-
'updating project...',
|
|
77
|
-
project.id, i, newProviders.length, 'newProviders');
|
|
78
|
-
for (const newProvider of newProviders) {
|
|
79
|
-
console.log(
|
|
80
|
-
'updating project...',
|
|
81
|
-
project.id, i, newProvider);
|
|
82
|
-
// await identityProviderRepo.save({
|
|
83
|
-
// attributes: newProvider
|
|
84
|
-
// });
|
|
85
|
-
}
|
|
86
|
-
updateCount += 1;
|
|
87
|
-
console.log(
|
|
88
|
-
'updated.',
|
|
89
|
-
project.id, i);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
console.log(i, 'docs checked');
|
|
95
|
-
console.log(updateCount, 'docs updated');
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
main()
|
|
99
|
-
.then()
|
|
100
|
-
.catch(console.error);
|
|
@@ -1,48 +0,0 @@
|
|
|
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
|
-
mongoose.Model.on('index', (...args) => {
|
|
9
|
-
console.error('******** index event emitted. ********\n', args);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
async function main() {
|
|
13
|
-
await mongoose.connect(<string>process.env.MONGOLAB_URI);
|
|
14
|
-
|
|
15
|
-
const acceptedOfferRepo = await chevre.repository.AcceptedOffer.createInstance(mongoose.connection);
|
|
16
|
-
|
|
17
|
-
const acceptedOffers = await acceptedOfferRepo.searchAcceptedOffersByOrderNumber(
|
|
18
|
-
{
|
|
19
|
-
// tslint:disable-next-line:no-magic-numbers
|
|
20
|
-
limit: 10,
|
|
21
|
-
page: 1,
|
|
22
|
-
project: { id: { $eq: project.id } },
|
|
23
|
-
orderNumber: { $eq: 'CIN7-9247770-0699829' },
|
|
24
|
-
acceptedOffers: {
|
|
25
|
-
itemOffered: {
|
|
26
|
-
typeOf: { $in: [chevre.factory.reservationType.EventReservation] },
|
|
27
|
-
reservationFor: { id: { $in: ['blpw1ew8f'] } },
|
|
28
|
-
reservedTicket: { ticketedSeat: { seatNumber: { $in: ['A-26', 'xxx'] } } }
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
['itemOffered', 'priceSpecification']
|
|
33
|
-
);
|
|
34
|
-
// tslint:disable-next-line:no-null-keyword
|
|
35
|
-
console.dir(acceptedOffers, { depth: 1 });
|
|
36
|
-
const reservationIds = acceptedOffers.map((acceptedOffer) => {
|
|
37
|
-
if (acceptedOffer.itemOffered.typeOf === chevre.factory.reservationType.EventReservation) {
|
|
38
|
-
return acceptedOffer.itemOffered.id;
|
|
39
|
-
} else {
|
|
40
|
-
return '';
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
console.log('reservationIds:', reservationIds);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
main()
|
|
47
|
-
.then()
|
|
48
|
-
.catch(console.error);
|