@chevre/domain 26.0.0-alpha.26 → 26.0.0-alpha.27

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateAssetTransaction = exports.AggregateTask = exports.AggregateScheduledTask = exports.AggregateAction = exports.AdminTask = exports.AdminScheduledTask = exports.AdminAsyncAction = exports.AdminAssetTransaction = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTitle = exports.AccountingReport = exports.AcceptedOffer = void 0;
4
- exports.WebSite = exports.rateLimit = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.AsyncAction = exports.TaskDelayed = exports.Task = exports.ScheduledTask = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Person = exports.PendingReservation = exports.PaymentServiceProvider = exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = void 0;
3
+ exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateAssetTransaction = exports.AggregateTransaction = exports.AggregateTask = exports.AggregateScheduledTask = exports.AggregateAction = exports.AdminTransaction = exports.AdminTask = exports.AdminScheduledTask = exports.AdminAsyncAction = exports.AdminAssetTransaction = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTitle = exports.AccountingReport = exports.AcceptedOffer = void 0;
4
+ exports.WebSite = exports.rateLimit = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.AsyncAction = exports.TaskDelayed = exports.Task = exports.ScheduledTask = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Person = exports.PendingReservation = exports.PaymentServiceProvider = exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = exports.OrderNumber = void 0;
5
5
  var AcceptedOffer;
6
6
  (function (AcceptedOffer) {
7
7
  let repo;
@@ -214,6 +214,17 @@ var AdminTask;
214
214
  }
215
215
  AdminTask.createInstance = createInstance;
216
216
  })(AdminTask || (exports.AdminTask = AdminTask = {}));
217
+ var AdminTransaction;
218
+ (function (AdminTransaction) {
219
+ let repo;
220
+ async function createInstance(...params) {
221
+ if (repo === undefined) {
222
+ repo = (await import('./repo/adminTransaction.js')).AdminTransactionRepo;
223
+ }
224
+ return new repo(...params);
225
+ }
226
+ AdminTransaction.createInstance = createInstance;
227
+ })(AdminTransaction || (exports.AdminTransaction = AdminTransaction = {}));
217
228
  var AggregateAction;
218
229
  (function (AggregateAction) {
219
230
  let repo;
@@ -247,6 +258,17 @@ var AggregateTask;
247
258
  }
248
259
  AggregateTask.createInstance = createInstance;
249
260
  })(AggregateTask || (exports.AggregateTask = AggregateTask = {}));
261
+ var AggregateTransaction;
262
+ (function (AggregateTransaction) {
263
+ let repo;
264
+ async function createInstance(...params) {
265
+ if (repo === undefined) {
266
+ repo = (await import('./repo/aggregateTransaction.js')).AggregateTransactionRepo;
267
+ }
268
+ return new repo(...params);
269
+ }
270
+ AggregateTransaction.createInstance = createInstance;
271
+ })(AggregateTransaction || (exports.AggregateTransaction = AggregateTransaction = {}));
250
272
  var AggregateAssetTransaction;
251
273
  (function (AggregateAssetTransaction) {
252
274
  let repo;
@@ -646,17 +668,6 @@ var OrderNumber;
646
668
  }
647
669
  OrderNumber.createInstance = createInstance;
648
670
  })(OrderNumber || (exports.OrderNumber = OrderNumber = {}));
649
- var OwnershipInfo;
650
- (function (OwnershipInfo) {
651
- let repo;
652
- async function createInstance(...params) {
653
- if (repo === undefined) {
654
- repo = (await import('./repo/ownershipInfo.js')).OwnershipInfoRepo;
655
- }
656
- return new repo(...params);
657
- }
658
- OwnershipInfo.createInstance = createInstance;
659
- })(OwnershipInfo || (exports.OwnershipInfo = OwnershipInfo = {}));
660
671
  var Passport;
