@6thbridge/utils 1.9.0-1 → 1.9.0-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/actions/database-session.action.d.ts +13 -0
- package/lib/actions/database-session.action.js +77 -0
- package/lib/actions/database-session.action.js.map +1 -0
- package/lib/actions/database-session.action.test.d.ts +1 -0
- package/lib/actions/database-session.action.test.js +137 -0
- package/lib/actions/database-session.action.test.js.map +1 -0
- package/lib/actions/index.d.ts +2 -0
- package/lib/actions/index.js +2 -0
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/lock.action.d.ts +16 -0
- package/lib/actions/lock.action.js +171 -0
- package/lib/actions/lock.action.js.map +1 -0
- package/lib/actions/lock.action.test.d.ts +1 -0
- package/lib/actions/lock.action.test.js +63 -0
- package/lib/actions/lock.action.test.js.map +1 -0
- package/lib/data/rabbitmq/index.d.ts +3 -2
- package/lib/data/rabbitmq/index.js +3 -0
- package/lib/data/rabbitmq/index.js.map +1 -1
- package/lib/database/MongoDBRepository.d.ts +27 -120
- package/lib/database/MongoDBRepository.js +49 -41
- package/lib/database/MongoDBRepository.js.map +1 -1
- package/lib/database/MongoDBTypeRepository.d.ts +51 -0
- package/lib/database/MongoDBTypeRepository.js +90 -0
- package/lib/database/MongoDBTypeRepository.js.map +1 -0
- package/lib/database/index.d.ts +2 -0
- package/lib/database/index.js +4 -0
- package/lib/database/index.js.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +25 -16
- package/lib/index.js.map +1 -1
- package/lib/logger/batching.d.ts +7 -0
- package/lib/logger/batching.js +90 -0
- package/lib/logger/batching.js.map +1 -0
- package/lib/logger/batching.spec.d.ts +1 -0
- package/lib/logger/batching.spec.js +108 -0
- package/lib/logger/batching.spec.js.map +1 -0
- package/lib/logger/index.d.ts +1 -0
- package/lib/logger/index.js +5 -1
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/logger-test.js +53 -24
- package/lib/logger/logger-test.js.map +1 -1
- package/lib/logger/logger.js +8 -23
- package/lib/logger/logger.js.map +1 -1
- package/lib/logger/redact.js +1 -1
- package/lib/logger/redact.js.map +1 -1
- package/lib/logger/test.spec.js +57 -0
- package/lib/logger/test.spec.js.map +1 -1
- package/lib/middlewares/common.js +7 -7
- package/lib/middlewares/common.js.map +1 -1
- package/lib/middlewares/error.middleware.d.ts +12 -0
- package/lib/middlewares/error.middleware.js +57 -0
- package/lib/middlewares/error.middleware.js.map +1 -0
- package/lib/middlewares/error.middleware.test.d.ts +1 -0
- package/lib/middlewares/error.middleware.test.js +45 -0
- package/lib/middlewares/error.middleware.test.js.map +1 -0
- package/lib/middlewares/express.d.ts +1 -0
- package/lib/middlewares/express.js +43 -9
- package/lib/middlewares/express.js.map +1 -1
- package/lib/middlewares/index.js +17 -7
- package/lib/middlewares/index.js.map +1 -1
- package/lib/monitoring/index.js +3 -3
- package/lib/monitoring/index.js.map +1 -1
- package/lib/monitoring/rollbar.js +2 -2
- package/lib/monitoring/rollbar.js.map +1 -1
- package/lib/pipelines/index.d.ts +3 -0
- package/lib/pipelines/index.js +20 -0
- package/lib/pipelines/index.js.map +1 -0
- package/lib/pipelines/parallel-pipeline.d.ts +7 -0
- package/lib/pipelines/parallel-pipeline.js +49 -0
- package/lib/pipelines/parallel-pipeline.js.map +1 -0
- package/lib/pipelines/pipeline-step.d.ts +5 -0
- package/lib/pipelines/pipeline-step.js +3 -0
- package/lib/pipelines/pipeline-step.js.map +1 -0
- package/lib/pipelines/pipeline.example.d.ts +2 -0
- package/lib/pipelines/pipeline.example.js +96 -0
- package/lib/pipelines/pipeline.example.js.map +1 -0
- package/lib/pipelines/pipelines.test.d.ts +1 -0
- package/lib/pipelines/pipelines.test.js +204 -0
- package/lib/pipelines/pipelines.test.js.map +1 -0
- package/lib/pipelines/pipelines.typecheck.d.ts +1 -0
- package/lib/pipelines/pipelines.typecheck.js +68 -0
- package/lib/pipelines/pipelines.typecheck.js.map +1 -0
- package/lib/pipelines/serial-pipeline.d.ts +7 -0
- package/lib/pipelines/serial-pipeline.js +39 -0
- package/lib/pipelines/serial-pipeline.js.map +1 -0
- package/lib/responses/express.d.ts +1 -1
- package/lib/responses/express.js +4 -4
- package/lib/responses/express.js.map +1 -1
- package/lib/responses/index.js +17 -7
- package/lib/responses/index.js.map +1 -1
- package/lib/schemas/country.schema.d.ts +5 -0
- package/lib/schemas/country.schema.js +15 -0
- package/lib/schemas/country.schema.js.map +1 -0
- package/lib/schemas/index.d.ts +2 -0
- package/lib/schemas/index.js +21 -0
- package/lib/schemas/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/context.entity.d.ts +20 -0
- package/lib/types/context.entity.js +64 -8
- package/lib/types/context.entity.js.map +1 -1
- package/lib/types/integrations/credential.entity.d.ts +1 -0
- package/lib/types/integrations/credential.entity.js +5 -0
- package/lib/types/integrations/credential.entity.js.map +1 -1
- package/lib/types/integrations/integration.entity.d.ts +5 -1
- package/lib/types/integrations/integration.entity.js +10 -1
- package/lib/types/integrations/integration.entity.js.map +1 -1
- package/lib/types/route.entity.d.ts +1 -1
- package/lib/utils/amount.js +0 -1
- package/lib/utils/amount.js.map +1 -1
- package/lib/utils/database.d.ts +2 -0
- package/lib/utils/database.js +35 -6
- package/lib/utils/database.js.map +1 -1
- package/lib/utils/database.spec.js +229 -185
- package/lib/utils/database.spec.js.map +1 -1
- package/lib/utils/file.d.ts +3 -2
- package/lib/utils/file.js.map +1 -1
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +20 -0
- package/lib/utils/helper.js.map +1 -1
- package/lib/utils/helper.spec.js +56 -0
- package/lib/utils/helper.spec.js.map +1 -1
- package/lib/utils/http.d.ts +3 -4
- package/lib/utils/http.js +68 -44
- package/lib/utils/http.js.map +1 -1
- package/lib/utils/http.spec.d.ts +1 -0
- package/lib/utils/http.spec.js +121 -0
- package/lib/utils/http.spec.js.map +1 -0
- package/lib/utils/phoneNumber.d.ts +2 -2
- package/lib/utils/phoneNumber.js +17 -7
- package/lib/utils/phoneNumber.js.map +1 -1
- package/lib/utils/phoneNumber.spec.js +20 -0
- package/lib/utils/phoneNumber.spec.js.map +1 -1
- package/lib/utils/validator.d.ts +3 -2
- package/lib/utils/validator.js +40 -14
- package/lib/utils/validator.js.map +1 -1
- package/lib/utils/validator.spec.js +130 -14
- package/lib/utils/validator.spec.js.map +1 -1
- package/package.json +30 -23
- package/readme.md +37 -2
|
@@ -3,167 +3,244 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const database_1 = require("./database");
|
|
7
6
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
it('should return default values when empty request query is provided', () => {
|
|
25
|
-
const requestQuery = {};
|
|
26
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery);
|
|
27
|
-
expect(result).toEqual({
|
|
7
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
8
|
+
const database_1 = require("./database");
|
|
9
|
+
dayjs_1.default.extend(customParseFormat_1.default);
|
|
10
|
+
const expectRegex = (value, source, flags = 'gi') => {
|
|
11
|
+
expect(value).toBeInstanceOf(RegExp);
|
|
12
|
+
expect(value.source).toBe(source);
|
|
13
|
+
expect(value.flags).toBe(flags);
|
|
14
|
+
};
|
|
15
|
+
const expectDayBounds = (value, expected, format = 'DD-MM-YYYY', bound = 'startOf') => {
|
|
16
|
+
const expectedDate = (0, dayjs_1.default)(expected, format)[bound]('day').toDate();
|
|
17
|
+
expect(value).toEqual(expectedDate);
|
|
18
|
+
};
|
|
19
|
+
describe('DatabaseUtil.resolveObjectToMongoDBQuery', () => {
|
|
20
|
+
describe('base query controls', () => {
|
|
21
|
+
it('returns the default query shape for an empty request query', () => {
|
|
22
|
+
expect(database_1.DatabaseUtil.resolveObjectToMongoDBQuery({})).toEqual({
|
|
28
23
|
page: 1,
|
|
29
24
|
limit: 50,
|
|
30
25
|
filter: {},
|
|
31
26
|
expand: [],
|
|
32
|
-
sort: { _id: -1 }
|
|
27
|
+
sort: { _id: -1 },
|
|
28
|
+
populate: undefined,
|
|
33
29
|
});
|
|
34
30
|
});
|
|
35
|
-
it('
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
it('parses page, limit, sort, and expand controls without adding them to the filter', () => {
|
|
32
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
33
|
+
page: '2',
|
|
34
|
+
limit: '25',
|
|
35
|
+
sort: 'createdAt,1',
|
|
36
|
+
expand: 'author,comments',
|
|
37
|
+
});
|
|
38
|
+
expect(result).toMatchObject({
|
|
39
|
+
page: 2,
|
|
40
|
+
limit: 25,
|
|
41
|
+
sort: { createdAt: '1' },
|
|
42
|
+
expand: ['author', 'comments'],
|
|
43
|
+
filter: {},
|
|
44
|
+
});
|
|
39
45
|
});
|
|
40
|
-
it('
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
expect(result.page).toBe(2);
|
|
44
|
-
expect(result.limit).toBe(25);
|
|
46
|
+
it('uses descending sort when only a sort field is provided', () => {
|
|
47
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ sort: 'name' });
|
|
48
|
+
expect(result.sort).toEqual({ name: -1 });
|
|
45
49
|
});
|
|
46
|
-
it('
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
it('keeps parseInt results for invalid numeric controls', () => {
|
|
51
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
52
|
+
page: 'not-a-page',
|
|
53
|
+
limit: 'not-a-limit',
|
|
54
|
+
});
|
|
55
|
+
expect(result.page).toBeNaN();
|
|
56
|
+
expect(result.limit).toBeNaN();
|
|
51
57
|
});
|
|
52
|
-
it('
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
expect(result.sort).toEqual({ name: '1' });
|
|
58
|
+
it('splits an empty expand value using native string split behavior', () => {
|
|
59
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ expand: '' });
|
|
60
|
+
expect(result.expand).toEqual(['']);
|
|
56
61
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
});
|
|
63
|
+
describe('date filters', () => {
|
|
64
|
+
it('adds dateFrom as an inclusive start-of-day lower bound on createdAt by default', () => {
|
|
65
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ dateFrom: '01-01-2023' });
|
|
66
|
+
expectDayBounds(result.filter.createdAt.$gte, '01-01-2023');
|
|
67
|
+
expect(result.filter.createdAt.$lte).toBeUndefined();
|
|
61
68
|
});
|
|
62
|
-
it('
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
it('adds dateTo as an inclusive end-of-day upper bound on createdAt by default', () => {
|
|
70
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ dateTo: '31-01-2023' });
|
|
71
|
+
expect(result.filter.createdAt.$gte).toBeUndefined();
|
|
72
|
+
expectDayBounds(result.filter.createdAt.$lte, '31-01-2023', 'DD-MM-YYYY', 'endOf');
|
|
66
73
|
});
|
|
67
|
-
it('
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
it('combines dateFrom and dateTo on the same date field', () => {
|
|
75
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
76
|
+
dateFrom: '01-01-2023',
|
|
77
|
+
dateTo: '31-01-2023',
|
|
78
|
+
});
|
|
79
|
+
expectDayBounds(result.filter.createdAt.$gte, '01-01-2023');
|
|
80
|
+
expectDayBounds(result.filter.createdAt.$lte, '31-01-2023', 'DD-MM-YYYY', 'endOf');
|
|
81
|
+
});
|
|
82
|
+
it('uses a custom date field when provided', () => {
|
|
83
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
84
|
+
dateFrom: '01-01-2023',
|
|
85
|
+
dateTo: '31-01-2023',
|
|
86
|
+
}, { dateField: 'updatedAt' });
|
|
87
|
+
expect(result.filter.createdAt).toBeUndefined();
|
|
88
|
+
expectDayBounds(result.filter.updatedAt.$gte, '01-01-2023');
|
|
89
|
+
expectDayBounds(result.filter.updatedAt.$lte, '31-01-2023', 'DD-MM-YYYY', 'endOf');
|
|
71
90
|
});
|
|
72
|
-
it('
|
|
73
|
-
const
|
|
74
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const requestQuery = { dateFrom: '2023-01-01', dateTo: '2023-01-31' };
|
|
97
|
-
const options = { dateFormat: 'YYYY-MM-DD' };
|
|
98
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery, options);
|
|
99
|
-
});
|
|
100
|
-
it('should ignore empty dateFrom and dateTo parameters', () => {
|
|
101
|
-
const requestQuery = { dateFrom: '', dateTo: '' };
|
|
102
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery);
|
|
91
|
+
it('uses a custom date format when provided', () => {
|
|
92
|
+
const options = { dateFormat: 'YYYY/MM/DD' };
|
|
93
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
94
|
+
dateFrom: '2023/01/01',
|
|
95
|
+
dateTo: '2023/01/31',
|
|
96
|
+
}, options);
|
|
97
|
+
expectDayBounds(result.filter.createdAt.$gte, '2023/01/01', options.dateFormat);
|
|
98
|
+
expectDayBounds(result.filter.createdAt.$lte, '2023/01/31', options.dateFormat, 'endOf');
|
|
99
|
+
});
|
|
100
|
+
it.each([
|
|
101
|
+
['unix timestamp seconds', '1672531200'],
|
|
102
|
+
['ISO date', '2023-01-01'],
|
|
103
|
+
['ISO timestamp with offset', '2023-01-01T13:30:00.000+00:00'],
|
|
104
|
+
['DD-MM-YYYY date', '01-01-2023'],
|
|
105
|
+
])('parses the default %s date format', (_label, dateFrom) => {
|
|
106
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ dateFrom });
|
|
107
|
+
expect(result.filter.createdAt.$gte).toBeInstanceOf(Date);
|
|
108
|
+
expect(result.filter.createdAt.$gte.toString()).not.toBe('Invalid Date');
|
|
109
|
+
});
|
|
110
|
+
it('ignores empty date boundaries', () => {
|
|
111
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
112
|
+
dateFrom: '',
|
|
113
|
+
dateTo: '',
|
|
114
|
+
});
|
|
103
115
|
expect(result.filter.createdAt).toBeUndefined();
|
|
104
116
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const sanitizedQuery = 'testquery';
|
|
117
|
+
});
|
|
118
|
+
describe('search filters', () => {
|
|
119
|
+
it('creates a text search filter when no search fields are configured', () => {
|
|
120
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ q: 'test-query' });
|
|
110
121
|
expect(result.filter.$text).toEqual({
|
|
111
122
|
$search: expect.any(RegExp),
|
|
112
|
-
$caseSensitive: false
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
});
|
|
125
|
-
it('should handle search query with provided searchFields', () => {
|
|
126
|
-
const requestQuery = { q: 'test-query' };
|
|
127
|
-
const options = {
|
|
128
|
-
searchFields: ['name', 'description', 'tags']
|
|
129
|
-
};
|
|
130
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery, options);
|
|
131
|
-
// Should sanitize the query
|
|
132
|
-
const sanitizedQuery = 'testquery';
|
|
123
|
+
$caseSensitive: false,
|
|
124
|
+
});
|
|
125
|
+
expectRegex(result.filter.$text.$search, 'testquery');
|
|
126
|
+
});
|
|
127
|
+
it('sanitizes special characters from text search input', () => {
|
|
128
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
129
|
+
q: '+test-query with $pecial ch@racters!',
|
|
130
|
+
});
|
|
131
|
+
expectRegex(result.filter.$text.$search, 'testquery with pecial chracters');
|
|
132
|
+
});
|
|
133
|
+
it('creates a field search $or group when search fields are configured', () => {
|
|
134
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ q: 'Harry Potter' }, { searchFields: ['title', 'description', 'tags'] });
|
|
133
135
|
expect(result.filter.$or).toEqual([
|
|
134
|
-
{
|
|
136
|
+
{ title: expect.any(RegExp) },
|
|
135
137
|
{ description: expect.any(RegExp) },
|
|
136
|
-
{ tags: expect.any(RegExp) }
|
|
138
|
+
{ tags: expect.any(RegExp) },
|
|
139
|
+
]);
|
|
140
|
+
result.filter.$or.forEach((condition) => {
|
|
141
|
+
expectRegex(condition[Object.keys(condition)[0]], 'Harry Potter');
|
|
142
|
+
});
|
|
143
|
+
expect(result.filter.$text).toBeUndefined();
|
|
144
|
+
});
|
|
145
|
+
it('does not add an $or group for search when searchFields is empty', () => {
|
|
146
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ q: 'Harry Potter' }, { searchFields: [] });
|
|
147
|
+
expect(result.filter.$or).toBeUndefined();
|
|
148
|
+
expectRegex(result.filter.$text.$search, 'Harry Potter');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
describe('parent client search', () => {
|
|
152
|
+
it('passes clientId through as a direct filter when parent client search is disabled', () => {
|
|
153
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ clientId: 'client-1' });
|
|
154
|
+
expect(result.filter).toEqual({ clientId: 'client-1' });
|
|
155
|
+
});
|
|
156
|
+
it('expands clientId into clientId or parentClientId when enabled', () => {
|
|
157
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({ clientId: 'client-1' }, { enableParentClientSearch: true });
|
|
158
|
+
expect(result.filter).toEqual({
|
|
159
|
+
$or: [{ clientId: 'client-1' }, { parentClientId: 'client-1' }],
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
it('combines parent client search and field search with $and when q is processed first', () => {
|
|
163
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
164
|
+
q: 'Harry Potter',
|
|
165
|
+
clientId: 'client-1',
|
|
166
|
+
}, {
|
|
167
|
+
enableParentClientSearch: true,
|
|
168
|
+
searchFields: ['title', 'description'],
|
|
169
|
+
});
|
|
170
|
+
expect(result.filter.$or).toBeUndefined();
|
|
171
|
+
expect(result.filter.$and).toEqual([
|
|
172
|
+
{
|
|
173
|
+
$or: [{ title: expect.any(RegExp) }, { description: expect.any(RegExp) }],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
$or: [{ clientId: 'client-1' }, { parentClientId: 'client-1' }],
|
|
177
|
+
},
|
|
178
|
+
]);
|
|
179
|
+
});
|
|
180
|
+
it('combines parent client search and field search with $and when clientId is processed first', () => {
|
|
181
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
182
|
+
clientId: 'client-1',
|
|
183
|
+
q: 'Harry Potter',
|
|
184
|
+
}, {
|
|
185
|
+
enableParentClientSearch: true,
|
|
186
|
+
searchFields: ['title', 'description'],
|
|
187
|
+
});
|
|
188
|
+
expect(result.filter.$or).toBeUndefined();
|
|
189
|
+
expect(result.filter.$and).toEqual([
|
|
190
|
+
{
|
|
191
|
+
$or: [{ clientId: 'client-1' }, { parentClientId: 'client-1' }],
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
$or: [{ title: expect.any(RegExp) }, { description: expect.any(RegExp) }],
|
|
195
|
+
},
|
|
196
|
+
]);
|
|
197
|
+
});
|
|
198
|
+
it('appends additional $or groups to an existing $and group', () => {
|
|
199
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
200
|
+
clientId: 'client-1',
|
|
201
|
+
q: 'Harry Potter',
|
|
202
|
+
accountId: 'account-1',
|
|
203
|
+
}, {
|
|
204
|
+
enableParentClientSearch: true,
|
|
205
|
+
searchFields: ['title'],
|
|
206
|
+
});
|
|
207
|
+
expect(result.filter.$and).toEqual([
|
|
208
|
+
{
|
|
209
|
+
$or: [{ clientId: 'client-1' }, { parentClientId: 'client-1' }],
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
$or: [{ title: expect.any(RegExp) }],
|
|
213
|
+
},
|
|
137
214
|
]);
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
});
|
|
165
|
-
it('
|
|
166
|
-
const
|
|
215
|
+
expect(result.filter.accountId).toBe('account-1');
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
describe('populate and direct filters', () => {
|
|
219
|
+
it('maps configured populate fields to include flags', () => {
|
|
220
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({}, { populate: ['client', 'wallet'] });
|
|
221
|
+
expect(result.populate).toEqual({
|
|
222
|
+
client: 1,
|
|
223
|
+
wallet: 1,
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
it('passes unreserved query parameters through to the filter unchanged', () => {
|
|
227
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
228
|
+
status: 'active',
|
|
229
|
+
category: undefined,
|
|
230
|
+
isPublished: true,
|
|
231
|
+
metadata: { source: 'api' },
|
|
232
|
+
tags: [],
|
|
233
|
+
});
|
|
234
|
+
expect(result.filter).toEqual({
|
|
235
|
+
status: 'active',
|
|
236
|
+
category: undefined,
|
|
237
|
+
isPublished: true,
|
|
238
|
+
metadata: { source: 'api' },
|
|
239
|
+
tags: [],
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
it('resolves a mixed request query', () => {
|
|
243
|
+
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery({
|
|
167
244
|
page: '2',
|
|
168
245
|
limit: '25',
|
|
169
246
|
sort: 'createdAt,-1',
|
|
@@ -172,57 +249,24 @@ describe('DatabaseAction', () => {
|
|
|
172
249
|
dateTo: '31-01-2023',
|
|
173
250
|
q: 'Harry Potter',
|
|
174
251
|
status: 'published',
|
|
175
|
-
category: 'fiction'
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
};
|
|
180
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery, options);
|
|
252
|
+
category: 'fiction',
|
|
253
|
+
}, {
|
|
254
|
+
searchFields: ['title', 'description'],
|
|
255
|
+
populate: ['author'],
|
|
256
|
+
});
|
|
181
257
|
expect(result.page).toBe(2);
|
|
182
258
|
expect(result.limit).toBe(25);
|
|
183
259
|
expect(result.sort).toEqual({ createdAt: '-1' });
|
|
184
260
|
expect(result.expand).toEqual(['author', 'comments']);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
expect(result.filter.$or).
|
|
261
|
+
expectDayBounds(result.filter.createdAt.$gte, '01-01-2023');
|
|
262
|
+
expectDayBounds(result.filter.createdAt.$lte, '31-01-2023', 'DD-MM-YYYY', 'endOf');
|
|
263
|
+
expect(result.filter.$or).toEqual([
|
|
264
|
+
{ title: expect.any(RegExp) },
|
|
265
|
+
{ description: expect.any(RegExp) },
|
|
266
|
+
]);
|
|
188
267
|
expect(result.filter.status).toBe('published');
|
|
189
268
|
expect(result.filter.category).toBe('fiction');
|
|
190
|
-
|
|
191
|
-
it('should handle null or undefined values in request query', () => {
|
|
192
|
-
const requestQuery = {
|
|
193
|
-
status: null,
|
|
194
|
-
category: undefined,
|
|
195
|
-
tags: []
|
|
196
|
-
};
|
|
197
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery);
|
|
198
|
-
expect(result.filter.status).toBe(null);
|
|
199
|
-
expect(result.filter.category).toBe(undefined);
|
|
200
|
-
expect(result.filter.tags).toEqual([]);
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
describe('enableParentClientSearch', () => {
|
|
204
|
-
it('should enable search by clientId', () => {
|
|
205
|
-
const requestQuery = {
|
|
206
|
-
page: '2',
|
|
207
|
-
limit: '25',
|
|
208
|
-
sort: 'createdAt,-1',
|
|
209
|
-
expand: 'author,comments',
|
|
210
|
-
dateFrom: '01-01-2023',
|
|
211
|
-
dateTo: '31-01-2023',
|
|
212
|
-
q: 'Harry Potter',
|
|
213
|
-
status: 'published',
|
|
214
|
-
category: 'fiction',
|
|
215
|
-
clientId: '1234567890'
|
|
216
|
-
};
|
|
217
|
-
const options = {
|
|
218
|
-
enableParentClientSearch: true
|
|
219
|
-
};
|
|
220
|
-
const result = database_1.DatabaseUtil.resolveObjectToMongoDBQuery(requestQuery, options);
|
|
221
|
-
expect(result.filter["$or"]).toHaveLength(2);
|
|
222
|
-
expect(result.filter["$or"][0]).toEqual({ clientId: "1234567890" });
|
|
223
|
-
expect(result.filter["$or"][1]).toEqual({ parentClientId: "1234567890" });
|
|
224
|
-
expect(result.filter.clientId).toBe(undefined);
|
|
225
|
-
console.log("Result", JSON.stringify(result.filter));
|
|
269
|
+
expect(result.populate).toEqual({ author: 1 });
|
|
226
270
|
});
|
|
227
271
|
});
|
|
228
272
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.spec.js","sourceRoot":"","sources":["../../src/utils/database.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.spec.js","sourceRoot":"","sources":["../../src/utils/database.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/file.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { PFunctionResult } from '../types';
|
|
2
|
+
import { Options } from 'csv-parse/sync';
|
|
3
|
+
import { Sheet2JSONOpts } from 'xlsx';
|
|
3
4
|
export declare enum FileType {
|
|
4
5
|
csv = "csv",
|
|
5
6
|
xlsx = "xlsx",
|
|
@@ -16,7 +17,7 @@ export type ConvertFilePayload = {
|
|
|
16
17
|
destination: FileSourceOrDestination;
|
|
17
18
|
fileType: FileType;
|
|
18
19
|
sourceFile?: string | Buffer;
|
|
19
|
-
destinationFileParams?: Record<string, any>;
|
|
20
|
+
destinationFileParams?: Options | Sheet2JSONOpts | Record<string, any>;
|
|
20
21
|
};
|
|
21
22
|
export declare class FileUtil {
|
|
22
23
|
static getFileFromURL(url: string): Promise<Buffer>;
|
package/lib/utils/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,yCAAgD;AAChD,gDAA0C;AAE1C,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,uBAAW,CAAA;AACb,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,sCAAW,CAAA;IACX,sCAAW,CAAA;IACX,wCAAa,CAAA;AACf,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AAWD,MAAa,QAAQ;IACnB,MAAM,CAAO,cAAc,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CAAC,OAA2B;;YAClD,IAAI,IAAkB,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM,KAAK,uBAAuB,CAAC,GAAG,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAoB,CAAC,CAAC;gBACzD,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;gBAC7F,OAAO;oBACL,IAAI,EAAE,IAAA,YAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,qBAAgC,CAAC;iBACpF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;gBACrH,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,cAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,kBAC3C,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,KAAK,IACb,OAAO,CAAC,qBAAuC,EAErD,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,IAAI;iBACX,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;KAAA;CACF;AA1CD,4BA0CC;AAID,MAAM;AACN,2BAA2B;AAC3B,2BAA2B;AAC3B,yCAAyC;AACzC,4BAA4B;AAC5B,0GAA0G;AAC1G,+CAA+C;AAC/C,6BAA6B;AAC7B,qBAAqB;AACrB,sBAAsB;AACtB,8BAA8B;AAC9B,OAAO;AACP,uBAAuB;AACvB,2BAA2B;AAG3B,2BAA2B;AAC3B,2BAA2B;AAC3B,yCAAyC;AACzC,6BAA6B;AAC7B,0GAA0G;AAC1G,+CAA+C;AAC/C,6BAA6B;AAC7B,qBAAqB;AACrB,oBAAoB;AACpB,8BAA8B;AAC9B,OAAO;AACP,uBAAuB;AACvB,2BAA2B"}
|
package/lib/utils/helper.d.ts
CHANGED
|
@@ -7,4 +7,6 @@ export declare class HelperUtil {
|
|
|
7
7
|
static sleep(durationInMs?: number): Promise<unknown>;
|
|
8
8
|
static saveActivityLog(activityLog: SaveActivityLogDTO, options?: any): Promise<void>;
|
|
9
9
|
static removeFieldsWithEmptyValue(value: any): any;
|
|
10
|
+
static getUniqueStringItemsFromArray(items: Array<string | undefined | null>): string[];
|
|
11
|
+
static getUniqueObjectItemsFromArray<T extends Record<string, any>>(items: T[], keys: Array<keyof T>): T[];
|
|
10
12
|
}
|
package/lib/utils/helper.js
CHANGED
|
@@ -87,6 +87,26 @@ class HelperUtil {
|
|
|
87
87
|
}
|
|
88
88
|
return objectTobeWorkingOn;
|
|
89
89
|
}
|
|
90
|
+
static getUniqueStringItemsFromArray(items) {
|
|
91
|
+
return [...new Set(items.filter(Boolean).map(String))];
|
|
92
|
+
}
|
|
93
|
+
static getUniqueObjectItemsFromArray(items, keys) {
|
|
94
|
+
if (!keys.length)
|
|
95
|
+
return items;
|
|
96
|
+
const uniqueItems = new Set();
|
|
97
|
+
return items.filter(item => {
|
|
98
|
+
const uniqueKey = keys
|
|
99
|
+
.map(key => {
|
|
100
|
+
const value = item[key];
|
|
101
|
+
return `${String(key)}:${typeof value}:${String(value)}`;
|
|
102
|
+
})
|
|
103
|
+
.join('|');
|
|
104
|
+
if (uniqueItems.has(uniqueKey))
|
|
105
|
+
return false;
|
|
106
|
+
uniqueItems.add(uniqueKey);
|
|
107
|
+
return true;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
90
110
|
}
|
|
91
111
|
exports.HelperUtil = HelperUtil;
|
|
92
112
|
//# sourceMappingURL=helper.js.map
|
package/lib/utils/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;AACb,kDAA0B;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"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"}
|