@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.
@@ -54,8 +54,13 @@ async function main() {
54
54
  { project: { id: { $eq: '*' } } },
55
55
  {
56
56
  storage: {
57
- transactionCanceledInDays: 180,
58
- transactionConfirmedInDays: 365
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
- customer?: factory.order.ICustomer;
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
@@ -108,5 +108,5 @@
108
108
  "postversion": "git push origin --tags",
109
109
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
110
110
  },
111
- "version": "22.7.0-alpha.0"
111
+ "version": "22.7.0-alpha.2"
112
112
  }