661
672
  (function (Passport) {
662
673
  let repo;
@@ -2,10 +2,10 @@ import type { AggregateActionRepo } from '../../repo/aggregateAction';
2
2
  import type { AggregateAssetTransactionRepo } from '../../repo/aggregateAssetTransaction';
3
3
  import type { AggregateScheduledTaskRepo } from '../../repo/aggregateScheduledTask';
4
4
  import type { AggregateTaskRepo } from '../../repo/aggregateTask';
5
+ import type { AggregateTransactionRepo } from '../../repo/aggregateTransaction';
5
6
  import type { AggregationRepo } from '../../repo/aggregation';
6
7
  import type { EventRepo } from '../../repo/event';
7
8
  import type { OrderRepo } from '../../repo/order';
8
- import type { TransactionRepo } from '../../repo/transaction';
9
9
  type AggregateDurationUnit = 'days' | 'hours';
10
10
  interface IAggregateParams {
11
11
  aggregateDate: Date;
@@ -37,7 +37,7 @@ declare function aggregatePlaceOrder(params: IAggregateParams & {
37
37
  clientIds?: string[];
38
38
  }): (repos: {
39
39
  agregation: AggregationRepo;
40
- transaction: TransactionRepo;
40
+ aggregateTransaction: AggregateTransactionRepo;
41
41
  }) => Promise<{
42
42
  aggregationCount: number;
43
43
  aggregateDuration: string;
@@ -134,7 +134,7 @@ function aggregatePlaceOrder(params) {
134
134
  .add(-i, params.aggregateDurationUnit)
135
135
  .endOf(params.aggregateDurationUnit)
136
136
  .toDate();
137
- const aggregateResult = await repos.transaction.aggregatePlaceOrder({
137
+ const aggregateResult = await repos.aggregateTransaction.aggregatePlaceOrder({
138
138
  project: { id: { $ne: params.excludedProjectId } },
139
139
  startFrom,
140
140
  startThrough,
@@ -144,7 +144,7 @@ function aggregatePlaceOrder(params) {
144
144
  const aggregateResultsByClientId = [];
145
145
  if (Array.isArray(params.clientIds)) {
146
146
  for (const clientId of params.clientIds) {
147
- const aggregateResultByClientId = await repos.transaction.aggregatePlaceOrder({
147
+ const aggregateResultByClientId = await repos.aggregateTransaction.aggregatePlaceOrder({
148
148
  project: { id: { $ne: params.excludedProjectId } },
149
149
  startFrom,
150
150
  startThrough,
@@ -37,12 +37,11 @@ exports.call = call;
37
37
  const acceptedOffer_1 = require("../../repo/acceptedOffer");
38
38
  const accountingReport_1 = require("../../repo/accountingReport");
39
39
  const action_1 = require("../../repo/action");
40
+ const adminTransaction_1 = require("../../repo/adminTransaction");
40
41
  const assetTransaction_1 = require("../../repo/assetTransaction");
41
- // import { MessageRepo } from '../../repo/message';
42
42
  const note_1 = require("../../repo/note");
43
43
  const order_1 = require("../../repo/order");
44
44
  const reservation_1 = require("../../repo/reservation");
45
- const transaction_1 = require("../../repo/transaction");
46
45
  const placeOrder_1 = require("../../repo/transaction/placeOrder");
47
46
  const returnOrder_1 = require("../../repo/transaction/returnOrder");
48
47
  const TransactionService = __importStar(require("../transaction"));
@@ -56,12 +55,11 @@ function call(params) {
56
55
  acceptedOffer: new acceptedOffer_1.AcceptedOfferRepo(connection),
57
56
  accountingReport: new accountingReport_1.AccountingReportRepo(connection),
58
57
  action: new action_1.ActionRepo(connection),
58
+ adminTransaction: new adminTransaction_1.AdminTransactionRepo(connection),
59
59
  assetTransaction: new assetTransaction_1.AssetTransactionRepo(connection),
60
- // message: new MessageRepo(connection),
61
60
  note: new note_1.NoteRepo(connection),
62
61
  order: new order_1.OrderRepo(connection),
63
62
  reservation: new reservation_1.ReservationRepo(connection),
64
- transaction: new transaction_1.TransactionRepo(connection),
65
63
  placeOrder: new placeOrder_1.PlaceOrderRepo(connection),
66
64
  returnOrder: new returnOrder_1.ReturnOrderRepo(connection),
67
65
  });
@@ -2,22 +2,22 @@ import { factory } from '../../factory';
2
2
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
3
3
  import type { AccountingReportRepo } from '../../repo/accountingReport';
4
4
  import type { ActionRepo } from '../../repo/action';
5
+ import type { AdminTransactionRepo } from '../../repo/adminTransaction';
5
6
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
6
7
  import type { NoteRepo } from '../../repo/note';
7
8
  import type { OrderRepo } from '../../repo/order';
8
9
  import type { ReservationRepo } from '../../repo/reservation';
9
- import type { TransactionRepo } from '../../repo/transaction';
10
10
  import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
11
11
  import type { ReturnOrderRepo } from '../../repo/transaction/returnOrder';
12
12
  interface IDeleteTransactionRepos {
13
13
  acceptedOffer: AcceptedOfferRepo;
14
14
  accountingReport: AccountingReportRepo;
15
15
  action: ActionRepo;
16
+ adminTransaction: AdminTransactionRepo;
16
17
  assetTransaction: AssetTransactionRepo;
17
18
  note: NoteRepo;
18
19
  order: OrderRepo;
19
20
  reservation: ReservationRepo;
20
- transaction: TransactionRepo;
21
21
  placeOrder: PlaceOrderRepo;
22
22
  returnOrder: ReturnOrderRepo;
23
23
  }
@@ -132,13 +132,13 @@ function deleteTransactionById(params) {
132
132
  // })(repos);
133
133
  // deleteMessagessResult = deleteMessagesByPlaceOrderResult.deleteResult;
134
134
  // 取引削除
135
- await repos.transaction.findByIdAndDelete({ id: transaction.id });
135
+ await repos.adminTransaction.findByIdAndDelete({ id: transaction.id });
136
136
  break;
137
137
  }
138
138
  // implemented(2022-06-09~)
139
139
  case factory_1.factory.transactionType.ReturnOrder:
140
140
  // 取引削除
141
- await repos.transaction.findByIdAndDelete({ id: transaction.id });
141
+ await repos.adminTransaction.findByIdAndDelete({ id: transaction.id });
142
142
  break;
143
143
  default:
144
144
  throw new factory_1.factory.errors.NotImplemented(`${transactionTypeOf} not implemented`);
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.1090.0",
13
13
  "@aws-sdk/credential-providers": "3.1090.0",
14
- "@chevre/factory": "10.3.0-alpha.3",
14
+ "@chevre/factory": "10.3.0-alpha.4",
15
15
  "@motionpicture/coa-service": "10.0.0",
16
16
  "@motionpicture/gmo-service": "6.1.0-alpha.0",
17
17
  "@sendgrid/client": "8.1.4",
@@ -88,5 +88,5 @@
88
88
  "postversion": "git push origin --tags",
89
89
  "prepublishOnly": "npm run clean && npm run build"
90
90
  },
91
- "version": "26.0.0-alpha.26"
91
+ "version": "26.0.0-alpha.27"
92
92
  }
@@ -1,13 +0,0 @@
1
- import { IndexDefinition, IndexOptions, Model, Schema, SchemaDefinition } from 'mongoose';
2
- import { IVirtuals } from '../virtuals';
3
- import { factory } from '../../../factory';
4
- type IDocType = Omit<factory.ownershipInfo.IOwnershipInfo<factory.ownershipInfo.IGood>, 'id'> & {
5
- _id: string;
6
- };
7
- type IModel = Model<IDocType, Record<string, never>, Record<string, never>, IVirtuals>;
8
- type ISchemaDefinition = SchemaDefinition<IDocType>;
9
- type ISchema = Schema<IDocType, IModel, Record<string, never>, Record<string, never>, IVirtuals, Record<string, never>, ISchemaDefinition, IDocType>;
10
- declare const modelName = "OwnershipInfo";
11
- declare const indexes: [d: IndexDefinition, o: IndexOptions][];
12
- declare function createSchema(): ISchema;
13
- export { createSchema, IDocType, IModel, indexes, modelName };
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.modelName = exports.indexes = void 0;
4
- exports.createSchema = createSchema;
5
- const mongoose_1 = require("mongoose");
6
- const writeConcern_1 = require("../writeConcern");
7
- const settings_1 = require("../../../settings");
8
- const modelName = 'OwnershipInfo';
9
- exports.modelName = modelName;
10
- const schemaDefinition = {
11
- project: { type: mongoose_1.SchemaTypes.Mixed, required: true },
12
- _id: String,
13
- typeOf: { type: String, required: true },
14
- identifier: { type: String, required: true },
15
- ownedBy: mongoose_1.SchemaTypes.Mixed,
16
- acquiredFrom: mongoose_1.SchemaTypes.Mixed,
17
- ownedFrom: { type: Date, required: true },
18
- ownedThrough: { type: Date, required: true },
19
- typeOfGood: mongoose_1.SchemaTypes.Mixed
20
- };
21
- const schemaOptions = {
22
- autoIndex: settings_1.MONGO_AUTO_INDEX,
23
- autoCreate: false,
24
- collection: 'ownershipInfos',
25
- id: true,
26
- read: 'primary',
27
- writeConcern: writeConcern_1.writeConcern,
28
- strict: true,
29
- strictQuery: false,
30
- timestamps: false,
31
- versionKey: false,
32
- toJSON: {
33
- getters: false,
34
- virtuals: false,
35
- minimize: false,
36
- versionKey: false
37
- },
38
- toObject: {
39
- getters: false,
40
- virtuals: true,
41
- minimize: false,
42
- versionKey: false
43
- }
44
- };
45
- const indexes = [
46
- [
47
- // 識別子はユニークな前提
48
- { identifier: 1 },
49
- {
50
- unique: true,
51
- name: 'uniqueIdentifier'
52
- }
53
- ],
54
- [
55
- { ownedFrom: -1 },
56
- { name: 'searchByOwnedFrom-v3' }
57
- ],
58
- [
59
- { 'project.id': 1, ownedFrom: -1 },
60
- { name: 'searchByProjectId-v20220721' }
61
- ],
62
- [
63
- { ownedThrough: 1, ownedFrom: -1 },
64
- { name: 'ownedThrough' }
65
- ]
66
- ];
67
- exports.indexes = indexes;
68
- /**
69
- * 所有権スキーマ
70
- */
71
- let schema;
72
- function createSchema() {
73
- if (schema === undefined) {
74
- schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
75
- if (settings_1.MONGO_AUTO_INDEX) {
76
- indexes.forEach((indexParams) => {
77
- schema?.index(...indexParams);
78
- });
79
- }
80
- }
81
- return schema;
82
- }
@@ -1,20 +0,0 @@
1
- import type { Connection, FilterQuery } from 'mongoose';
2
- import { IDocType } from './mongoose/schemas/ownershipInfo';
3
- import { factory } from '../factory';
4
- type IOwnershipInfoWithId = factory.ownershipInfo.IOwnershipInfo<factory.ownershipInfo.IGood> & {
5
- id: string;
6
- };
7
- type IFindParams = factory.ownershipInfo.ISearchConditions;
8
- /**
9
- * 所有権リポジトリ
10
- */
11
- export declare class OwnershipInfoRepo {
12
- private readonly ownershipInfoModel;
13
- constructor(connection: Connection);
14
- static CREATE_MONGO_CONDITIONS(params: Pick<IFindParams, 'ownedFromGte' | 'ownedFromLte' | 'project'>): FilterQuery<IDocType>[];
15
- /**
16
- * 所有権を検索する
17
- */
18
- findOwnershipInfos(params: IFindParams, inclusion?: (keyof IOwnershipInfoWithId)[]): Promise<IOwnershipInfoWithId[]>;
19
- }
20
- export {};
@@ -1,130 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OwnershipInfoRepo = void 0;
4
- // import { v4 } from 'uuid';
5
- const ownershipInfo_1 = require("./mongoose/schemas/ownershipInfo");
6
- const settings_1 = require("../settings");
7
- /**
8
- * 所有権リポジトリ
9
- */
10
- class OwnershipInfoRepo {
11
- ownershipInfoModel;
12
- constructor(connection) {
13
- this.ownershipInfoModel = connection.model(ownershipInfo_1.modelName, (0, ownershipInfo_1.createSchema)());
14
- }
15
- static CREATE_MONGO_CONDITIONS(params) {
16
- const andConditions = [];
17
- const projectIdEq = params.project?.id?.$eq;
18
- if (typeof projectIdEq === 'string') {
19
- andConditions.push({ 'project.id': { $eq: projectIdEq } });
20
- }
21
- const ownedFromGte = params.ownedFromGte;
22
- if (ownedFromGte instanceof Date) {
23
- andConditions.push({
24
- ownedFrom: { $gte: ownedFromGte }
25
- });
26
- }
27
- const ownedFromLte = params.ownedFromLte;
28
- if (ownedFromLte instanceof Date) {
29
- andConditions.push({
30
- ownedFrom: { $lte: ownedFromLte }
31
- });
32
- }
33
- return andConditions;
34
- }
35
- // /**
36
- // * なければ作成する
37
- // */
38
- // public async createIfNotExistByIdentifier(ownershipInfo: Omit<IOwnershipInfoWithId, 'id'>): Promise<{ id: string }> {
39
- // let doc: { id: string } | undefined | null;
40
- // let duplicate = false;
41
- // try {
42
- // doc = await this.ownershipInfoModel.findOneAndUpdate(
43
- // { identifier: { $eq: ownershipInfo.identifier } },
44
- // {
45
- // // insert時以外は何もしなくてもよい
46
- // $setOnInsert: {
47
- // ...ownershipInfo,
48
- // _id: v4() // 新規作成時は所有権ID発行
49
- // }
50
- // },
51
- // {
52
- // new: true,
53
- // upsert: true,
54
- // projection: {
55
- // _id: 0,
56
- // id: { $toString: '$_id' }
57
- // }
58
- // }
59
- // )
60
- // .lean<{ id: string }>()
61
- // .exec();
62
- // } catch (error) {
63
- // if (await isMongoDuplicateError(error)) {
64
- // // すでに所有権が存在する場合ok
65
- // duplicate = true;
66
- // }
67
- // if (!duplicate) {
68
- // throw error;
69
- // }
70
- // }
71
- // if (duplicate) {
72
- // // 重複の場合、再度取得
73
- // doc = await this.ownershipInfoModel.findOne(
74
- // { identifier: { $eq: ownershipInfo.identifier } },
75
- // {
76
- // _id: 0,
77
- // id: { $toString: '$_id' }
78
- // }
79
- // )
80
- // .lean<{ id: string }>()
81
- // .exec();
82
- // }
83
- // if (doc === undefined || doc === null) {
84
- // throw new factory.errors.NotFound(this.ownershipInfoModel.modelName);
85
- // }
86
- // return { id: doc.id };
87
- // }
88
- /**
89
- * 所有権を検索する
90
- */
91
- async findOwnershipInfos(params, inclusion) {
92
- const conditions = OwnershipInfoRepo.CREATE_MONGO_CONDITIONS(params);
93
- let projection = {
94
- _id: 0,
95
- id: { $toString: '$_id' },
96
- project: 1,
97
- typeOf: 1,
98
- identifier: 1,
99
- ownedBy: 1,
100
- acquiredFrom: 1,
101
- ownedFrom: 1,
102
- ownedThrough: 1,
103
- typeOfGood: 1
104
- };
105
- const positiveProjectionFields = (Array.isArray(inclusion))
106
- ? inclusion.filter((key) => key !== 'id' && String(key) !== '_id')
107
- : undefined;
108
- if (Array.isArray(positiveProjectionFields)) {
109
- projection = {
110
- _id: 0,
111
- id: { $toString: '$_id' },
112
- ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
113
- };
114
- }
115
- const query = this.ownershipInfoModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
116
- if (typeof params.limit === 'number' && params.limit > 0) {
117
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
118
- query.limit(params.limit)
119
- .skip(params.limit * (page - 1));
120
- }
121
- /* istanbul ignore else */
122
- if (params.sort?.ownedFrom !== undefined) {
123
- query.sort({ ownedFrom: params.sort.ownedFrom });
124
- }
125
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
126
- .lean() // lean(2024-08-19~)
127
- .exec();
128
- }
129
- }
130
- exports.OwnershipInfoRepo = OwnershipInfoRepo;