@chevre/domain 20.12.0-alpha.0 → 20.12.0-alpha.1
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.
|
@@ -15,6 +15,7 @@ exports.validateMovieTicket = void 0;
|
|
|
15
15
|
*/
|
|
16
16
|
const factory = require("../../../factory");
|
|
17
17
|
const checkByIdentifier_1 = require("./checkByIdentifier");
|
|
18
|
+
// tslint:disable-next-line:max-func-body-length
|
|
18
19
|
function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBeforePay) {
|
|
19
20
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
20
21
|
var _a, _b, _c, _d;
|
|
@@ -61,21 +62,39 @@ function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBefore
|
|
|
61
62
|
screeningEvent: screeningEvent,
|
|
62
63
|
paymentServiceId
|
|
63
64
|
})(repos);
|
|
65
|
+
// checkResult.movieTicketsへの依存排除(2023-03-24~)
|
|
64
66
|
// 要求に対して十分かどうか検証する
|
|
65
|
-
const availableMovieTickets = checkResult.movieTickets.filter((t) =>
|
|
66
|
-
// 総数が足りているか
|
|
67
|
-
if (availableMovieTickets.length < movieTickets.length) {
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
// const availableMovieTickets = checkResult.movieTickets.filter((t) => t.amount?.validThrough === undefined);
|
|
68
|
+
// 総数が足りているか(券種ごとに枚数検証を実行するので不要)
|
|
69
|
+
// if (availableMovieTickets.length < movieTickets.length) {
|
|
70
|
+
// throw new factory.errors.Argument(
|
|
71
|
+
// 'movieTickets',
|
|
72
|
+
// `${movieTickets.length - availableMovieTickets.length} movie tickets short`
|
|
73
|
+
// );
|
|
74
|
+
// }
|
|
70
75
|
// 券種ごとに枚数が足りているか
|
|
71
76
|
const serviceTypes = [...new Set(movieTickets.map((t) => t.serviceType))];
|
|
72
77
|
serviceTypes.forEach((serviceType) => {
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
var _a, _b, _c;
|
|
79
|
+
const requiredMovieTicketsCountByServiceType = movieTickets.filter((t) => t.serviceType === serviceType).length;
|
|
80
|
+
let availableMovieTicketsCountByServiceType = 0;
|
|
81
|
+
const ykknInfos = (_b = (_a = checkResult.purchaseNumberAuthResult.knyknrNoInfoOut) === null || _a === void 0 ? void 0 : _a.find((knyknrNoInfoOut) => knyknrNoInfoOut.knyknrNo === movieTicketIdentifiers[0])) === null || _b === void 0 ? void 0 : _b.ykknInfo;
|
|
82
|
+
const ykknKnshbtsmiNum = (_c = ykknInfos === null || ykknInfos === void 0 ? void 0 : ykknInfos.find((ykknInfo) => ykknInfo.ykknshTyp === serviceType)) === null || _c === void 0 ? void 0 : _c.ykknKnshbtsmiNum;
|
|
83
|
+
if (typeof ykknKnshbtsmiNum === 'string') {
|
|
84
|
+
availableMovieTicketsCountByServiceType = Number(ykknKnshbtsmiNum);
|
|
85
|
+
}
|
|
86
|
+
if (availableMovieTicketsCountByServiceType < requiredMovieTicketsCountByServiceType) {
|
|
87
|
+
const shortNumber = requiredMovieTicketsCountByServiceType - availableMovieTicketsCountByServiceType;
|
|
77
88
|
throw new factory.errors.Argument('movieTickets', `${shortNumber} movie tickets by service type ${serviceType} short`);
|
|
78
89
|
}
|
|
90
|
+
// const availableMovieTicketsByServiceType = availableMovieTickets.filter((t) => t.serviceType === serviceType);
|
|
91
|
+
// if (availableMovieTicketsByServiceType.length < requiredMovieTicketsCountByServiceType) {
|
|
92
|
+
// const shortNumber = requiredMovieTicketsCountByServiceType - availableMovieTicketsByServiceType.length;
|
|
93
|
+
// throw new factory.errors.Argument(
|
|
94
|
+
// 'movieTickets',
|
|
95
|
+
// `${shortNumber} movie tickets by service type ${serviceType} short`
|
|
96
|
+
// );
|
|
97
|
+
// }
|
|
79
98
|
});
|
|
80
99
|
// checkはするが保管は保留(2023-03-09~)
|
|
81
100
|
return;
|
package/package.json
CHANGED