@chevre/domain 21.12.0 → 21.13.0-alpha.0

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.
Files changed (113) hide show
  1. package/lib/chevre/repo/account.js +1 -1
  2. package/lib/chevre/repo/accountTitle.js +1 -1
  3. package/lib/chevre/repo/accountTransaction.js +1 -1
  4. package/lib/chevre/repo/accountingReport.js +1 -1
  5. package/lib/chevre/repo/action.js +1 -1
  6. package/lib/chevre/repo/additionalProperty.js +1 -1
  7. package/lib/chevre/repo/aggregateOffer.js +1 -1
  8. package/lib/chevre/repo/aggregation.js +1 -1
  9. package/lib/chevre/repo/assetTransaction.js +1 -1
  10. package/lib/chevre/repo/categoryCode.js +1 -1
  11. package/lib/chevre/repo/code.js +1 -1
  12. package/lib/chevre/repo/comment.js +1 -1
  13. package/lib/chevre/repo/creativeWork.js +1 -1
  14. package/lib/chevre/repo/customer.js +1 -1
  15. package/lib/chevre/repo/emailMessage.js +1 -1
  16. package/lib/chevre/repo/event.js +1 -1
  17. package/lib/chevre/repo/member.js +1 -1
  18. package/lib/chevre/repo/merchantReturnPolicy.js +1 -1
  19. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -56
  20. package/lib/chevre/repo/mongoose/schemas/account.js +80 -32
  21. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +4 -90
  22. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +81 -44
  23. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +4 -95
  24. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +129 -62
  25. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +4 -68
  26. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +108 -63
  27. package/lib/chevre/repo/mongoose/schemas/action.d.ts +4 -113
  28. package/lib/chevre/repo/mongoose/schemas/action.js +345 -215
  29. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +4 -74
  30. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +65 -32
  31. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +4 -73
  32. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +258 -155
  33. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -56
  34. package/lib/chevre/repo/mongoose/schemas/aggregation.js +28 -10
  35. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +4 -113
  36. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +258 -146
  37. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +4 -77
  38. package/lib/chevre/repo/mongoose/schemas/authorization.js +110 -61
  39. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +4 -86
  40. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +85 -46
  41. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +4 -89
  42. package/lib/chevre/repo/mongoose/schemas/comments.js +59 -28
  43. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +4 -104
  44. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +121 -70
  45. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +4 -86
  46. package/lib/chevre/repo/mongoose/schemas/customer.js +56 -26
  47. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +4 -80
  48. package/lib/chevre/repo/mongoose/schemas/emailMessages.js +41 -17
  49. package/lib/chevre/repo/mongoose/schemas/event.d.ts +4 -158
  50. package/lib/chevre/repo/mongoose/schemas/event.js +307 -193
  51. package/lib/chevre/repo/mongoose/schemas/member.d.ts +4 -68
  52. package/lib/chevre/repo/mongoose/schemas/member.js +65 -37
  53. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +4 -80
  54. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +29 -11
  55. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +4 -91
  56. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +85 -45
  57. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +4 -91
  58. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +29 -10
  59. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +4 -73
  60. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +37 -12
  61. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -128
  62. package/lib/chevre/repo/mongoose/schemas/order.js +407 -259
  63. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +4 -86
  64. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +187 -111
  65. package/lib/chevre/repo/mongoose/schemas/place.d.ts +4 -128
  66. package/lib/chevre/repo/mongoose/schemas/place.js +159 -93
  67. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +4 -92
  68. package/lib/chevre/repo/mongoose/schemas/priceSpecification.js +94 -49
  69. package/lib/chevre/repo/mongoose/schemas/product.d.ts +4 -95
  70. package/lib/chevre/repo/mongoose/schemas/product.js +109 -61
  71. package/lib/chevre/repo/mongoose/schemas/project.d.ts +4 -83
  72. package/lib/chevre/repo/mongoose/schemas/project.js +20 -9
  73. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +4 -143
  74. package/lib/chevre/repo/mongoose/schemas/reservation.js +377 -229
  75. package/lib/chevre/repo/mongoose/schemas/role.d.ts +4 -65
  76. package/lib/chevre/repo/mongoose/schemas/role.js +43 -19
  77. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +4 -95
  78. package/lib/chevre/repo/mongoose/schemas/seller.js +96 -51
  79. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +4 -65
  80. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +112 -63
  81. package/lib/chevre/repo/mongoose/schemas/task.d.ts +4 -95
  82. package/lib/chevre/repo/mongoose/schemas/task.js +214 -126
  83. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +4 -80
  84. package/lib/chevre/repo/mongoose/schemas/telemetry.js +44 -24
  85. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +4 -107
  86. package/lib/chevre/repo/mongoose/schemas/transaction.js +291 -176
  87. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -65
  88. package/lib/chevre/repo/mongoose/schemas/trip.js +20 -9
  89. package/lib/chevre/repo/offer.js +3 -3
  90. package/lib/chevre/repo/offerCatalog.js +1 -1
  91. package/lib/chevre/repo/offerCatalogItem.js +1 -1
  92. package/lib/chevre/repo/offerItemCondition.js +1 -1
  93. package/lib/chevre/repo/order.js +1 -1
  94. package/lib/chevre/repo/ownershipInfo.js +1 -1
  95. package/lib/chevre/repo/paymentServiceProvider.js +1 -1
  96. package/lib/chevre/repo/permit.js +1 -1
  97. package/lib/chevre/repo/place/hasPOS.js +1 -1
  98. package/lib/chevre/repo/place.js +1 -1
  99. package/lib/chevre/repo/priceSpecification.js +1 -1
  100. package/lib/chevre/repo/product.js +1 -1
  101. package/lib/chevre/repo/productOffer.js +1 -1
  102. package/lib/chevre/repo/project.js +1 -1
  103. package/lib/chevre/repo/reservation.js +1 -1
  104. package/lib/chevre/repo/role.js +1 -1
  105. package/lib/chevre/repo/seller.js +1 -1
  106. package/lib/chevre/repo/serviceOutput.js +1 -1
  107. package/lib/chevre/repo/task.js +1 -1
  108. package/lib/chevre/repo/telemetry.js +1 -1
  109. package/lib/chevre/repo/transaction.js +1 -1
  110. package/lib/chevre/repo/trip.js +1 -1
  111. package/lib/chevre/settings.d.ts +1 -0
  112. package/lib/chevre/settings.js +2 -1
  113. package/package.json +1 -1
