xcally-nest-library 0.0.35 → 0.0.37-XM3778-bae91

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 (85) hide show
  1. package/.jest/jestEnv.js +3 -0
  2. package/.nvmrc +1 -1
  3. package/.prettierrc +18 -1
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.js +9 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/jest.config.d.ts +3 -0
  8. package/dist/jest.config.js +61 -0
  9. package/dist/jest.config.js.map +1 -0
  10. package/dist/src/core/application/__tests__/cached-base.service.spec.d.ts +1 -0
  11. package/dist/src/core/application/__tests__/cached-base.service.spec.js +224 -0
  12. package/dist/src/core/application/__tests__/cached-base.service.spec.js.map +1 -0
  13. package/dist/src/core/application/__tests__/mock-types.d.ts +66 -0
  14. package/dist/src/core/application/__tests__/mock-types.js +9 -0
  15. package/dist/src/core/application/__tests__/mock-types.js.map +1 -0
  16. package/dist/src/core/application/__tests__/mocks/paginated-query.mock.d.ts +2 -0
  17. package/dist/src/core/application/__tests__/mocks/paginated-query.mock.js +12 -0
  18. package/dist/src/core/application/__tests__/mocks/paginated-query.mock.js.map +1 -0
  19. package/dist/src/core/application/__tests__/mocks/paginated-result.mock.d.ts +31 -0
  20. package/dist/src/core/application/__tests__/mocks/paginated-result.mock.js +169 -0
  21. package/dist/src/core/application/__tests__/mocks/paginated-result.mock.js.map +1 -0
  22. package/dist/src/core/application/base.interface.d.ts +4 -4
  23. package/dist/src/core/application/base.mongo.interface.d.ts +16 -0
  24. package/dist/src/core/application/base.mongo.interface.js +3 -0
  25. package/dist/src/core/application/base.mongo.interface.js.map +1 -0
  26. package/dist/src/core/application/base.mongo.service.d.ts +23 -0
  27. package/dist/src/core/application/base.mongo.service.js +91 -0
  28. package/dist/src/core/application/base.mongo.service.js.map +1 -0
  29. package/dist/src/core/application/base.service.d.ts +2 -2
  30. package/dist/src/core/application/cached-base.service.d.ts +26 -0
  31. package/dist/src/core/application/cached-base.service.js +52 -0
  32. package/dist/src/core/application/cached-base.service.js.map +1 -0
  33. package/dist/src/core/application/cached.service.d.ts +13 -0
  34. package/dist/src/core/application/cached.service.js +55 -0
  35. package/dist/src/core/application/cached.service.js.map +1 -0
  36. package/dist/src/core/domain/interfaces/base.mongo.repository.interface.d.ts +12 -0
  37. package/dist/src/core/domain/interfaces/base.mongo.repository.interface.js +3 -0
  38. package/dist/src/core/domain/interfaces/base.mongo.repository.interface.js.map +1 -0
  39. package/dist/src/core/domain/interfaces/cache-configuration.interface.d.ts +8 -0
  40. package/dist/src/core/domain/interfaces/cache-configuration.interface.js +11 -0
  41. package/dist/src/core/domain/interfaces/cache-configuration.interface.js.map +1 -0
  42. package/dist/src/core/infrastracture/databases/base.mongo.entity.d.ts +14 -0
  43. package/dist/src/core/infrastracture/databases/base.mongo.entity.interface.d.ts +10 -0
  44. package/dist/src/core/infrastracture/databases/base.mongo.entity.interface.js +3 -0
  45. package/dist/src/core/infrastracture/databases/base.mongo.entity.interface.js.map +1 -0
  46. package/dist/src/core/infrastracture/databases/base.mongo.entity.js +66 -0
  47. package/dist/src/core/infrastracture/databases/base.mongo.entity.js.map +1 -0
  48. package/dist/src/core/infrastracture/databases/base.mongo.repository.d.ts +20 -0
  49. package/dist/src/core/infrastracture/databases/base.mongo.repository.js +275 -0
  50. package/dist/src/core/infrastracture/databases/base.mongo.repository.js.map +1 -0
  51. package/dist/src/core/infrastracture/databases/base.repository.d.ts +1 -1
  52. package/dist/src/modules/logger/pino/logger.module.js +1 -1
  53. package/dist/src/modules/logger/pino/logger.module.js.map +1 -1
  54. package/dist/src/modules/logger/pino/logger.service.js +1 -1
  55. package/dist/src/modules/logger/pino/logger.service.js.map +1 -1
  56. package/dist/tsconfig.json +38 -0
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/eslint.config.mjs +49 -0
  59. package/index.ts +9 -0
  60. package/jest.config.ts +219 -0
  61. package/package.json +34 -21
  62. package/scripts/publish-feat.sh +67 -0
  63. package/src/core/application/__tests__/cached-base.service.spec.ts +367 -0
  64. package/src/core/application/__tests__/mock-types.ts +73 -0
  65. package/src/core/application/__tests__/mocks/paginated-query.mock.ts +10 -0
  66. package/src/core/application/__tests__/mocks/paginated-result.mock.ts +166 -0
  67. package/src/core/application/base.interface.ts +4 -5
  68. package/src/core/application/base.mongo.interface.ts +15 -0
  69. package/src/core/application/base.mongo.service.ts +170 -0
  70. package/src/core/application/base.service.ts +2 -2
  71. package/src/core/application/cached-base.service.ts +119 -0
  72. package/src/core/application/cached.service.ts +96 -0
  73. package/src/core/domain/interfaces/base.mongo.repository.interface.ts +14 -0
  74. package/src/core/domain/interfaces/base.repository.interface.ts +1 -0
  75. package/src/core/domain/interfaces/cache-configuration.interface.ts +10 -0
  76. package/src/core/infrastracture/databases/base.mongo.entity.interface.ts +12 -0
  77. package/src/core/infrastracture/databases/base.mongo.entity.ts +65 -0
  78. package/src/core/infrastracture/databases/base.mongo.repository.ts +371 -0
  79. package/src/core/infrastracture/databases/base.repository.ts +1 -1
  80. package/src/modules/logger/pino/logger.module.ts +1 -1
  81. package/src/modules/logger/pino/logger.service.ts +1 -1
  82. package/tsconfig.json +1 -0
  83. package/dist/src/modules/db-hooks-subscriber/db-hooks-subscriber.module.d.ts +0 -2
  84. package/dist/src/modules/db-hooks-subscriber/db-hooks-subscriber.module.js +0 -22
  85. package/dist/src/modules/db-hooks-subscriber/db-hooks-subscriber.module.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.paginationConfig = exports.BaseMongoEntitySubscriber = exports.BaseMongoEntity = void 0;
