@common-stack/store-mongo 7.0.4-alpha.6 → 7.1.1-alpha.4
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/lib/dataloaders/bulk-dataloader.d.ts +4 -6
- package/lib/dataloaders/bulk-dataloader.js +7 -5
- package/lib/dataloaders/bulk-dataloader.js.map +1 -1
- package/lib/dataloaders/bulk-dataloader.test.d.ts +1 -0
- package/lib/graphql/schema/base-services.graphql +1 -0
- package/lib/index.js +1 -1
- package/lib/interfaces/base-repository.d.ts +25 -19
- package/lib/interfaces/base-service.d.ts +18 -19
- package/lib/interfaces/dataloader.d.ts +17 -0
- package/lib/interfaces/get-all-args.d.ts +20 -1
- package/lib/interfaces/{base-repository.js → get-all-args.js} +1 -1
- package/lib/interfaces/get-all-args.js.map +1 -0
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/mixins/base-service-mixin.d.ts +1 -1
- package/lib/mixins/base-service-mixin.js +2 -2
- package/lib/mixins/base-service-mixin.js.map +1 -1
- package/lib/services/base-proxy-service.d.ts +20 -17
- package/lib/services/base-proxy-service.js +3 -0
- package/lib/services/base-proxy-service.js.map +1 -1
- package/lib/services/base-service.d.ts +19 -18
- package/lib/services/base-service.js +13 -11
- package/lib/services/base-service.js.map +1 -1
- package/lib/services/base-service.test.d.ts +1 -0
- package/lib/store/models/common-options.d.ts +3 -2
- package/lib/store/models/common-options.js +23 -3
- package/lib/store/models/common-options.js.map +1 -1
- package/lib/store/repositories/base-repository.d.ts +58 -22
- package/lib/store/repositories/base-repository.js +277 -135
- package/lib/store/repositories/base-repository.js.map +1 -1
- package/lib/store/repositories/base-repository.test.d.ts +1 -0
- package/lib/store/repositories/custom-id-repository.test.d.ts +1 -0
- package/package.json +4 -3
- package/lib/interfaces/base-repository.js.map +0 -1
- package/lib/interfaces/dataloaders.d.ts +0 -10
|
@@ -1,29 +1,65 @@
|
|
|
1
1
|
import { CdmLogger } from '@cdm-logger/core';
|
|
2
|
-
import { Connection,
|
|
3
|
-
import { GetAllArgs, IBaseRepository, IMongoOptions } from '../../interfaces';
|
|
4
|
-
export declare class BaseRepository<
|
|
2
|
+
import { Connection, FilterQuery, Model, PipelineStage, UpdateQuery } from 'mongoose';
|
|
3
|
+
import { GetAllArgs, ISort, IBaseRepository, IMongoOptions, AsDomainType, CreateType, UpdateType } from '../../interfaces';
|
|
4
|
+
export declare class BaseRepository<SchemaType> implements IBaseRepository<SchemaType> {
|
|
5
5
|
private modelFunc;
|
|
6
6
|
private options;
|
|
7
7
|
protected logger: CdmLogger.ILogger;
|
|
8
|
-
model: Model<
|
|
9
|
-
constructor(modelFunc: (db: Connection) => Model<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
model: Model<SchemaType>;
|
|
9
|
+
constructor(modelFunc: (db: Connection) => Model<SchemaType>, db: Connection, logger: CdmLogger.ILogger, options?: IMongoOptions);
|
|
10
|
+
/**
|
|
11
|
+
* Transforms a document to the domain model format
|
|
12
|
+
*/
|
|
13
|
+
protected transformDocument(doc: any): AsDomainType<SchemaType> | null;
|
|
14
|
+
/**
|
|
15
|
+
* Transforms an array of documents
|
|
16
|
+
*/
|
|
17
|
+
protected transformDocuments(docs: SchemaType[]): AsDomainType<SchemaType>[];
|
|
18
|
+
/**
|
|
19
|
+
* Maps API criteria with 'id' to MongoDB criteria with '_id'
|
|
20
|
+
*/
|
|
21
|
+
private mapConditions;
|
|
22
|
+
/**
|
|
23
|
+
* Computes sort object from GetAllArgs sort parameter
|
|
24
|
+
* Handles both string-based and object-based sort specifications
|
|
25
|
+
*/
|
|
26
|
+
protected computeSort(sort: ISort | string | ISort[]): Record<string, 1 | -1>;
|
|
27
|
+
/**
|
|
28
|
+
* Prepares an aggregation pipeline with standard stages
|
|
29
|
+
* @param options Query options including filtering, sorting, pagination
|
|
30
|
+
* @param customPipeline Optional custom pipeline stages to include
|
|
31
|
+
* @returns Complete MongoDB aggregation pipeline
|
|
32
|
+
*/
|
|
33
|
+
protected preparePipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): PipelineStage[];
|
|
34
|
+
/**
|
|
35
|
+
* Execute an aggregation pipeline and transform the results
|
|
36
|
+
*/
|
|
37
|
+
protected aggregate(pipeline: PipelineStage[]): Promise<AsDomainType<SchemaType>[]>;
|
|
38
|
+
count(conditions?: FilterQuery<SchemaType>): Promise<number>;
|
|
39
|
+
get(conditions?: FilterQuery<SchemaType>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
|
|
40
|
+
find(conditions: Partial<FilterQuery<SchemaType>>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
|
|
41
|
+
getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Get all documents using aggregation pipeline
|
|
44
|
+
*/
|
|
45
|
+
getAllWithPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<AsDomainType<SchemaType>[]>;
|
|
46
|
+
getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
|
|
47
|
+
data: AsDomainType<SchemaType>[];
|
|
15
48
|
totalCount: number;
|
|
16
49
|
}>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Get all documents with count using aggregation pipeline
|
|
52
|
+
*/
|
|
53
|
+
getAllWithCountAndPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<{
|
|
54
|
+
data: AsDomainType<SchemaType>[];
|
|
55
|
+
totalCount: number;
|
|
56
|
+
}>;
|
|
57
|
+
create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
|
|
58
|
+
bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
|
|
59
|
+
upsert<T = UpdateType<SchemaType>>(conditions: FilterQuery<SchemaType>, update: T, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
|
|
60
|
+
update<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
|
|
61
|
+
bulkUpdate<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>[]>;
|
|
62
|
+
delete(criteria: FilterQuery<SchemaType>): Promise<boolean>;
|
|
63
|
+
bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
|
|
64
|
+
bulkGet(ids: string[], selectedFields?: string): Promise<AsDomainType<SchemaType>[]>;
|
|
29
65
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {__decorate,__param,__metadata}from'tslib';import {isObject}from'lodash-es';import'@cdm-logger/core';import {Connection,Types}from'mongoose';import {injectable,unmanaged}from'inversify';import {PAGINATION_OPTIONS}from'../../interfaces/
|
|
1
|
+
import {__decorate,__param,__metadata}from'tslib';import {isObject}from'lodash-es';import'@cdm-logger/core';import {Connection,Types}from'mongoose';import {injectable,unmanaged}from'inversify';import {PAGINATION_OPTIONS}from'../../interfaces/get-all-args.js';var BaseRepository_1;
|
|
2
2
|
let BaseRepository = BaseRepository_1 = class BaseRepository {
|
|
3
3
|
modelFunc;
|
|
4
4
|
options;
|
|
@@ -10,143 +10,249 @@ let BaseRepository = BaseRepository_1 = class BaseRepository {
|
|
|
10
10
|
this.options = options;
|
|
11
11
|
this.logger = logger.child({ className: BaseRepository_1.name });
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const { id, ...rest } = mappedCriteria;
|
|
27
|
-
const projectedFields = selectedFields?.split(' ').reduce((acc, key) => ({
|
|
28
|
-
...acc,
|
|
29
|
-
[key]: 1,
|
|
30
|
-
}), {});
|
|
31
|
-
return [
|
|
32
|
-
{ $match: Object.assign({}, rest, id ? { _id: id } : {}) },
|
|
33
|
-
...(sort ? [{ $sort: this.computeSort(sort) }] : []),
|
|
34
|
-
...(selectedFields?.length
|
|
35
|
-
? [
|
|
36
|
-
{
|
|
37
|
-
$project: projectedFields,
|
|
38
|
-
},
|
|
39
|
-
]
|
|
40
|
-
: []),
|
|
41
|
-
{ $skip: skip || PAGINATION_OPTIONS.skip },
|
|
42
|
-
{ $limit: limit || PAGINATION_OPTIONS.limit },
|
|
43
|
-
{ $addFields: { id: '$_id' } },
|
|
44
|
-
{ $project: { _id: 0 } },
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
// public async getAll(options: GetAllArgs<D>): Promise<T[]> {
|
|
48
|
-
// try {
|
|
49
|
-
// return this.model.aggregate(this.preparePipeLine(options));
|
|
50
|
-
// } catch (e) {
|
|
51
|
-
// this.logger.error(e, 'Unable to retrieve Model with options ${JSON.stringify(options)}`);
|
|
52
|
-
// throw e;
|
|
53
|
-
// }
|
|
54
|
-
// }
|
|
55
|
-
async getAll(options) {
|
|
56
|
-
try {
|
|
57
|
-
const { criteria, selectedFields, sort, limit, skip } = options;
|
|
58
|
-
// map id to mongoose _id
|
|
59
|
-
const { id, ...rest } = criteria || { id: undefined };
|
|
60
|
-
const sortBy = isObject(sort) ? { [sort?.key]: sort.value } : { createdAt: 1 };
|
|
61
|
-
const response = await this.model
|
|
62
|
-
.find({ ...rest, ...(id ? { _id: id } : {}) }, selectedFields)
|
|
63
|
-
.sort(sortBy)
|
|
64
|
-
.limit(limit || PAGINATION_OPTIONS.limit)
|
|
65
|
-
.skip(skip || PAGINATION_OPTIONS.skip)
|
|
66
|
-
.exec();
|
|
67
|
-
return response.map((i) => i?.toObject());
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', options);
|
|
71
|
-
throw e;
|
|
13
|
+
/**
|
|
14
|
+
* Transforms a document to the domain model format
|
|
15
|
+
*/
|
|
16
|
+
transformDocument(doc) {
|
|
17
|
+
if (!doc)
|
|
18
|
+
return null;
|
|
19
|
+
// If it's already a plain object (not a Mongoose document)
|
|
20
|
+
if (!doc.toObject) {
|
|
21
|
+
// Ensure id exists if _id is present
|
|
22
|
+
if (doc._id && !doc.id) {
|
|
23
|
+
doc.id = typeof doc._id === 'object' && doc._id.toString ? doc._id.toString() : doc._id;
|
|
24
|
+
}
|
|
25
|
+
return doc;
|
|
72
26
|
}
|
|
27
|
+
// For Mongoose documents, use the built-in toObject transformation
|
|
28
|
+
return doc.toObject();
|
|
73
29
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Transforms an array of documents
|
|
32
|
+
*/
|
|
33
|
+
transformDocuments(docs) {
|
|
34
|
+
if (!docs || !Array.isArray(docs))
|
|
35
|
+
return [];
|
|
36
|
+
return docs.map((doc) => this.transformDocument(doc)).filter(Boolean);
|
|
78
37
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// pipeline.push({
|
|
83
|
-
// $facet: {
|
|
84
|
-
// data: [{
|
|
85
|
-
// $group: {
|
|
86
|
-
// _id: null,
|
|
87
|
-
// items: { $push: '$$ROOT' }
|
|
88
|
-
// }
|
|
89
|
-
// }],
|
|
90
|
-
// count: [{ $count: 'count' }],
|
|
91
|
-
// },
|
|
92
|
-
// })
|
|
93
|
-
// const result = await this.model.aggregate(pipeline);
|
|
94
|
-
// const data = result[0]?.data[0]?.items || [];
|
|
95
|
-
// const totalCount = result[0]?.count[0]?.count || 0;
|
|
96
|
-
// return { data, totalCount };
|
|
97
|
-
// } catch (e) {
|
|
98
|
-
// this.logger.error(e, 'Unable to retrieve Model with options ${JSON.stringify(options)}`);
|
|
99
|
-
// throw e;
|
|
100
|
-
// }
|
|
101
|
-
// }
|
|
102
|
-
// eslint-disable-next-line class-methods-use-this
|
|
38
|
+
/**
|
|
39
|
+
* Maps API criteria with 'id' to MongoDB criteria with '_id'
|
|
40
|
+
*/
|
|
103
41
|
mapConditions(conditions) {
|
|
104
|
-
|
|
42
|
+
if (!conditions)
|
|
43
|
+
return {};
|
|
44
|
+
const { id, ...remaining } = conditions;
|
|
45
|
+
if (!id)
|
|
46
|
+
return remaining;
|
|
47
|
+
// Handle custom _id that might not be an ObjectId
|
|
48
|
+
let _id;
|
|
49
|
+
if (Types.ObjectId.isValid(id)) {
|
|
50
|
+
_id = new Types.ObjectId(id);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
_id = id; // Use the id as-is if it's not a valid ObjectId
|
|
54
|
+
}
|
|
105
55
|
return {
|
|
106
|
-
|
|
56
|
+
_id,
|
|
107
57
|
...remaining,
|
|
108
58
|
};
|
|
109
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Computes sort object from GetAllArgs sort parameter
|
|
62
|
+
* Handles both string-based and object-based sort specifications
|
|
63
|
+
*/
|
|
64
|
+
computeSort(sort) {
|
|
65
|
+
// Default sort by createdAt descending if available, otherwise empty sort
|
|
66
|
+
if (!sort) {
|
|
67
|
+
return { createdAt: -1 };
|
|
68
|
+
}
|
|
69
|
+
// Handle object-based sort { key: 'fieldName', value: 'asc'|'desc' }
|
|
70
|
+
if (isObject(sort) && 'key' in sort) {
|
|
71
|
+
return {
|
|
72
|
+
[sort.key]: sort.value?.toLowerCase() === 'asc' ? 1 : -1,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// Handle string-based sort 'fieldName:asc' or 'fieldName:desc'
|
|
76
|
+
if (typeof sort === 'string') {
|
|
77
|
+
const [field, direction] = sort.split(':');
|
|
78
|
+
if (field) {
|
|
79
|
+
return {
|
|
80
|
+
[field]: direction?.toLowerCase() === 'asc' ? 1 : -1,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Handle array of sort specifications
|
|
85
|
+
if (Array.isArray(sort)) {
|
|
86
|
+
return sort.reduce((acc, sortItem) => {
|
|
87
|
+
if (isObject(sortItem) && sortItem.key) {
|
|
88
|
+
acc[sortItem.key] = sortItem.value?.toLowerCase() === 'asc' ? 1 : -1;
|
|
89
|
+
}
|
|
90
|
+
return acc;
|
|
91
|
+
}, {});
|
|
92
|
+
}
|
|
93
|
+
// Fallback to default sort
|
|
94
|
+
return { createdAt: -1 };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Prepares an aggregation pipeline with standard stages
|
|
98
|
+
* @param options Query options including filtering, sorting, pagination
|
|
99
|
+
* @param customPipeline Optional custom pipeline stages to include
|
|
100
|
+
* @returns Complete MongoDB aggregation pipeline
|
|
101
|
+
*/
|
|
102
|
+
preparePipeline(options, customPipeline = []) {
|
|
103
|
+
const { criteria, sort, limit, skip } = options;
|
|
104
|
+
const pipeline = [];
|
|
105
|
+
// Match stage (filtering)
|
|
106
|
+
if (criteria) {
|
|
107
|
+
pipeline.push({
|
|
108
|
+
$match: this.mapConditions(criteria),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// Add custom pipeline stages
|
|
112
|
+
if (customPipeline.length > 0) {
|
|
113
|
+
pipeline.push(...customPipeline);
|
|
114
|
+
}
|
|
115
|
+
// Sort stage
|
|
116
|
+
const sortBy = this.computeSort(sort);
|
|
117
|
+
if (Object.keys(sortBy).length > 0) {
|
|
118
|
+
pipeline.push({ $sort: sortBy });
|
|
119
|
+
}
|
|
120
|
+
// Pagination stages
|
|
121
|
+
if (skip !== undefined) {
|
|
122
|
+
pipeline.push({ $skip: skip || PAGINATION_OPTIONS.skip });
|
|
123
|
+
}
|
|
124
|
+
if (limit !== undefined) {
|
|
125
|
+
pipeline.push({ $limit: limit || PAGINATION_OPTIONS.limit });
|
|
126
|
+
}
|
|
127
|
+
return pipeline;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Execute an aggregation pipeline and transform the results
|
|
131
|
+
*/
|
|
132
|
+
async aggregate(pipeline) {
|
|
133
|
+
try {
|
|
134
|
+
const results = await this.model.aggregate(pipeline).exec();
|
|
135
|
+
return this.transformDocuments(results);
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
this.logger.error(e, 'Error executing aggregation pipeline: %j', pipeline);
|
|
139
|
+
throw e;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
110
142
|
async count(conditions) {
|
|
111
|
-
return this.model.count(conditions).exec();
|
|
143
|
+
return this.model.count(this.mapConditions(conditions)).exec();
|
|
112
144
|
}
|
|
113
145
|
async get(conditions, selectedFields) {
|
|
114
146
|
try {
|
|
115
|
-
const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).exec();
|
|
116
|
-
|
|
147
|
+
const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).lean().exec();
|
|
148
|
+
if (!response)
|
|
149
|
+
return null;
|
|
150
|
+
// Ensure id exists
|
|
151
|
+
if (response && response._id && !response.id) {
|
|
152
|
+
response.id = response._id.toString();
|
|
153
|
+
}
|
|
154
|
+
return response;
|
|
117
155
|
}
|
|
118
156
|
catch (e) {
|
|
119
157
|
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);
|
|
120
158
|
throw e;
|
|
121
159
|
}
|
|
122
160
|
}
|
|
123
|
-
async
|
|
161
|
+
async find(conditions, selectedFields) {
|
|
124
162
|
try {
|
|
125
|
-
const
|
|
126
|
-
|
|
163
|
+
const response = await this.model.findOne(conditions, selectedFields).lean().exec();
|
|
164
|
+
if (!response)
|
|
165
|
+
return null;
|
|
166
|
+
// Ensure id exists
|
|
167
|
+
if (response && response._id && !response.id) {
|
|
168
|
+
response.id = response._id.toString();
|
|
169
|
+
}
|
|
170
|
+
return response;
|
|
127
171
|
}
|
|
128
172
|
catch (e) {
|
|
129
|
-
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]',
|
|
173
|
+
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);
|
|
130
174
|
throw e;
|
|
131
175
|
}
|
|
132
176
|
}
|
|
133
|
-
async
|
|
177
|
+
async getAll(options) {
|
|
178
|
+
try {
|
|
179
|
+
const { criteria, selectedFields, sort, limit, skip } = options;
|
|
180
|
+
const mappedCriteria = this.mapConditions(criteria);
|
|
181
|
+
const sortBy = this.computeSort(sort);
|
|
182
|
+
const response = await this.model
|
|
183
|
+
.find(mappedCriteria, selectedFields)
|
|
184
|
+
.sort(sortBy)
|
|
185
|
+
.limit(limit || PAGINATION_OPTIONS.limit)
|
|
186
|
+
.skip(skip || PAGINATION_OPTIONS.skip)
|
|
187
|
+
.lean()
|
|
188
|
+
.exec();
|
|
189
|
+
// Ensure id exists for each document
|
|
190
|
+
return response.map((doc) => {
|
|
191
|
+
if (doc._id && !doc.id) {
|
|
192
|
+
doc.id = doc._id.toString();
|
|
193
|
+
}
|
|
194
|
+
return doc;
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
catch (e) {
|
|
198
|
+
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', options);
|
|
199
|
+
throw e;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get all documents using aggregation pipeline
|
|
204
|
+
*/
|
|
205
|
+
async getAllWithPipeline(options, customPipeline = []) {
|
|
134
206
|
try {
|
|
135
|
-
const
|
|
136
|
-
return
|
|
207
|
+
const pipeline = this.preparePipeline(options, customPipeline);
|
|
208
|
+
return this.aggregate(pipeline);
|
|
137
209
|
}
|
|
138
210
|
catch (e) {
|
|
139
|
-
this.logger.error(e, 'Unable to retrieve Model with
|
|
211
|
+
this.logger.error(e, 'Unable to retrieve Model with pipeline [%j]', customPipeline);
|
|
140
212
|
throw e;
|
|
141
213
|
}
|
|
142
214
|
}
|
|
215
|
+
async getAllWithCount(options) {
|
|
216
|
+
const data = await this.getAll(options);
|
|
217
|
+
const totalCount = await this.count(options.criteria);
|
|
218
|
+
return { totalCount, data };
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get all documents with count using aggregation pipeline
|
|
222
|
+
*/
|
|
223
|
+
async getAllWithCountAndPipeline(options, customPipeline = []) {
|
|
224
|
+
// Clone options to avoid modifying the original
|
|
225
|
+
const countOptions = { ...options };
|
|
226
|
+
// Remove pagination for count
|
|
227
|
+
delete countOptions.limit;
|
|
228
|
+
delete countOptions.skip;
|
|
229
|
+
// Prepare count pipeline (without pagination)
|
|
230
|
+
const countPipeline = this.preparePipeline(countOptions, customPipeline);
|
|
231
|
+
countPipeline.push({ $count: 'total' });
|
|
232
|
+
// Execute both queries in parallel
|
|
233
|
+
const [data, countResult] = await Promise.all([
|
|
234
|
+
this.getAllWithPipeline(options, customPipeline),
|
|
235
|
+
this.model.aggregate(countPipeline).exec(),
|
|
236
|
+
]);
|
|
237
|
+
const totalCount = countResult?.[0]?.total || 0;
|
|
238
|
+
return { data, totalCount };
|
|
239
|
+
}
|
|
143
240
|
async create(data) {
|
|
144
241
|
try {
|
|
145
|
-
|
|
146
|
-
|
|
242
|
+
// Handle custom _id if provided in the data
|
|
243
|
+
const createData = { ...data };
|
|
244
|
+
// If id is provided but _id is not, map id to _id
|
|
245
|
+
if (createData.id && !createData._id) {
|
|
246
|
+
createData._id = Types.ObjectId.isValid(createData.id)
|
|
247
|
+
? new Types.ObjectId(createData.id)
|
|
248
|
+
: createData.id;
|
|
249
|
+
delete createData.id; // Remove id to avoid conflicts
|
|
250
|
+
}
|
|
251
|
+
const response = await this.model.create(createData);
|
|
252
|
+
return this.transformDocument(response);
|
|
147
253
|
}
|
|
148
254
|
catch (e) {
|
|
149
|
-
this.logger.error(e, 'Unable to create Model with data
|
|
255
|
+
this.logger.error(e, 'Unable to create Model with data [%j]', data);
|
|
150
256
|
throw e;
|
|
151
257
|
}
|
|
152
258
|
}
|
|
@@ -156,68 +262,76 @@ let BaseRepository = BaseRepository_1 = class BaseRepository {
|
|
|
156
262
|
lean: true,
|
|
157
263
|
ordered: true,
|
|
158
264
|
});
|
|
159
|
-
|
|
265
|
+
// Ensure id exists for each document
|
|
266
|
+
return response.map((doc) => {
|
|
267
|
+
if (doc._id && !doc.id) {
|
|
268
|
+
doc.id = doc._id.toString();
|
|
269
|
+
}
|
|
270
|
+
return doc;
|
|
271
|
+
});
|
|
160
272
|
}
|
|
161
273
|
catch (e) {
|
|
162
274
|
this.logger.error(e, 'Unable to bulk create due to error [%s]', e.message);
|
|
275
|
+
throw e;
|
|
163
276
|
}
|
|
164
277
|
}
|
|
165
|
-
async upsert(conditions, update, options) {
|
|
278
|
+
async upsert(conditions, update, options = {}) {
|
|
166
279
|
return this.update(conditions, update, {
|
|
167
280
|
upsert: true,
|
|
168
281
|
...options,
|
|
169
282
|
});
|
|
170
283
|
}
|
|
171
|
-
async
|
|
284
|
+
async update(criteria, update, options = {}) {
|
|
172
285
|
try {
|
|
173
|
-
const
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
286
|
+
const mappedCriteria = this.mapConditions(criteria);
|
|
287
|
+
const mergedOptions = {
|
|
288
|
+
new: true,
|
|
289
|
+
useFindAndModify: false,
|
|
290
|
+
...options,
|
|
291
|
+
};
|
|
292
|
+
const { id } = criteria;
|
|
293
|
+
let response;
|
|
294
|
+
if (id) {
|
|
295
|
+
response = await this.model.findByIdAndUpdate(id, update, mergedOptions).exec();
|
|
179
296
|
}
|
|
180
297
|
else {
|
|
181
|
-
this.
|
|
182
|
-
throw new Error('Unable to do bulk update');
|
|
298
|
+
response = await this.model.findOneAndUpdate(mappedCriteria, update, mergedOptions).exec();
|
|
183
299
|
}
|
|
300
|
+
return this.transformDocument(response);
|
|
184
301
|
}
|
|
185
302
|
catch (e) {
|
|
186
|
-
this.logger.error(e, 'Unable to
|
|
303
|
+
this.logger.error(e, 'Unable to Update with criteria [%j] and data [%j]', criteria, update);
|
|
187
304
|
throw e;
|
|
188
305
|
}
|
|
189
306
|
}
|
|
190
|
-
async
|
|
307
|
+
async bulkUpdate(criteria, update, options = {}) {
|
|
191
308
|
try {
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
return (await this.model
|
|
205
|
-
.findOneAndUpdate(processedCriteria, update, mergedOptions)
|
|
206
|
-
.exec());
|
|
309
|
+
const mappedCriteria = this.mapConditions(criteria);
|
|
310
|
+
await this.model.updateMany(mappedCriteria, update, options);
|
|
311
|
+
// Fetch the updated documents
|
|
312
|
+
const response = await this.model.find(mappedCriteria).lean().exec();
|
|
313
|
+
// Ensure id exists for each document
|
|
314
|
+
return response.map((doc) => {
|
|
315
|
+
if (doc._id && !doc.id) {
|
|
316
|
+
doc.id = doc._id.toString();
|
|
317
|
+
}
|
|
318
|
+
return doc;
|
|
319
|
+
});
|
|
207
320
|
}
|
|
208
321
|
catch (e) {
|
|
209
|
-
this.logger.error(e, 'Unable to Update with criteria [%j] and data [%j]', criteria, update);
|
|
322
|
+
this.logger.error(e, 'Unable to Bulk Update with criteria [%j] and data [%j]', criteria, update);
|
|
210
323
|
throw e;
|
|
211
324
|
}
|
|
212
325
|
}
|
|
213
326
|
async delete(criteria) {
|
|
214
327
|
try {
|
|
328
|
+
const mappedCriteria = this.mapConditions(criteria);
|
|
215
329
|
let deleted;
|
|
216
330
|
if (criteria?.id) {
|
|
217
331
|
deleted = await this.model.findByIdAndDelete(criteria.id);
|
|
218
332
|
}
|
|
219
333
|
else {
|
|
220
|
-
deleted = await this.model.findOneAndDelete(
|
|
334
|
+
deleted = await this.model.findOneAndDelete(mappedCriteria);
|
|
221
335
|
}
|
|
222
336
|
return !!deleted;
|
|
223
337
|
}
|
|
@@ -228,7 +342,8 @@ let BaseRepository = BaseRepository_1 = class BaseRepository {
|
|
|
228
342
|
}
|
|
229
343
|
async bulkDelete(criteria) {
|
|
230
344
|
try {
|
|
231
|
-
const
|
|
345
|
+
const mappedCriteria = this.mapConditions(criteria);
|
|
346
|
+
const deleted = await this.model.deleteMany(mappedCriteria);
|
|
232
347
|
return deleted?.deletedCount || 0;
|
|
233
348
|
}
|
|
234
349
|
catch (e) {
|
|
@@ -236,6 +351,33 @@ let BaseRepository = BaseRepository_1 = class BaseRepository {
|
|
|
236
351
|
throw e;
|
|
237
352
|
}
|
|
238
353
|
}
|
|
354
|
+
async bulkGet(ids, selectedFields) {
|
|
355
|
+
try {
|
|
356
|
+
// Create a query that handles both ObjectId and string IDs
|
|
357
|
+
const query = { _id: { $in: [] } };
|
|
358
|
+
// Process each ID
|
|
359
|
+
ids.forEach((id) => {
|
|
360
|
+
if (Types.ObjectId.isValid(id)) {
|
|
361
|
+
query._id.$in.push(new Types.ObjectId(id));
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
query._id.$in.push(id); // Add as string
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
const results = await this.model.find(query).select(selectedFields).lean().exec();
|
|
368
|
+
// Ensure id exists for each document
|
|
369
|
+
return results.map((doc) => {
|
|
370
|
+
if (doc._id && !doc.id) {
|
|
371
|
+
doc.id = doc._id.toString();
|
|
372
|
+
}
|
|
373
|
+
return doc;
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
catch (e) {
|
|
377
|
+
this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', ids);
|
|
378
|
+
throw e;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
239
381
|
};
|
|
240
382
|
BaseRepository = BaseRepository_1 = __decorate([
|
|
241
383
|
injectable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-repository.js","sources":["../../../src/store/repositories/base-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-repository.js","sources":["../../../src/store/repositories/base-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'reflect-metadata';
|