@chevre/domain 21.25.0-alpha.0 → 21.25.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.
@@ -6,14 +6,17 @@ import { chevre } from '../../../lib/index';
6
6
  async function main() {
7
7
  await mongoose.connect(<string>process.env.MONGOLAB_URI);
8
8
 
9
+ const limit = 1;
10
+ const page = 2;
9
11
  const acceptedOfferRepo = await chevre.repository.AcceptedOffer.createInstance(mongoose.connection);
10
12
 
11
13
  const result = await acceptedOfferRepo.searchSlicedAcceptedOffersByOrderNumber(
12
14
  {
13
- orderNumber: { $eq: 'CIN1-3748070-2008463' },
14
- project: { id: { $eq: String(process.env.PROJECT_ID) } },
15
+ orderNumber: { $eq: 'TTT6-4203485-8379924' },
16
+ // project: { id: { $eq: String(process.env.PROJECT_ID) } },
17
+ project: { id: { $eq: 'ttts-development' } },
15
18
  // tslint:disable-next-line:no-magic-numbers
16
- $slice: [0, 2]
19
+ $slice: [limit * (page - 1), limit]
17
20
  }
18
21
  );
19
22
  console.log(result);
@@ -7,4 +7,5 @@ export declare function createOwnershipInfosFromOrder(params: {
7
7
  order: Pick<factory.order.IOrder, 'orderDate' | 'project' | 'customer' | 'orderNumber' | 'seller'> & {
8
8
  acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
9
9
  };
10
+ offerIndexBase: number;
10
11
  }): IOwnershipInfo[];
@@ -19,7 +19,12 @@ function createOwnershipInfosFromOrder(params) {
19
19
  let ownershipInfo;
20
20
  const ownedFrom = moment(params.order.orderDate)
21
21
  .toDate();
22
- const identifier = createOwnershipInfoIdentifier({ order: params.order, itemOffered, offerIndex });
22
+ const identifier = createOwnershipInfoIdentifier({
23
+ order: params.order,
24
+ itemOffered,
25
+ offerIndex,
26
+ offerIndexBase: params.offerIndexBase
27
+ });
23
28
  const acquiredFrom = createAcquiredFrom(params);
24
29
  const ownedBy = createOwnedby(params);
25
30
  const itemOfferedType = itemOffered.typeOf;
@@ -60,7 +65,7 @@ function createOwnershipInfosFromOrder(params) {
60
65
  }
61
66
  exports.createOwnershipInfosFromOrder = createOwnershipInfosFromOrder;
62
67
  function createOwnershipInfoIdentifier(params) {
63
- return util.format('%s-%s-%s-%s', params.order.customer.id, params.itemOffered.typeOf, params.order.orderNumber, params.offerIndex);
68
+ return util.format('%s-%s-%s-%s', params.order.customer.id, params.itemOffered.typeOf, params.order.orderNumber, (params.offerIndexBase + params.offerIndex));
64
69
  }
65
70
  function createAcquiredFrom(params) {
66
71
  // 最低限の情報に絞る
@@ -81,7 +81,8 @@ function deleteOwnershipInfosByOrder(order) {
81
81
  order: Object.assign(Object.assign({}, order), { acceptedOffers: yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
82
82
  orderNumber: { $eq: order.orderNumber },
83
83
  project: { id: { $eq: order.project.id } }
84
- }) })
84
+ }) }),
85
+ offerIndexBase: 0
85
86
  });
86
87
  const ownershipIdentifiers = ownershipInfos.map((o) => String(o.identifier));
87
88
  if (ownershipIdentifiers.length > 0) {
@@ -103,15 +103,20 @@ function sendOrder(params) {
103
103
  createOwnerships = true;
104
104
  }
105
105
  try {
106
+ const offerIndexBase = (limit * (page - 1));
106
107
  const searchSlicedAcceptedOffersResult = yield repos.acceptedOffer.searchSlicedAcceptedOffersByOrderNumber({
107
- $slice: [limit * (page - 1), limit],
108
+ $slice: [offerIndexBase, limit],
108
109
  orderNumber: { $eq: order.orderNumber },
109
110
  project: { id: { $eq: order.project.id } }
110
111
  });
111
112
  acceptedOffers = searchSlicedAcceptedOffersResult.acceptedOffers;
113
+ debug('delivering...', order.orderNumber, acceptedOffers.map((offer) => `${offer.itemOffered.id}`), params.object.acceptedOffers, 'offerIndexBase:', offerIndexBase);
112
114
  // 所有権作成
113
115
  if (createOwnerships) {
114
- ownershipInfos = (0, factory_1.createOwnershipInfosFromOrder)({ order: Object.assign(Object.assign({}, order), { acceptedOffers }) });
116
+ ownershipInfos = (0, factory_1.createOwnershipInfosFromOrder)({
117
+ order: Object.assign(Object.assign({}, order), { acceptedOffers }),
118
+ offerIndexBase
119
+ });
115
120
  ownershipInfos = yield Promise.all(ownershipInfos.map((ownershipInfo) => __awaiter(this, void 0, void 0, function* () {
116
121
  return repos.ownershipInfo.createIfNotExistByIdentifier(ownershipInfo);
117
122
  })));
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.25.0-alpha.0"
113
+ "version": "21.25.0-alpha.2"
114
114
  }