13
+ const mongodb_1 = require("mongodb");
14
+ const typeorm_1 = require("typeorm");
15
+ class BaseMongoEntity {
16
+ }
17
+ exports.BaseMongoEntity = BaseMongoEntity;
18
+ __decorate([
19
+ (0, typeorm_1.ObjectIdColumn)(),
20
+ __metadata("design:type", mongodb_1.ObjectId)
21
+ ], BaseMongoEntity.prototype, "_id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.CreateDateColumn)({
24
+ type: 'timestamp',
25
+ }),
26
+ __metadata("design:type", Date)
27
+ ], BaseMongoEntity.prototype, "createdAt", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.UpdateDateColumn)({
30
+ type: 'timestamp',
31
+ }),
32
+ __metadata("design:type", Date)
33
+ ], BaseMongoEntity.prototype, "updatedAt", void 0);
34
+ let BaseMongoEntitySubscriber = class BaseMongoEntitySubscriber {
35
+ listenTo() {
36
+ return BaseMongoEntity;
37
+ }
38
+ beforeInsert(event) {
39
+ const now = new Date();
40
+ now.setMilliseconds((now.getMilliseconds() + 1) % 1000);
41
+ event.entity.createdAt = now;
42
+ event.entity.updatedAt = now;
43
+ }
44
+ beforeUpdate(event) {
45
+ const now = new Date();
46
+ now.setMilliseconds((now.getMilliseconds() + 1) % 1000);
47
+ event.entity.updatedAt = now;
48
+ }
49
+ };
50
+ exports.BaseMongoEntitySubscriber = BaseMongoEntitySubscriber;
51
+ exports.BaseMongoEntitySubscriber = BaseMongoEntitySubscriber = __decorate([
52
+ (0, typeorm_1.EventSubscriber)()
53
+ ], BaseMongoEntitySubscriber);
54
+ exports.paginationConfig = {
55
+ sortableColumns: ['_id', 'createdAt', 'updatedAt'],
56
+ searchableColumns: ['_id', 'createdAt', 'updatedAt'],
57
+ filterableColumns: {
58
+ _id: true,
59
+ createdAt: true,
60
+ updatedAt: true,
61
+ },
62
+ select: ['_id', 'createdAt', 'updatedAt'],
63
+ relativePath: true,
64
+ dateColumns: ['createdAt', 'updatedAt'],
65
+ };
66
+ //# sourceMappingURL=base.mongo.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.mongo.entity.js","sourceRoot":"","sources":["../../../../../src/core/infrastracture/databases/base.mongo.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmC;AACnC,qCAQiB;AAGjB,MAAa,eAAe;CAa3B;AAbD,0CAaC;AAXC;IADC,IAAA,wBAAc,GAAE;8BACZ,kBAAQ;4CAAC;AAKd;IAHC,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC;8BACS,IAAI;kDAAC;AAKhB;IAHC,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC;8BACS,IAAI;kDAAC;AAIX,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAI7B,QAAQ;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAKM,YAAY,CAAC,KAAmC;QACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;IAC/B,CAAC;IAEM,YAAY,CAAC,KAAmC;QACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;IAC/B,CAAC;CACF,CAAA;AAvBY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,yBAAe,GAAE;GACL,yBAAyB,CAuBrC;AAEY,QAAA,gBAAgB,GAA4C;IACvE,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;IAClD,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;IACpD,iBAAiB,EAAE;QACjB,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;IACzC,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;CACxC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { IBaseMongoRepository } from '@/core/domain/interfaces/base.mongo.repository.interface';
2
+ import { ObjectId } from 'mongodb';
3
+ import { PaginateQuery, Paginated } from 'nestjs-paginate';
4
+ import { EntityManager, MongoRepository, ObjectLiteral } from 'typeorm';
5
+ import { ExtendedPaginateConfig } from './base.mongo.entity.interface';
6
+ export declare class BaseMongoRepository<E extends ObjectLiteral> extends MongoRepository<E> implements IBaseMongoRepository<E> {
7
+ paginateConfig: ExtendedPaginateConfig<E>;
8
+ constructor(manager: EntityManager, entityCls: new () => E, paginateConfig?: ExtendedPaginateConfig<E>);
9
+ getMany(query: PaginateQuery): Promise<Paginated<E>>;
10
+ findById(id: string | ObjectId): Promise<E>;
11
+ protected buildMongoFilter(query: PaginateQuery, paginateConfig: ExtendedPaginateConfig<E>): Record<string, any>;
12
+ private parsePrimitive;
13
+ private applyOps;
14
+ private buildSpecialOperator;
15
+ protected buildMongoSort(query: PaginateQuery): Record<string, 1 | -1>;
16
+ protected buildMongoProjectionFields(query: PaginateQuery, cursorColumn?: string): string[] | undefined;
17
+ protected normalizeCursorValue(val: any): string;
18
+ protected buildQueryString(obj: Record<string, any>): string;
19
+ protected buildMongoSelect(query: PaginateQuery, paginateConfig: ExtendedPaginateConfig<E>): string[] | undefined;
20
+ }
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseMongoRepository = void 0;
4
+ const mongodb_1 = require("mongodb");
5
+ const typeorm_1 = require("typeorm");
6
+ class BaseMongoRepository extends typeorm_1.MongoRepository {
7
+ constructor(manager, entityCls, paginateConfig) {
8
+ super(entityCls, manager);
9
+ this.paginateConfig = paginateConfig || {
10
+ sortableColumns: [],
11
+ };
12
+ }
13
+ async getMany(query) {
14
+ const page = query.page ?? 1;
15
+ const defaultLimit = this.paginateConfig.defaultLimit ?? 20;
16
+ const maxLimit = this.paginateConfig.maxLimit ?? 100;
17
+ const inputLimit = query.limit ?? defaultLimit;
18
+ const limit = Math.min(inputLimit, maxLimit);
19
+ const skip = (page - 1) * limit;
20
+ const filter = this.buildMongoFilter(query, this.paginateConfig);
21
+ const sort = this.buildMongoSort(query);
22
+ const selectCondition = this.buildMongoSelect(query, this.paginateConfig);
23
+ const [data, totalItems] = await this.findAndCount({
24
+ where: filter,
25
+ order: sort,
26
+ skip,
27
+ take: limit,
28
+ select: selectCondition,
29
+ });
30
+ const totalPages = Math.ceil(totalItems / limit);
31
+ const meta = {
32
+ itemsPerPage: limit,
33
+ totalItems,
34
+ currentPage: page,
35
+ totalPages,
36
+ sortBy: (query.sortBy ?? []),
37
+ searchBy: (query.searchBy ?? []),
38
+ search: query.search ?? '',
39
+ select: selectCondition ?? [],
40
+ filter: query.filter ?? {},
41
+ };
42
+ const links = {
43
+ current: query.path ? `${query.path}?page=${page}&limit=${limit}` : '',
44
+ first: query.path ? `${query.path}?page=1&limit=${limit}` : undefined,
45
+ previous: page > 1 && query.path ? `${query.path}?page=${page - 1}&limit=${limit}` : undefined,
46
+ next: page < totalPages && query.path ? `${query.path}?page=${page + 1}&limit=${limit}` : undefined,
47
+ last: query.path ? `${query.path}?page=${totalPages}&limit=${limit}` : undefined,
48
+ };
49
+ const plainData = data.map(d => JSON.parse(JSON.stringify(d)));
50
+ return {
51
+ data: plainData,
52
+ meta: meta,
53
+ links: links,
54
+ };
55
+ }
56
+ async findById(id) {
57
+ let objectId;
58
+ if (typeof id === 'string') {
59
+ if (!mongodb_1.ObjectId.isValid(id)) {
60
+ throw new Error(`Invalid ObjectId string: ${id}`);
61
+ }
62
+ objectId = new mongodb_1.ObjectId(id);
63
+ }
64
+ else if (id instanceof mongodb_1.ObjectId) {
65
+ objectId = id;
66
+ }
67
+ else {
68
+ throw new Error(`Invalid id type: ${typeof id}`);
69
+ }
70
+ return this.findOne({
71
+ where: { _id: objectId },
72
+ });
73
+ }
74
+ buildMongoFilter(query, paginateConfig) {
75
+ const { filter = {} } = query;
76
+ const filterConfig = paginateConfig.filterableColumns || {};
77
+ const allowedFilterColumns = new Set(Object.keys(filterConfig));
78
+ const dateCols = new Set(paginateConfig.dateColumns || []);
79
+ const orderedConditions = [];
80
+ for (const [field, rawValue] of Object.entries(filter)) {
81
+ if (!allowedFilterColumns.has(field)) {
82
+ console.warn(`Column filter not allowed: ${field}`);
83
+ continue;
84
+ }
85
+ const isDate = dateCols.has(field);
86
+ if (Array.isArray(rawValue)) {
87
+ for (const cond of rawValue) {
88
+ if (typeof cond !== 'string')
89
+ continue;
90
+ const tokens = cond.split(':');
91
+ const ops = tokens.filter(t => t.startsWith('$'));
92
+ const valuePart = tokens.slice(tokens.findIndex(t => !t.startsWith('$'))).join(':');
93
+ orderedConditions.push({ field, ops, valuePart, isDate });
94
+ }
95
+ }
96
+ else if (typeof rawValue === 'string') {
97
+ if (!rawValue.includes(':')) {
98
+ orderedConditions.push({ field, ops: [], valuePart: rawValue, isDate });
99
+ }
100
+ else {
101
+ const tokens = rawValue.split(':');
102
+ const ops = tokens.filter(t => t.startsWith('$'));
103
+ const valuePart = tokens.slice(tokens.findIndex(t => !t.startsWith('$'))).join(':');
104
+ orderedConditions.push({ field, ops, valuePart, isDate });
105
+ }
106
+ }
107
+ }
108
+ const andGroup = [];
109
+ let lastCondition = null;
110
+ for (const { field, ops, valuePart, isDate } of orderedConditions) {
111
+ const mainLogical = ops[0] === '$or' || ops[0] === '$and' ? ops[0] : null;
112
+ if (mainLogical)
113
+ ops.shift();
114
+ const special = this.buildSpecialOperator(ops, valuePart, isDate);
115
+ let finalVal;
116
+ if (special) {
117
+ finalVal = special;
118
+ }
119
+ else if (ops.length && ops[ops.length - 1] === '$in') {
120
+ const vals = valuePart.split(',').map(s => this.parsePrimitive(s.trim(), isDate));
121
+ finalVal = ops[0] === '$not' ? { $nin: vals } : { $in: vals };
122
+ }
123
+ else {
124
+ finalVal = this.parsePrimitive(valuePart, isDate);
125
+ if (ops.length) {
126
+ const temp = {};
127
+ this.applyOps(temp, ops, finalVal);
128
+ finalVal = temp;
129
+ }
130
+ }
131
+ const condition = { [field]: finalVal };
132
+ if ((mainLogical === '$or' || mainLogical === '$and') && lastCondition) {
133
+ const prev = andGroup.pop();
134
+ const merged = { [mainLogical]: [prev, condition] };
135
+ andGroup.push(merged);
136
+ lastCondition = merged;
137
+ }
138
+ else {
139
+ andGroup.push(condition);
140
+ lastCondition = condition;
141
+ }
142
+ }
143
+ const finalFilter = andGroup.length === 1 ? andGroup[0] : { $and: andGroup };
144
+ return finalFilter;
145
+ }
146
+ parsePrimitive(raw, isDateField) {
147
+ if (isDateField) {
148
+ const d = new Date(raw);
149
+ if (!isNaN(d.getTime()))
150
+ return d;
151
+ }
152
+ if (raw === 'true')
153
+ return true;
154
+ if (raw === 'false')
155
+ return false;
156
+ if (raw !== '' && !Number.isNaN(Number(raw)) && !/^0\d+/.test(raw))
157
+ return Number(raw);
158
+ return raw;
159
+ }
160
+ applyOps(targetObj, ops, value) {
161
+ let ref = targetObj;
162
+ for (let i = 0; i < ops.length; i++) {
163
+ const op = ops[i];
164
+ const isLast = i === ops.length - 1;
165
+ if (isLast)
166
+ ref[op] = value;
167
+ else {
168
+ if (ref[op] === undefined)
169
+ ref[op] = {};
170
+ ref = ref[op];
171
+ }
172
+ }
173
+ }
174
+ buildSpecialOperator(ops, valuePart, isDate) {
175
+ const isNegated = ops.includes('$not');
176
+ const cleanOps = ops.filter(o => o !== '$not');
177
+ const values = valuePart.split(',').map(v => this.parsePrimitive(v.trim(), isDate));
178
+ const asSafeRegexString = (val) => {
179
+ if (val == null)
180
+ return '';
181
+ const s = String(val);
182
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
183
+ };
184
+ switch (cleanOps[0]) {
185
+ case '$btw': {
186
+ const [from, to] = values;
187
+ const expr = { $gte: from, $lte: to };
188
+ return isNegated ? { $not: expr } : expr;
189
+ }
190
+ case '$sw': {
191
+ const regex = new RegExp(`^${asSafeRegexString(values[0])}`, 'i');
192
+ return isNegated ? { $not: regex } : { $regex: regex };
193
+ }
194
+ case '$ilike': {
195
+ const regex = new RegExp(asSafeRegexString(values[0]), 'i');
196
+ return isNegated ? { $not: regex } : { $regex: regex };
197
+ }
198
+ case '$null': {
199
+ return isNegated ? { $ne: null } : { $eq: null };
200
+ }
201
+ case '$contains': {
202
+ const expr = { $all: values };
203
+ return isNegated ? { $not: expr } : expr;
204
+ }
205
+ default:
206
+ return null;
207
+ }
208
+ }
209
+ buildMongoSort(query) {
210
+ const { sortBy = [] } = query;
211
+ const sort = {};
212
+ sortBy.forEach(([field, direction]) => {
213
+ sort[field] = direction.toUpperCase() === 'ASC' ? 1 : -1;
214
+ });
215
+ if (Object.keys(sort).length === 0) {
216
+ sort['_id'] = -1;
217
+ }
218
+ return sort;
219
+ }
220
+ buildMongoProjectionFields(query, cursorColumn = '_id') {
221
+ const { select } = query;
222
+ if (select && select.length) {
223
+ const fields = [...select];
224
+ if (!fields.includes(cursorColumn)) {
225
+ fields.push(cursorColumn);
226
+ }
227
+ return fields;
228
+ }
229
+ return undefined;
230
+ }
231
+ normalizeCursorValue(val) {
232
+ if (!val && val !== 0)
233
+ return undefined;
234
+ if (val instanceof mongodb_1.ObjectId && typeof val.toHexString === 'function') {
235
+ return val.toHexString();
236
+ }
237
+ if (val && val._bsontype === 'ObjectID' && typeof val.toHexString === 'function') {
238
+ return val.toHexString();
239
+ }
240
+ return String(val);
241
+ }
242
+ buildQueryString(obj) {
243
+ const params = new URLSearchParams();
244
+ for (const [k, v] of Object.entries(obj)) {
245
+ if (v === undefined || v === null)
246
+ continue;
247
+ params.append(k, String(v));
248
+ }
249
+ return params.toString();
250
+ }
251
+ buildMongoSelect(query, paginateConfig) {
252
+ const requestedSelect = query.select;
253
+ if (!requestedSelect || requestedSelect.length === 0) {
254
+ return undefined;
255
+ }
256
+ const allowedSelectColumns = new Set(paginateConfig.select || []);
257
+ if (allowedSelectColumns.size === 0) {
258
+ console.warn('no columns are allowed for selection in config');
259
+ return undefined;
260
+ }
261
+ const validSelect = requestedSelect.filter(field => {
262
+ const isAllowed = allowedSelectColumns.has(field);
263
+ if (!isAllowed) {
264
+ console.warn(`column not allowed: ${field}`);
265
+ }
266
+ return isAllowed;
267
+ });
268
+ if (validSelect.length === 0) {
269
+ return undefined;
270
+ }
271
+ return validSelect;
272
+ }
273
+ }
274
+ exports.BaseMongoRepository = BaseMongoRepository;
275
+ //# sourceMappingURL=base.mongo.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.mongo.repository.js","sourceRoot":"","sources":["../../../../../src/core/infrastracture/databases/base.mongo.repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Repository, EntityManager, ObjectLiteral } from 'typeorm';
2
2
  import { PaginateConfig, PaginateQuery, Paginated } from 'nestjs-paginate';
