@chevre/domain 22.7.0-alpha.0 → 22.7.0-alpha.2
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/findSetting.ts +7 -2
- package/lib/chevre/repo/mongoose/schemas/order.js +0 -2
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +5 -0
- package/lib/chevre/repo/orderInTransaction.d.ts +3 -1
- package/lib/chevre/repo/orderInTransaction.js +12 -34
- package/lib/chevre/service/order/placeOrder/factory.js +1 -14
- package/package.json +1 -1
|
@@ -54,8 +54,13 @@ async function main() {
|
|
|
54
54
|
{ project: { id: { $eq: '*' } } },
|
|
55
55
|
{
|
|
56
56
|
storage: {
|
|
57
|
-
transactionCanceledInDays:
|
|
58
|
-
transactionConfirmedInDays:
|
|
57
|
+
transactionCanceledInDays: 7,
|
|
58
|
+
transactionConfirmedInDays: 7,
|
|
59
|
+
authorizationInDays: 1,
|
|
60
|
+
actionInDays: 31,
|
|
61
|
+
assetTransactionInDays: 7,
|
|
62
|
+
taskInDays: 180,
|
|
63
|
+
eventInDays: 365
|
|
59
64
|
}
|
|
60
65
|
}
|
|
61
66
|
);
|
|
@@ -21,7 +21,6 @@ const schemaDefinition = {
|
|
|
21
21
|
priceCurrency: String,
|
|
22
22
|
acceptedOffers: [mongoose_1.SchemaTypes.Mixed],
|
|
23
23
|
paymentMethods: [mongoose_1.SchemaTypes.Mixed],
|
|
24
|
-
// discounts: SchemaTypes.Mixed, // 廃止(2024-04-17~)
|
|
25
24
|
url: String,
|
|
26
25
|
orderStatus: String,
|
|
27
26
|
previousOrderStatus: String,
|
|
@@ -29,7 +28,6 @@ const schemaDefinition = {
|
|
|
29
28
|
isGift: Boolean,
|
|
30
29
|
dateReturned: Date,
|
|
31
30
|
orderedItem: [mongoose_1.SchemaTypes.Mixed] // 追加(2022-04-15~)
|
|
32
|
-
// additionalProperty: SchemaTypes.Mixed // 廃止(2024-04-17~)
|
|
33
31
|
};
|
|
34
32
|
const schemaOptions = {
|
|
35
33
|
autoIndex: settings_1.MONGO_AUTO_INDEX,
|
|
@@ -32,6 +32,11 @@ interface IStorageSettings {
|
|
|
32
32
|
* default:7
|
|
33
33
|
*/
|
|
34
34
|
transactionCanceledInDays?: number;
|
|
35
|
+
authorizationInDays?: number;
|
|
36
|
+
actionInDays?: number;
|
|
37
|
+
assetTransactionInDays?: number;
|
|
38
|
+
taskInDays?: number;
|
|
39
|
+
eventInDays?: number;
|
|
35
40
|
}
|
|
36
41
|
export interface ISetting {
|
|
37
42
|
defaultSenderEmail?: string;
|
|
@@ -26,11 +26,13 @@ import type { Connection } from 'mongoose';
|
|
|
26
26
|
import * as factory from '../factory';
|
|
27
27
|
type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project'> & {
|
|
28
28
|
typeOf: factory.transactionType.PlaceOrder;
|
|
29
|
+
orderDate: Date;
|
|
29
30
|
acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
|
|
30
31
|
customer?: factory.order.ICustomer;
|
|
31
32
|
};
|
|
32
33
|
export type IPlacingOrder = Pick<factory.order.IOrder, 'broker' | 'confirmationNumber' | 'identifier' | 'isGift' | 'name' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'seller' | 'typeOf' | 'url'> & {
|
|
33
|
-
|
|
34
|
+
acceptedOffers?: never;
|
|
35
|
+
customer?: never;
|
|
34
36
|
};
|
|
35
37
|
/**
|
|
36
38
|
* 取引中注文リポジトリ
|
|
@@ -10,10 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.OrderInTransactionRepo = void 0;
|
|
13
|
-
const createDebug = require("debug");
|
|
14
13
|
const factory = require("../factory");
|
|
15
14
|
const order_1 = require("./mongoose/schemas/order");
|
|
16
|
-
const debug = createDebug('chevre-domain:repo:orderInTransaction');
|
|
17
15
|
/**
|
|
18
16
|
* 取引中注文リポジトリ
|
|
19
17
|
*/
|
|
@@ -41,15 +39,15 @@ class OrderInTransactionRepo {
|
|
|
41
39
|
/**
|
|
42
40
|
* 注文を受注する
|
|
43
41
|
*/
|
|
44
|
-
placeOrder(
|
|
45
|
-
// order: Omit<factory.order.IOrder, 'id'>
|
|
46
|
-
order) {
|
|
42
|
+
placeOrder(order) {
|
|
47
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
if (!(order.orderDate instanceof Date)) {
|
|
45
|
+
throw new factory.errors.Argument('orderDate', 'must be Date');
|
|
46
|
+
}
|
|
48
47
|
let setFields;
|
|
49
48
|
// acceptedOffersを上書きしない
|
|
50
49
|
// const { acceptedOffers, ...orderWithoutAcceptedOffers } = order;
|
|
51
50
|
setFields = order;
|
|
52
|
-
debug('placing an order...', order.orderNumber, 'setFields:', setFields);
|
|
53
51
|
// typeOf:PlaceOrderのドキュメントが存在すれば、typeOf:Orderに変更する
|
|
54
52
|
yield this.orderModel.updateOne({
|
|
55
53
|
orderNumber: { $eq: order.orderNumber },
|
|
@@ -63,15 +61,17 @@ class OrderInTransactionRepo {
|
|
|
63
61
|
if (!Array.isArray(params.acceptedOffers) || params.acceptedOffers.length === 0) {
|
|
64
62
|
return;
|
|
65
63
|
}
|
|
64
|
+
const setOnInsert = {
|
|
65
|
+
typeOf: factory.transactionType.PlaceOrder,
|
|
66
|
+
orderDate: new Date(),
|
|
67
|
+
orderNumber: params.orderNumber,
|
|
68
|
+
project: params.project
|
|
69
|
+
};
|
|
66
70
|
return this.orderModel.updateOne({
|
|
67
71
|
typeOf: { $eq: factory.transactionType.PlaceOrder },
|
|
68
72
|
orderNumber: { $eq: params.orderNumber }
|
|
69
73
|
}, {
|
|
70
|
-
$setOnInsert:
|
|
71
|
-
typeOf: factory.transactionType.PlaceOrder,
|
|
72
|
-
orderNumber: params.orderNumber,
|
|
73
|
-
project: params.project
|
|
74
|
-
},
|
|
74
|
+
$setOnInsert: setOnInsert,
|
|
75
75
|
$push: {
|
|
76
76
|
acceptedOffers: {
|
|
77
77
|
$each: params.acceptedOffers
|
|
@@ -81,29 +81,6 @@ class OrderInTransactionRepo {
|
|
|
81
81
|
.exec();
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
// 廃止(voidAcceptedOfferBySerialNumberへ機能移行)(2024-01-31~)
|
|
85
|
-
// public async voidAcceptedOfferByReservationNumber(params: {
|
|
86
|
-
// orderNumber: string;
|
|
87
|
-
// acceptedOffers: { reservationNumber: { $in: string[] } };
|
|
88
|
-
// }) {
|
|
89
|
-
// return this.orderModel.updateOne(
|
|
90
|
-
// {
|
|
91
|
-
// typeOf: { $eq: factory.transactionType.PlaceOrder },
|
|
92
|
-
// orderNumber: { $eq: params.orderNumber }
|
|
93
|
-
// },
|
|
94
|
-
// {
|
|
95
|
-
// $pull: {
|
|
96
|
-
// acceptedOffers: {
|
|
97
|
-
// 'itemOffered.reservationNumber': {
|
|
98
|
-
// $exists: true,
|
|
99
|
-
// $in: params.acceptedOffers.reservationNumber.$in
|
|
100
|
-
// }
|
|
101
|
-
// }
|
|
102
|
-
// }
|
|
103
|
-
// }
|
|
104
|
-
// )
|
|
105
|
-
// .exec();
|
|
106
|
-
// }
|
|
107
84
|
/**
|
|
108
85
|
* serialNumberからオファーを除外する
|
|
109
86
|
* ホワイトリストとブラックリスト両方に対応
|
|
@@ -152,6 +129,7 @@ class OrderInTransactionRepo {
|
|
|
152
129
|
};
|
|
153
130
|
const setOnInsert = {
|
|
154
131
|
typeOf: factory.transactionType.PlaceOrder,
|
|
132
|
+
orderDate: new Date(),
|
|
155
133
|
orderNumber,
|
|
156
134
|
project
|
|
157
135
|
};
|
|
@@ -67,9 +67,6 @@ function createPlacingOrder(params) {
|
|
|
67
67
|
if (orderByTransaction === undefined) {
|
|
68
68
|
throw new factory.errors.NotFound('transaction.result.order');
|
|
69
69
|
}
|
|
70
|
-
// const orderedItems: factory.order.IOrderedItem[]
|
|
71
|
-
// = (Array.isArray(orderByTransaction.orderedItem)) ? orderByTransaction.orderedItem : [];
|
|
72
|
-
// const customer = createCustomer({ transaction }); // no overwrite(2024-06-24~)
|
|
73
70
|
const seller = createSeller({ transaction });
|
|
74
71
|
const name = (typeof transaction.object.name === 'string') ? transaction.object.name : undefined;
|
|
75
72
|
const broker = (typeof ((_b = transaction.object.broker) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? transaction.object.broker : undefined;
|
|
@@ -102,17 +99,7 @@ function createPlacingOrder(params) {
|
|
|
102
99
|
return Object.assign(Object.assign(Object.assign(Object.assign({}, orderByTransaction), { seller,
|
|
103
100
|
paymentMethods,
|
|
104
101
|
price, orderDate: moment(orderByTransaction.orderDate)
|
|
105
|
-
.toDate(),
|
|
106
|
-
// orderedItem: orderedItems,
|
|
107
|
-
orderedItem }), (typeof name === 'string') ? { name } : undefined), (typeof (broker === null || broker === void 0 ? void 0 : broker.typeOf) === 'string') ? { broker } : undefined // 2024-06-17~
|
|
108
|
-
// customer // no overwrite(2024-06-24~)
|
|
109
|
-
// discontinue(2024-06-17~)
|
|
110
|
-
// ...(params.dateReturned !== null && params.dateReturned !== undefined)
|
|
111
|
-
// ? {
|
|
112
|
-
// dateReturned: moment(params.dateReturned)
|
|
113
|
-
// .toDate()
|
|
114
|
-
// }
|
|
115
|
-
// : undefined
|
|
102
|
+
.toDate(), orderedItem }), (typeof name === 'string') ? { name } : undefined), (typeof (broker === null || broker === void 0 ? void 0 : broker.typeOf) === 'string') ? { broker } : undefined // 2024-06-17~
|
|
116
103
|
);
|
|
117
104
|
}
|
|
118
105
|
exports.createPlacingOrder = createPlacingOrder;
|
package/package.json
CHANGED