@chevre/domain 22.13.0-alpha.11 → 22.13.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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.InventoryManager
12
+ chevre.factory.role.organizationRole.RoleName.AdminInventoryManager
13
13
  ];
14
14
  const permissions = [
15
- 'sellerMakesOffer.*'
15
+ 'admin.sellers.events.*'
16
16
  ];
17
17
  for (const roleName of roleNames) {
18
18
  for (const permission of permissions) {
@@ -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
  };
@@ -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
- yield this.projectModel.findOneAndUpdate({ _id: { $eq: params.id } }, Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (typeof params.alternateName === 'string' && params.alternateName.length > 0)
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 ((_d = (_c = (_b = params.settings) === null || _b === void 0 ? void 0 : _b.sendEmailMessage) === null || _c === void 0 ? void 0 : _c.sender) === null || _d === void 0 ? void 0 : _d.email) === 'string')
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 ((_e = params.settings) === null || _e === void 0 ? void 0 : _e.sendgridApiKey) === 'string')
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 ((_f = params.subscription) === null || _f === void 0 ? void 0 : _f.useEventServiceAsProduct) === 'boolean')
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-alpha.6",
14
+ "@chevre/factory": "4.398.0-alpha.7",
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-alpha.11"
118
+ "version": "22.13.0-alpha.13"
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);