@chevre/domain 21.27.0-alpha.2 → 21.27.0-alpha.4

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.
@@ -37,8 +37,7 @@ async function main() {
37
37
  object: {
38
38
  clientUser: <any>{ client_id: CLIENT_ID }
39
39
  },
40
- seller: { id: '59d20831e53ebc2b4e774466' },
41
- validateEligibleCustomerType: false
40
+ seller: { id: '59d20831e53ebc2b4e774466' }
42
41
  })({
43
42
  member: await chevre.repository.Member.createInstance(mongoose.connection),
44
43
  projectMakesOffer: await chevre.repository.ProjectMakesOffer.createInstance(mongoose.connection),
@@ -117,8 +116,7 @@ async function main() {
117
116
  options: {
118
117
  useCancelPayTransactionOnFailed: false,
119
118
  useCheckMovieTicketBeforePay: false,
120
- useCheckByIdentifierIfNotYet: false,
121
- useSearchTrade4accountId: false
119
+ useCheckByIdentifierIfNotYet: false
122
120
  }
123
121
  })({
124
122
  accountingReport: await chevre.repository.AccountingReport.createInstance(mongoose.connection),
@@ -94,7 +94,6 @@ export import IPaymentAgencyTransaction = CreditCardPayment.IPaymentAgencyTransa
94
94
  export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, options: {
95
95
  useCheckMovieTicketBeforePay: boolean;
96
96
  useCheckByIdentifierIfNotYet: boolean;
97
- searchTrade4accountId: boolean;
98
97
  pendingPaymentAgencyTransaction?: CreditCardPayment.IPaymentAgencyTransaction;
99
98
  }): IStartOperation<factory.assetTransaction.pay.ITransaction>;
100
99
  /**
@@ -41,7 +41,7 @@ function publishPaymentUrl(params) {
41
41
  let result;
42
42
  switch (paymentServiceType) {
43
43
  case factory.service.paymentService.PaymentServiceType.CreditCard:
44
- const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, { searchTrade4accountId: false, processPublishPaymentUrl: true })(repos);
44
+ const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, { processPublishPaymentUrl: true })(repos);
45
45
  let paymentUrl;
46
46
  // 3DS拡張(2024-01-02~)
47
47
  const retUrl = (_c = params.object.paymentMethod.creditCard) === null || _c === void 0 ? void 0 : _c.retUrl;
@@ -147,7 +147,7 @@ function start(params, options) {
147
147
  break;
148
148
  case factory.service.paymentService.PaymentServiceType.CreditCard:
149
149
  transaction =
150
- yield processAuthorizeCreditCard(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), Object.assign({ searchTrade4accountId: options.searchTrade4accountId }, (options.pendingPaymentAgencyTransaction !== undefined)
150
+ yield processAuthorizeCreditCard(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), Object.assign({}, (options.pendingPaymentAgencyTransaction !== undefined)
151
151
  ? { pendingPaymentAgencyTransaction: options.pendingPaymentAgencyTransaction }
152
152
  : undefined))(repos);
153
153
  break;
@@ -305,7 +305,7 @@ function processAuthorizeAccount(params, transaction, paymentServiceId) {
305
305
  }
306
306
  function processAuthorizeCreditCard(params, transaction, paymentServiceId, options) {
307
307
  return (repos) => __awaiter(this, void 0, void 0, function* () {
308
- const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, Object.assign({ processPublishPaymentUrl: false, searchTrade4accountId: options.searchTrade4accountId }, (options.pendingPaymentAgencyTransaction !== undefined)
308
+ const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, Object.assign({ processPublishPaymentUrl: false }, (options.pendingPaymentAgencyTransaction !== undefined)
309
309
  ? { pendingPaymentAgencyTransaction: options.pendingPaymentAgencyTransaction }
310
310
  : undefined))(repos);
311
311
  return saveAuthorizeResult({
@@ -110,7 +110,6 @@ declare function authorize(params: {
110
110
  useCancelPayTransactionOnFailed: boolean;
111
111
  useCheckMovieTicketBeforePay: boolean;
112
112
  useCheckByIdentifierIfNotYet: boolean;
113
- useSearchTrade4accountId: boolean;
114
113
  };
115
114
  }): IAuthorizeOperation<{
116
115
  /**
@@ -358,7 +358,7 @@ function authorize(params) {
358
358
  transactionNumber: transactionNumber,
359
359
  location: params.location
360
360
  });
361
- payTransaction = yield PayTransactionService.start(startParams, Object.assign({ useCheckMovieTicketBeforePay: params.options.useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet: params.options.useCheckByIdentifierIfNotYet, searchTrade4accountId: params.options.useSearchTrade4accountId }, (pendingPaymentAgencyTransaction !== undefined) ? { pendingPaymentAgencyTransaction } : undefined))(repos);
361
+ payTransaction = yield PayTransactionService.start(startParams, Object.assign({ useCheckMovieTicketBeforePay: params.options.useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet: params.options.useCheckByIdentifierIfNotYet }, (pendingPaymentAgencyTransaction !== undefined) ? { pendingPaymentAgencyTransaction } : undefined))(repos);
362
362
  }
363
363
  catch (error) {
364
364
  try {
@@ -24,7 +24,6 @@ type IAuthorizeResult = IPaymentAgencyTransaction & {
24
24
  * クレジットカード決済承認
25
25
  */
26
26
  declare function authorize(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, paymentServiceId: string, options: {
27
- searchTrade4accountId: boolean;
28
27
  pendingPaymentAgencyTransaction?: IPaymentAgencyTransaction;
29
28
  /**
30
29
  * 決済URL発行処理かどうか
@@ -25,9 +25,8 @@ const debug = createDebug('chevre-domain:service:payment');
25
25
  * クレジットカード決済承認
26
26
  */
27
27
  function authorize(params, paymentServiceId, options) {
28
- // tslint:disable-next-line:max-func-body-length
29
28
  return (repos) => __awaiter(this, void 0, void 0, function* () {
30
- var _a, _b, _c, _d, _e;
29
+ var _a, _b, _c;
31
30
  // CreditCard系統の決済方法タイプは動的
32
31
  const paymentMethodType = (_a = params.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.identifier;
33
32
  if (typeof paymentMethodType !== 'string') {
@@ -50,7 +49,7 @@ function authorize(params, paymentServiceId, options) {
50
49
  }
51
50
  // GMOオーソリ取得
52
51
  let authorizeResult;
53
- let searchTradeResult;
52
+ // let searchTradeResult: GMO.factory.credit.ISearchTradeResult | undefined;
54
53
  try {
55
54
  const pendingPaymentAgencyTransaction = options.pendingPaymentAgencyTransaction;
56
55
  const redirectUrl = (_c = pendingPaymentAgencyTransaction === null || pendingPaymentAgencyTransaction === void 0 ? void 0 : pendingPaymentAgencyTransaction.execTranResult) === null || _c === void 0 ? void 0 : _c.redirectUrl;
@@ -78,31 +77,13 @@ function authorize(params, paymentServiceId, options) {
78
77
  catch (error) {
79
78
  throw handleAuthorizeError(error);
80
79
  }
81
- const searchTrade4accountId = (options === null || options === void 0 ? void 0 : options.searchTrade4accountId) === true;
82
- if (searchTrade4accountId) {
83
- try {
84
- const creditCardService = new GMO.service.Credit({
85
- endpoint: String(availableChannel.serviceUrl),
86
- useFetch: credentials_1.credentials.gmo.useFetch
87
- }, { timeout: credentials_1.credentials.gmo.timeout });
88
- // ベストエフォートでクレジットカード詳細情報を取得
89
- const startSearchTradeDate = Date.now();
90
- debug('searchTrade processing...orderId:', orderId, startSearchTradeDate);
91
- searchTradeResult = yield creditCardService.searchTrade({
92
- shopId: shopId,
93
- shopPass: shopPass,
94
- orderId: orderId,
95
- siteId: (_d = availableChannel.credentials) === null || _d === void 0 ? void 0 : _d.siteId,
96
- sitePass: (_e = availableChannel.credentials) === null || _e === void 0 ? void 0 : _e.sitePass
97
- });
98
- debug('searchTrade processed. orderId:', orderId, 'execution time:', (Date.now() - startSearchTradeDate), 'ms');
99
- }
100
- catch (error) {
101
- // no op
102
- debug('searchTrade throwed an error. orderId:', orderId, error);
103
- }
104
- }
105
- return Object.assign({ accountId: (searchTradeResult !== undefined) ? searchTradeResult.cardNo : '', paymentMethodId: orderId, entryTranArgs: authorizeResult.entryTranArgs, entryTranResult: authorizeResult.entryTranResult, execTranArgs: authorizeResult.execTranArgs, execTranResult: authorizeResult.execTranResult }, (authorizeResult.secureTran2Result !== undefined) ? { secureTran2Result: authorizeResult.secureTran2Result } : undefined);
80
+ // クレジットカード詳細情報取得廃止(2024-03-19~)
81
+ // const searchTrade4accountId = options?.searchTrade4accountId === true;
82
+ // if (searchTrade4accountId) {
83
+ // }
84
+ return Object.assign({
85
+ // accountId: (searchTradeResult !== undefined) ? searchTradeResult.cardNo : '',
86
+ accountId: '', paymentMethodId: orderId, entryTranArgs: authorizeResult.entryTranArgs, entryTranResult: authorizeResult.entryTranResult, execTranArgs: authorizeResult.execTranArgs, execTranResult: authorizeResult.execTranResult }, (authorizeResult.secureTran2Result !== undefined) ? { secureTran2Result: authorizeResult.secureTran2Result } : undefined);
106
87
  });
107
88
  }
108
89
  exports.authorize = authorize;
@@ -1,6 +1,10 @@
1
1
  import * as factory from '../../factory';
2
2
  type IEventReservation = factory.reservation.IReservation<factory.reservationType.EventReservation>;
3
- export declare function maskUnderName(reservation: IEventReservation): IEventReservation;
3
+ type IMaskedUnderName = Pick<factory.reservation.IUnderName<factory.reservationType.EventReservation>, 'id' | 'typeOf'>;
4
+ type IEventReservationUnderNameMasked = Omit<factory.reservation.IReservation<factory.reservationType.EventReservation>, 'underName'> & {
5
+ underName?: IMaskedUnderName;
6
+ };
7
+ export declare function maskUnderName(reservation: IEventReservation): IEventReservationUnderNameMasked;
4
8
  export interface IProject {
5
9
  id: string;
6
10
  typeOf: factory.organizationType.Project;
@@ -15,12 +19,9 @@ export interface IReservationPackage4informConfirmed {
15
19
  reservationNumber: string;
16
20
  reservationStatus: factory.reservationStatusType;
17
21
  subReservation: ISubReservation[];
18
- underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
22
+ underName?: IMaskedUnderName;
19
23
  typeOf: factory.reservationType.ReservationPackage;
20
24
  }
21
- /**
22
- * 確定予約通知
23
- */
24
25
  /**
25
26
  * 予約取消通知
26
27
  */
@@ -1,13 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NUM_TRY_INFORM_RESERVATION = exports.maskUnderName = void 0;
4
- const MASKED_PROFILE = '****';
5
4
  function maskUnderName(reservation) {
6
5
  var _a;
7
6
  const underName = (typeof ((_a = reservation.underName) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
8
- ? Object.assign(Object.assign({}, reservation.underName), { email: MASKED_PROFILE, telephone: MASKED_PROFILE, name: MASKED_PROFILE, familyName: MASKED_PROFILE, givenName: MASKED_PROFILE,
9
- // identifierも隠蔽(2022-12-27~)
10
- identifier: [] }) : undefined;
7
+ // ReservationPackage通知アクションのobject.underNameを最小化(2024-03-19~)
8
+ // ? {
9
+ // ...reservation.underName,
10
+ // email: MASKED_PROFILE,
11
+ // telephone: MASKED_PROFILE,
12
+ // name: MASKED_PROFILE,
13
+ // familyName: MASKED_PROFILE,
14
+ // givenName: MASKED_PROFILE,
15
+ // // identifierも隠蔽(2022-12-27~)
16
+ // identifier: []
17
+ // }
18
+ ? { id: reservation.underName.id, typeOf: reservation.underName.typeOf }
19
+ : undefined;
11
20
  return Object.assign(Object.assign({}, reservation), (underName !== undefined) ? { underName } : undefined);
12
21
  }
13
22
  exports.maskUnderName = maskUnderName;
@@ -32,9 +32,7 @@ const informReservations = settings_1.settings.onReservationStatusChanged.inform
32
32
  /**
33
33
  * 予約確定後のアクション
34
34
  */
35
- function onReservationConfirmedByAction(actionAttributes
36
- // confirmedReservation: IEventReservation
37
- ) {
35
+ function onReservationConfirmedByAction(actionAttributes) {
38
36
  return (repos) => __awaiter(this, void 0, void 0, function* () {
39
37
  const potentialActions = actionAttributes.potentialActions;
40
38
  const now = new Date();
@@ -81,7 +79,6 @@ function onReservationConfirmed(confirmedReservations) {
81
79
  var _a, _b;
82
80
  const informUrl = String((_a = informReservation.recipient) === null || _a === void 0 ? void 0 : _a.url);
83
81
  // ReservationPackage通知に変更(2022-12-24~)
84
- // const informObject: IInformObject = confirmedReservations.map(maskUnderName);
85
82
  const informObject = [Object.assign({ project: confirmedReservations[0].project, reservationFor: confirmedReservations[0].reservationFor, reservationNumber: confirmedReservations[0].reservationNumber, reservationStatus: confirmedReservations[0].reservationStatus, subReservation: confirmedReservations.map((r) => {
86
83
  const { broker, project, reservationFor, reservationNumber, reservationStatus, underName } = r, subReservation = __rest(r, ["broker", "project", "reservationFor", "reservationNumber", "reservationStatus", "underName"]);
87
84
  return subReservation;
@@ -11,9 +11,7 @@ interface IStartOperationRepos {
11
11
  transaction: TransactionRepo;
12
12
  }
13
13
  type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
14
- type IStartParams = PlaceOrderFactory.IStartParams & {
15
- validateEligibleCustomerType: boolean;
16
- };
14
+ type IStartParams = PlaceOrderFactory.IStartParams;
17
15
  /**
18
16
  * 取引開始
19
17
  */
@@ -22,8 +22,7 @@ function start(params) {
22
22
  return (repos) => __awaiter(this, void 0, void 0, function* () {
23
23
  var _a;
24
24
  const { passport, customerType } = yield (0, validation_1.validateWaiterPassport)(params);
25
- const { memeberOfPayload, sellerMakesOffer, seller } = yield (0, validateStartRequest_1.validateStartRequest)(Object.assign({ project: { id: params.project.id }, seller: { id: params.seller.id }, clientUser: params.object.clientUser, memberOfToken: params.agent.memberOfToken }, (params.validateEligibleCustomerType === true
26
- && typeof (passport === null || passport === void 0 ? void 0 : passport.scope) === 'string') ? { customerType } : undefined))(repos);
25
+ const { memeberOfPayload, sellerMakesOffer, seller } = yield (0, validateStartRequest_1.validateStartRequest)(Object.assign({ project: { id: params.project.id }, seller: { id: params.seller.id }, clientUser: params.object.clientUser, memberOfToken: params.agent.memberOfToken }, (typeof (passport === null || passport === void 0 ? void 0 : passport.scope) === 'string') ? { customerType } : undefined))(repos);
27
26
  const expiresInSeconds = (_a = sellerMakesOffer.eligibleTransactionDuration) === null || _a === void 0 ? void 0 : _a.maxValue;
28
27
  if (typeof expiresInSeconds !== 'number') {
29
28
  throw new factory.errors.NotFound('eligibleTransactionDuration.maxValue');
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.validateStartRequest = void 0;
13
13
  const jwt = require("jsonwebtoken");
14
14
  const factory = require("../../../../factory");
15
- const settings_1 = require("../../../../settings");
16
15
  function verifyMembershipToken(params) {
17
16
  return __awaiter(this, void 0, void 0, function* () {
18
17
  let result;
@@ -58,16 +57,14 @@ function validateStartRequest(params) {
58
57
  throw new factory.errors.ArgumentNull('client_id');
59
58
  }
60
59
  let projectMakesOffer;
61
- if (settings_1.USE_VALIDATE_PROJECT_MAKES_OFFER) {
62
- projectMakesOffer = (yield repos.projectMakesOffer.search({
63
- limit: 1,
64
- page: 1,
65
- offeredBy: { id: { $eq: params.project.id } },
66
- availableAtOrFrom: { id: { $eq: clientId } }
67
- })).shift();
68
- if (projectMakesOffer === undefined) {
69
- throw new factory.errors.Argument('project', 'project makes no offers');
70
- }
60
+ projectMakesOffer = (yield repos.projectMakesOffer.search({
61
+ limit: 1,
62
+ page: 1,
63
+ offeredBy: { id: { $eq: params.project.id } },
64
+ availableAtOrFrom: { id: { $eq: clientId } }
65
+ })).shift();
66
+ if (projectMakesOffer === undefined) {
67
+ throw new factory.errors.Argument('project', 'project makes no offers');
71
68
  }
72
69
  const seller = (yield repos.seller.search({
73
70
  limit: 1,
@@ -39,7 +39,6 @@ export declare const USE_DELETE_EVENT_BY_ORDER: boolean;
39
39
  export declare const USE_OPTIMIZE_TICKET_OFFER: boolean;
40
40
  export declare const USE_FETCH_API: boolean;
41
41
  export declare const USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING: boolean;
42
- export declare const USE_VALIDATE_PROJECT_MAKES_OFFER: boolean;
43
42
  export declare const USE_OWNERSHIP_INFO_BY_WEB_APPLICATION: boolean;
44
43
  export declare const USE_CHECK_RESOURCE_TASK: boolean;
45
44
  export declare const USE_OPTIMIZE_RESERVATION_EXCEPTIONS: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.settings = exports.DELIVER_ORDER_LIMIT = exports.MONGO_AUTO_INDEX = exports.MONGO_READ_PREFERENCE = exports.MONGO_MAX_TIME_MS = exports.USE_OPTIMIZE_RESERVATION_EXCEPTIONS = exports.USE_CHECK_RESOURCE_TASK = exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = exports.USE_VALIDATE_PROJECT_MAKES_OFFER = exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = exports.USE_FETCH_API = exports.USE_OPTIMIZE_TICKET_OFFER = exports.USE_DELETE_EVENT_BY_ORDER = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.MAX_NUM_CREDIT_CARD_PAYMENT_METHOD = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.MAXIMUM_RESERVATION_GRACE_PERIOD_IN_DAYS = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
3
+ exports.settings = exports.DELIVER_ORDER_LIMIT = exports.MONGO_AUTO_INDEX = exports.MONGO_READ_PREFERENCE = exports.MONGO_MAX_TIME_MS = exports.USE_OPTIMIZE_RESERVATION_EXCEPTIONS = exports.USE_CHECK_RESOURCE_TASK = exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = exports.USE_FETCH_API = exports.USE_OPTIMIZE_TICKET_OFFER = exports.USE_DELETE_EVENT_BY_ORDER = exports.USE_ASSET_TRANSACTION_SYNC_PROCESSING = exports.DEFAULT_TASKS_EXPORT_AGENT_NAME = exports.DEFAULT_SENDER_EMAIL = exports.TRANSACTION_CANCELED_STORAGE_PERIOD_IN_DAYS = exports.TRANSACTION_CONFIRMED_STORAGE_PERIOD_IN_DAYS = exports.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS = exports.MAX_NUM_CREDIT_CARD_PAYMENT_METHOD = exports.ABORTED_TASKS_WITHOUT_REPORT = exports.MAXIMUM_RESERVATION_GRACE_PERIOD_IN_DAYS = exports.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS = exports.TRIGGER_WEBHOOK_MAX_RETRY_COUNT = void 0;
4
4
  const factory = require("./factory");
5
5
  const transactionWebhookUrls = (typeof process.env.INFORM_TRANSACTION_URL === 'string')
6
6
  ? process.env.INFORM_TRANSACTION_URL.split(' ')
@@ -63,7 +63,6 @@ exports.USE_DELETE_EVENT_BY_ORDER = process.env.USE_DELETE_EVENT_BY_ORDER === '1
63
63
  exports.USE_OPTIMIZE_TICKET_OFFER = process.env.USE_OPTIMIZE_TICKET_OFFER === '1';
64
64
  exports.USE_FETCH_API = process.env.USE_FETCH_API === '1';
65
65
  exports.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING = process.env.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING === '1';
66
- exports.USE_VALIDATE_PROJECT_MAKES_OFFER = process.env.USE_VALIDATE_PROJECT_MAKES_OFFER === '1';
67
66
  exports.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION = process.env.USE_OWNERSHIP_INFO_BY_WEB_APPLICATION === '1';
68
67
  exports.USE_CHECK_RESOURCE_TASK = process.env.USE_CHECK_RESOURCE_TASK === '1';
69
68
  exports.USE_OPTIMIZE_RESERVATION_EXCEPTIONS = (typeof process.env.USE_OPTIMIZE_RESERVATION_EXCEPTIONS === 'string')
package/package.json CHANGED
@@ -110,5 +110,5 @@
110
110
  "postversion": "git push origin --tags",
111
111
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
112
112
  },
113
- "version": "21.27.0-alpha.2"
113
+ "version": "21.27.0-alpha.4"
114
114
  }