@@ -1,96 +1,5 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- import { Schema } from 'mongoose';
1
+ import { IndexDefinition, IndexOptions, Schema } from 'mongoose';
26
2
  declare const modelName = "AccountTransaction";
27
- /**
28
- * 口座取引スキーマ
29
- */
30
- declare const schema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
31
- collection: string;
32
- id: true;
33
- read: string;
34
- writeConcern: import("mongodb").WriteConcern;
35
- strict: true;
36
- strictQuery: false;
37
- useNestedStrict: boolean;
38
- timestamps: {
39
- createdAt: string;
40
- updatedAt: string;
41
- };
42
- toJSON: {
43
- getters: false;
44
- virtuals: false;
45
- minimize: false;
46
- versionKey: false;
47
- };
48
- toObject: {
49
- getters: false;
50
- virtuals: true;
51
- minimize: false;
52
- versionKey: false;
53
- };
54
- }, {
55
- typeOf: string;
56
- status: string;
57
- transactionNumber: string;
58
- object?: any;
59
- expires?: Date | undefined;
60
- project?: any;
61
- identifier?: string | undefined;
62
- agent?: any;
63
- recipient?: any;
64
- startDate?: Date | undefined;
65
- endDate?: Date | undefined;
66
- potentialActions?: any;
67
- }, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
68
- typeOf: string;
69
- status: string;
70
- transactionNumber: string;
71
- object?: any;
72
- expires?: Date | undefined;
73
- project?: any;
74
- identifier?: string | undefined;
75
- agent?: any;
76
- recipient?: any;
77
- startDate?: Date | undefined;
78
- endDate?: Date | undefined;
79
- potentialActions?: any;
80
- }>> & Omit<import("mongoose").FlatRecord<{
81
- typeOf: string;
82
- status: string;
83
- transactionNumber: string;
84
- object?: any;
85
- expires?: Date | undefined;
86
- project?: any;
87
- identifier?: string | undefined;
88
- agent?: any;
89
- recipient?: any;
90
- startDate?: Date | undefined;
91
- endDate?: Date | undefined;
92
- potentialActions?: any;
93
- }> & {
94
- _id: import("mongoose").Types.ObjectId;
95
- }, never>>;
96
- export { modelName, schema };
3
+ declare function createSchema(): Schema;
4
+ declare const indexes: [d: IndexDefinition, o: IndexOptions][];
5
+ export { modelName, indexes, createSchema };
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = exports.modelName = void 0;
3
+ exports.createSchema = exports.indexes = exports.modelName = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const writeConcern_1 = require("../writeConcern");
6
+ const settings_1 = require("../../../settings");
6
7
  const modelName = 'AccountTransaction';