3
- import { IBaseRepository } from '@domain/interfaces/base.repository.interface';
3
+ import { IBaseRepository } from '@/core/domain/interfaces/base.repository.interface';
4
4
  export declare class BaseRepository<E extends ObjectLiteral> extends Repository<E> implements IBaseRepository<E> {
5
5
  protected paginateConfig: PaginateConfig<E>;
6
6
  constructor(manager: EntityManager, entityCls: new () => E, paginateConfig?: PaginateConfig<E>);
@@ -21,7 +21,7 @@ let LoggerModule = LoggerModule_1 = class LoggerModule {
21
21
  useValue: options,
22
22
  };
23
23
  const providers = [logger_service_1.LoggerService, loggerOptions];
24
- const exports = [logger_service_1.LoggerService, loggerOptions];
24
+ const exports = [logger_service_1.LoggerService, loggerOptions, nestjs_cls_1.ClsModule];
25
25
  return {
26
26
  module: LoggerModule_1,
27
27
  providers,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,2CAA6D;AAC7D,6CAA+D;AAC/D,qDAAiD;AACjD,2CAA6C;AAC7C,2CAAuC;AAchC,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAA4B;QACzC,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,0BAAc;YACvB,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,8BAAa,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,8BAAa,EAAE,aAAa,CAAC,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,SAAS;YACT,OAAO;YACP,OAAO,EAAE;gBACP,sBAAS;gBACT,0BAAgB,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,qBAAY,CAAC;oBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;oBACvB,UAAU,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;wBAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;wBACtE,OAAO;4BACL,QAAQ,EAAE;gCACR,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oCAC3B,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG;wCAAE,OAAO,OAAO,CAAC;oCAC1C,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG;wCAAE,OAAO,MAAM,CAAC;oCACzC,OAAO,MAAM,CAAC;gCAChB,CAAC;gCACD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;gCACxC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;gCAWxC,MAAM,EAAE;oCACN,KAAK,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;iCAC3D;gCACD,SAAS,EAAE;oCACT,OAAO,EAAE;wCACP;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE;gDACP,QAAQ,EAAE,IAAI;6CACf;yCACF;wCAQD;4CACE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;4CACxC,MAAM,EAAE,WAAW;4CACnB,OAAO,EAAE;gDACP,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;oDAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,WAAW,MAAM;oDAChD,CAAC,CAAC,UAAU,WAAW,MAAM;gDAC/B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;6CAC7D;yCACF;qCACF;iCACF;6BAKF;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,GAAE;GACI,YAAY,CAkFxB"}
1
+ {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,2CAA6D;AAC7D,6CAA+D;AAC/D,qDAAiD;AACjD,2CAA6C;AAC7C,2CAAuC;AAchC,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAA4B;QACzC,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,0BAAc;YACvB,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,8BAAa,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,8BAAa,EAAE,aAAa,EAAE,sBAAS,CAAC,CAAC;QAC1D,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,SAAS;YACT,OAAO;YACP,OAAO,EAAE;gBACP,sBAAS;gBACT,0BAAgB,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,qBAAY,CAAC;oBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;oBACvB,UAAU,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;wBAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;wBACtE,OAAO;4BACL,QAAQ,EAAE;gCACR,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oCAC3B,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG;wCAAE,OAAO,OAAO,CAAC;oCAC1C,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG;wCAAE,OAAO,MAAM,CAAC;oCACzC,OAAO,MAAM,CAAC;gCAChB,CAAC;gCACD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;gCACxC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;gCAWxC,MAAM,EAAE;oCACN,KAAK,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;iCAC3D;gCACD,SAAS,EAAE;oCACT,OAAO,EAAE;wCACP;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE;gDACP,QAAQ,EAAE,IAAI;6CACf;yCACF;wCAQD;4CACE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;4CACxC,MAAM,EAAE,WAAW;4CACnB,OAAO,EAAE;gDACP,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;oDAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,WAAW,MAAM;oDAChD,CAAC,CAAC,UAAU,WAAW,MAAM;gDAC/B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;6CAC7D;yCACF;qCACF;iCACF;6BAKF;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,GAAE;GACI,YAAY,CAkFxB"}
@@ -26,7 +26,7 @@ let LoggerService = class LoggerService {
26
26
  withAdditionalTraceId(meta) {
27
27
  const xcTraceId = this.cls.get('xcTraceId');
28
28
  const xcActionId = this.cls.get('xcActionId');
29
- return { ...meta, xcTraceId, xcActionId };
29
+ return { ...meta, xcTraceId: xcTraceId ?? meta?.xcTraceId, xcActionId: xcActionId ?? meta?.xcActionId };
30
30
  }
31
31
  debug(msg, meta) {
32
32
  this.logger.debug({ meta: this.withAdditionalTraceId(meta), ...this.loggerOptions }, msg);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAyC;AACzC,2CAA6C;AAE7C,2CAAwC;AAYjC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAC2C,aAAkC,EAC1D,MAAkB,EAClB,GAAe;QAFS,kBAAa,GAAb,aAAa,CAAqB;QAC1D,WAAM,GAAN,MAAM,CAAY;QAClB,QAAG,GAAH,GAAG,CAAY;IAC/B,CAAC;IAEI,qBAAqB,CAAC,IAAiB;QAC7C,MAAM,SAAS,GAAuB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,UAAU,GAAuB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClE,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,IAAiB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,IAAiB;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,IAAiB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,IAAiB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,IAAiB;QAUjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,IAAiB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAGD,UAAU;QACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IAEL,CAAC;CACF,CAAA;AAvDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,0BAAc,CAAC,CAAA;6CACE,wBAAU;QACb,uBAAU;GAJvB,aAAa,CAuDzB"}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "declaration": true,
5
+ "removeComments": true,
6
+ "emitDecoratorMetadata": true,
7
+ "experimentalDecorators": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "target": "ES2021",
10
+ "sourceMap": true,
11
+ "outDir": "./dist",
12
+ "baseUrl": "./",
13
+ "incremental": true,
14
+ "skipLibCheck": true,
15
+ "strictNullChecks": false,
16
+ "noImplicitAny": false,
17
+ "strictBindCallApply": false,
18
+ "forceConsistentCasingInFileNames": false,
19
+ "noFallthroughCasesInSwitch": false,
20
+ "resolveJsonModule": true,
21
+ "paths": {
22
+ "@/*": ["./src/*"],
23
+ "@interfaces-pb/*": ["./interfaces-pb/*"],
24
+ "@filters/*": ["./src/lib/filters/*"],
25
+ "@interceptors/*": ["./src/lib/interceptors/*"],
26
+ "@guards/*": ["./src/lib/guards/*"],
27
+ "@decorators/*": ["./src/lib/decorators/*"],
28
+ "@misc/*": ["./src/lib/misc/*"],
29
+ "@lib/*": ["./src/lib/*"],
30
+ "@infrastructure/*": ["./src/core/infrastructure/*"],
31
+ "@application/*": ["./src/core/application/*"],
32
+ "@presentation/*": ["./src/core/presentation/*"],
33
+ "@domain/*": ["./src/core/domain/*"],
34
+ "@bootstrap/*": ["./src/bootstrap/*"],
35
+ "@interfaces/*": ["./src/interfaces/*"]
36
+ }
37
+ }
38
+ }