7
8
  exports.modelName = modelName;
8
- /**
9
- * 口座取引スキーマ
10
- */
11
- const schema = new mongoose_1.Schema({
9
+ const schemaDefinition = {
12
10
  project: mongoose_1.SchemaTypes.Mixed,
13
11
  status: {
14
12
  type: String,
@@ -30,14 +28,16 @@ const schema = new mongoose_1.Schema({
30
28
  startDate: Date,
31
29
  endDate: Date,
32
30
  potentialActions: mongoose_1.SchemaTypes.Mixed
33
- }, {
31
+ };
32
+ const schemaOptions = {
33
+ autoIndex: settings_1.MONGO_AUTO_INDEX,
34
+ autoCreate: false,
34
35
  collection: 'accountTransactions',
35
36
  id: true,
36
37
  read: 'primary',
37
38
  writeConcern: writeConcern_1.writeConcern,
38
39
  strict: true,
39
40
  strictQuery: false,
40
- useNestedStrict: true,
41
41
  timestamps: {
42
42
  createdAt: 'createdAt',
43
43
  updatedAt: 'updatedAt'
@@ -54,59 +54,126 @@ const schema = new mongoose_1.Schema({
54
54
  minimize: false,
55
55
  versionKey: false
56
56
  }
57
- });
58
- exports.schema = schema;
59
- schema.index({ createdAt: 1 }, { name: 'searchByCreatedAt' });
60
- schema.index({ updatedAt: 1 }, { name: 'searchByUpdatedAt' });
61
- schema.index({ transactionNumber: 1 }, {
62
- unique: true,
63
- partialFilterExpression: {
64
- transactionNumber: { $exists: true }
65
- }
66
- });
67
- schema.index({ transactionNumber: 1, startDate: -1 }, { name: 'searchByTransactionNumber' });
68
- schema.index({ identifier: 1, startDate: -1 }, {
69
- name: 'searchByIdentifier',
70
- partialFilterExpression: {
71
- identifier: { $exists: true }
72
- }
73
- });
74
- schema.index({ 'project.id': 1, startDate: -1 }, { name: 'searchByProjectId-v20220721' });
75
- schema.index({ typeOf: 1, startDate: -1 }, { name: 'searchByTypeOfAndStartDate' });
76
- schema.index({ status: 1, startDate: -1 }, { name: 'searchByStatusAndStartDate' });
77
- schema.index({ startDate: -1 }, { name: 'searchByStartDateDescending' });
78
- schema.index({ endDate: 1, startDate: -1 }, {
79
- name: 'searchByEndDateAndStartDate',
80
- partialFilterExpression: {
81
- endDate: { $exists: true }
82
- }
83
- });
84
- schema.index({ expires: 1, startDate: -1 }, { name: 'searchByExpiresAndStartDate' });
85
- schema.index({ tasksExportationStatus: 1, startDate: -1 }, { name: 'searchByTasksExportationStatusAndStartDate' });
86
- schema.index({ tasksExportedAt: 1, startDate: -1 }, {
87
- name: 'searchByTasksExportedAtAndStartDate',
88
- partialFilterExpression: {
89
- tasksExportedAt: { $exists: true }
90
- }
91
- });
92
- schema.index({ 'object.fromLocation.accountNumber': 1, startDate: -1 }, {
93
- name: 'searchByObjectFromLocationAccountNumber',
94
- partialFilterExpression: {
95
- 'object.fromLocation.accountNumber': { $exists: true }
96
- }
97
- });
98
- schema.index({ 'object.toLocation.accountNumber': 1, startDate: -1 }, {
99
- name: 'searchByObjectToLocationAccountNumber',
100
- partialFilterExpression: {
101
- 'object.toLocation.accountNumber': { $exists: true }
57
+ };
58
+ /**
59
+ * 口座取引スキーマ
60
+ */
61
+ let schema;
62
+ function createSchema() {
63
+ if (schema === undefined) {
64
+ schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
102
65
  }
103
- });
104
- schema.index({ typeOf: 1, status: 1, tasksExportationStatus: 1 }, {
105
- name: 'startExportTasks'
106
- });
107
- schema.index({ tasksExportationStatus: 1, updatedAt: 1 }, {
108
- name: 'reexportTasks'
109
- });
110
- schema.index({ status: 1, expires: 1 }, {
111
- name: 'makeExpired'
112
- });
66
+ return schema;
67
+ }
68
+ exports.createSchema = createSchema;
69
+ const indexes = [
70
+ [
71
+ { createdAt: 1 },
72
+ { name: 'searchByCreatedAt' }
73
+ ],
74
+ [
75
+ { updatedAt: 1 },
76
+ { name: 'searchByUpdatedAt' }
77
+ ],
78
+ [
79
+ { transactionNumber: 1 },
80
+ {
81
+ unique: true,
82
+ partialFilterExpression: {
83
+ transactionNumber: { $exists: true }
84
+ }
85
+ }
86
+ ],
87
+ [
88
+ { transactionNumber: 1, startDate: -1 },
89
+ { name: 'searchByTransactionNumber' }
90
+ ],
91
+ [
92
+ { identifier: 1, startDate: -1 },
93
+ {
94
+ name: 'searchByIdentifier',
95
+ partialFilterExpression: {
96
+ identifier: { $exists: true }
97
+ }
98
+ }
99
+ ],
100
+ [
101
+ { 'project.id': 1, startDate: -1 },
102
+ { name: 'searchByProjectId-v20220721' }
103
+ ],
104
+ [
105
+ { typeOf: 1, startDate: -1 },
106
+ { name: 'searchByTypeOfAndStartDate' }
107
+ ],
108
+ [
109
+ { status: 1, startDate: -1 },
110
+ { name: 'searchByStatusAndStartDate' }
111
+ ],
112
+ [
113
+ { startDate: -1 },
114
+ { name: 'searchByStartDateDescending' }
115
+ ],
116
+ [
117
+ { endDate: 1, startDate: -1 },
118
+ {
119
+ name: 'searchByEndDateAndStartDate',
120
+ partialFilterExpression: {
121
+ endDate: { $exists: true }
122
+ }
123
+ }
124
+ ],
125
+ [
126
+ { expires: 1, startDate: -1 },
127
+ { name: 'searchByExpiresAndStartDate' }
128
+ ],
129
+ [
130
+ { tasksExportationStatus: 1, startDate: -1 },
131
+ { name: 'searchByTasksExportationStatusAndStartDate' }
132
+ ],
133
+ [
134
+ { tasksExportedAt: 1, startDate: -1 },
135
+ {
136
+ name: 'searchByTasksExportedAtAndStartDate',
137
+ partialFilterExpression: {
138
+ tasksExportedAt: { $exists: true }
139
+ }
140
+ }
141
+ ],
142
+ [
143
+ { 'object.fromLocation.accountNumber': 1, startDate: -1 },
144
+ {
145
+ name: 'searchByObjectFromLocationAccountNumber',
146
+ partialFilterExpression: {
147
+ 'object.fromLocation.accountNumber': { $exists: true }
148
+ }
149
+ }
150
+ ],
151
+ [
152
+ { 'object.toLocation.accountNumber': 1, startDate: -1 },
153
+ {
154
+ name: 'searchByObjectToLocationAccountNumber',
155
+ partialFilterExpression: {
156
+ 'object.toLocation.accountNumber': { $exists: true }
157
+ }
158
+ }
159
+ ],
160
+ [
161
+ { typeOf: 1, status: 1, tasksExportationStatus: 1 },
162
+ {
163
+ name: 'startExportTasks'
164
+ }
165
+ ],
166
+ [
167
+ { tasksExportationStatus: 1, updatedAt: 1 },
168
+ {
169
+ name: 'reexportTasks'
170
+ }
171
+ ],
172
+ [
173
+ { status: 1, expires: 1 },
174
+ {
175
+ name: 'makeExpired'
176
+ }
177
+ ]
178
+ ];
179
+ exports.indexes = indexes;
@@ -1,69 +1,5 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- import { Schema } from 'mongoose';
1
+ import { IndexDefinition, IndexOptions, Schema } from 'mongoose';
26
2
  declare const modelName = "AccountingReport";
27
- /**
28
- * 経理レポートスキーマ
29
- */
30
- declare const schema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
31
- collection: string;
32
- id: true;
33
- read: string;
34
- writeConcern: import("mongodb").WriteConcern;
35
- strict: false;
36
- strictQuery: false;
37
- useNestedStrict: boolean;
38
- timestamps: {
39
- createdAt: string;
40
- updatedAt: string;
41
- };
42
- toJSON: {
43
- getters: false;
44
- virtuals: false;
45
- minimize: false;
46
- versionKey: false;
47
- };
48
- toObject: {
49
- getters: false;
50
- virtuals: true;
51
- minimize: false;
52
- versionKey: false;
53
- };
54
- }, {
55
- hasPart: (typeof Schema.Types.Mixed)[];
56
- mainEntity: typeof Schema.Types.Mixed;
57
- project: typeof Schema.Types.Mixed;
58
- }, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
59
- hasPart: (typeof Schema.Types.Mixed)[];
60
- mainEntity: typeof Schema.Types.Mixed;
61
- project: typeof Schema.Types.Mixed;
62
- }>> & Omit<import("mongoose").FlatRecord<{
63
- hasPart: (typeof Schema.Types.Mixed)[];
64
- mainEntity: typeof Schema.Types.Mixed;
65
- project: typeof Schema.Types.Mixed;
66
- }> & {
67
- _id: import("mongoose").Types.ObjectId;
68
- }, never>>;
69
- export { modelName, schema };
3
+ declare function createSchema(): Schema;
4
+ declare const indexes: [d: IndexDefinition, o: IndexOptions][];
5
+ export { modelName, indexes, createSchema };
@@ -1,26 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schema = exports.modelName = void 0;
3
+ exports.createSchema = exports.indexes = exports.modelName = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const writeConcern_1 = require("../writeConcern");
6
6
  const settings_1 = require("../../../settings");
7
7
  const modelName = 'AccountingReport';
8
8
  exports.modelName = modelName;
9
- /**
10
- * 経理レポートスキーマ
11
- */
12
- const schema = new mongoose_1.Schema({
9
+ const schemaDefinition = {
13
10
  hasPart: [mongoose_1.SchemaTypes.Mixed],
14
11
  mainEntity: mongoose_1.SchemaTypes.Mixed,
15
12
  project: mongoose_1.SchemaTypes.Mixed
16
- }, {
13
+ };
14
+ const schemaOptions = {
15
+ autoIndex: settings_1.MONGO_AUTO_INDEX,
16
+ autoCreate: false,
17
17
  collection: 'accountingReports',
18
18
  id: true,
19
19
  read: settings_1.MONGO_READ_PREFERENCE,
20
20
  writeConcern: writeConcern_1.writeConcern,
21
21
  strict: false,
22
22
  strictQuery: false,
23
- useNestedStrict: true,
24
23
  timestamps: {
25
24
  createdAt: 'createdAt',
26
25
  updatedAt: 'updatedAt'
@@ -37,60 +36,106 @@ const schema = new mongoose_1.Schema({
37
36
  minimize: false,
38
37
  versionKey: false
39
38
  }
40
- });
41
- exports.schema = schema;
42
- schema.index({ 'mainEntity.orderDate': -1 }, {
43
- name: 'searchByOrderDate'
44
- });
45
- schema.index({ 'mainEntity.orderNumber': 1 }, {
46
- unique: true,
47
- name: 'uniqueOrderNumber'
48
- });
49
- schema.index({ 'project.id': 1, 'mainEntity.orderDate': -1 }, {
50
- name: 'searchByProjectId'
51
- });
52
- schema.index({ 'mainEntity.seller.id': 1, 'mainEntity.orderDate': -1 }, {
53
- name: 'searchBySellerId',
54
- partialFilterExpression: {
55
- 'mainEntity.seller.id': { $exists: true }
56
- }
57
- });
58
- schema.index({ 'mainEntity.orderStatus': 1, 'mainEntity.orderDate': -1 }, {
59
- name: 'searchByOrderStatus'
60
- });
61
- schema.index({ 'mainEntity.confirmationNumber': 1, 'mainEntity.orderDate': -1 }, {
62
- name: 'searchByConfirmationNumber',
63
- partialFilterExpression: {
64
- 'mainEntity.confirmationNumber': { $exists: true }
65
- }
66
- });
67
- schema.index({ 'mainEntity.customer.id': 1, 'mainEntity.orderDate': -1 }, {
68
- name: 'searchByCustomerId',
69
- partialFilterExpression: {
70
- 'mainEntity.customer.id': { $exists: true }
71
- }
72
- });
73
- schema.index({ 'mainEntity.paymentMethods.accountId': 1, 'mainEntity.orderDate': -1 }, {
74
- name: 'searchByPaymentMethodsAccountId',
75
- partialFilterExpression: {
76
- 'mainEntity.paymentMethods.accountId': { $exists: true }
77
- }
78
- });
79
- schema.index({ 'mainEntity.paymentMethods.typeOf': 1, 'mainEntity.orderDate': -1 }, {
80
- name: 'searchByPaymentMethodTypeOf',
81
- partialFilterExpression: {
82
- 'mainEntity.paymentMethods.typeOf': { $exists: true }
83
- }
84
- });
85
- schema.index({ 'mainEntity.paymentMethods.paymentMethodId': 1, 'mainEntity.orderDate': -1 }, {
86
- name: 'searchByPaymentMethodId',
87
- partialFilterExpression: {
88
- 'mainEntity.paymentMethods.paymentMethodId': { $exists: true }
89
- }
90
- });
91
- schema.index({ 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': 1, 'mainEntity.orderDate': -1 }, {
92
- name: 'searchByItemOfferedReservationForStartDate',
93
- partialFilterExpression: {
94
- 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': { $exists: true }
39
+ };
40
+ /**
41
+ * 経理レポートスキーマ
42
+ */
43
+ let schema;
44
+ function createSchema() {
45
+ if (schema === undefined) {
46
+ schema = new mongoose_1.Schema(schemaDefinition, schemaOptions);
95
47
  }
96
- });
48
+ return schema;
49
+ }
50
+ exports.createSchema = createSchema;
51
+ const indexes = [
52
+ [
53
+ { 'mainEntity.orderDate': -1 },
54
+ {
55
+ name: 'searchByOrderDate'
56
+ }
57
+ ],
58
+ [
59
+ { 'mainEntity.orderNumber': 1 },
60
+ {
61
+ unique: true,
62
+ name: 'uniqueOrderNumber'
63
+ }
64
+ ],
65
+ [
66
+ { 'project.id': 1, 'mainEntity.orderDate': -1 },
67
+ {
68
+ name: 'searchByProjectId'
69
+ }
70
+ ],
71
+ [
72
+ { 'mainEntity.seller.id': 1, 'mainEntity.orderDate': -1 },
73
+ {
74
+ name: 'searchBySellerId',
75
+ partialFilterExpression: {
76
+ 'mainEntity.seller.id': { $exists: true }
77
+ }
78
+ }
79
+ ],
80
+ [
81
+ { 'mainEntity.orderStatus': 1, 'mainEntity.orderDate': -1 },
82
+ {
83
+ name: 'searchByOrderStatus'
84
+ }
85
+ ],
86
+ [
87
+ { 'mainEntity.confirmationNumber': 1, 'mainEntity.orderDate': -1 },
88
+ {
89
+ name: 'searchByConfirmationNumber',
90
+ partialFilterExpression: {
91
+ 'mainEntity.confirmationNumber': { $exists: true }
92
+ }
93
+ }
94
+ ],
95
+ [
96
+ { 'mainEntity.customer.id': 1, 'mainEntity.orderDate': -1 },
97
+ {
98
+ name: 'searchByCustomerId',
99
+ partialFilterExpression: {
100
+ 'mainEntity.customer.id': { $exists: true }
101
+ }
102
+ }
103
+ ],
104
+ [
105
+ { 'mainEntity.paymentMethods.accountId': 1, 'mainEntity.orderDate': -1 },
106
+ {
107
+ name: 'searchByPaymentMethodsAccountId',
108
+ partialFilterExpression: {
109
+ 'mainEntity.paymentMethods.accountId': { $exists: true }
110
+ }
111
+ }
112
+ ],
113
+ [
114
+ { 'mainEntity.paymentMethods.typeOf': 1, 'mainEntity.orderDate': -1 },
115
+ {
116
+ name: 'searchByPaymentMethodTypeOf',
117
+ partialFilterExpression: {
118
+ 'mainEntity.paymentMethods.typeOf': { $exists: true }
119
+ }
120
+ }
121
+ ],
122
+ [
123
+ { 'mainEntity.paymentMethods.paymentMethodId': 1, 'mainEntity.orderDate': -1 },
124
+ {
125
+ name: 'searchByPaymentMethodId',
126
+ partialFilterExpression: {
127
+ 'mainEntity.paymentMethods.paymentMethodId': { $exists: true }
128
+ }
129
+ }
130
+ ],
131
+ [
132
+ { 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': 1, 'mainEntity.orderDate': -1 },
133
+ {
134
+ name: 'searchByItemOfferedReservationForStartDate',
135
+ partialFilterExpression: {
136
+ 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': { $exists: true }
137
+ }
138
+ }
139
+ ]
140
+ ];
141
+ exports.indexes = indexes;