drapcode-utility 1.0.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 (39) hide show
  1. package/build/encryption/index.d.ts +15 -0
  2. package/build/encryption/index.js +255 -0
  3. package/build/errors/app-error.d.ts +6 -0
  4. package/build/errors/app-error.js +30 -0
  5. package/build/errors/axios-error.d.ts +13 -0
  6. package/build/errors/axios-error.js +78 -0
  7. package/build/errors/bad-request-error.d.ts +9 -0
  8. package/build/errors/bad-request-error.js +32 -0
  9. package/build/errors/custom-error.d.ts +8 -0
  10. package/build/errors/custom-error.js +26 -0
  11. package/build/errors/not-found.d.ts +8 -0
  12. package/build/errors/not-found.js +31 -0
  13. package/build/index.d.ts +17 -0
  14. package/build/index.js +29 -0
  15. package/build/middlewares/api-limiter.d.ts +1 -0
  16. package/build/middlewares/api-limiter.js +21 -0
  17. package/build/middlewares/error-logger.d.ts +3 -0
  18. package/build/middlewares/error-logger.js +74 -0
  19. package/build/middlewares/interceptor-logger-new.d.ts +2 -0
  20. package/build/middlewares/interceptor-logger-new.js +54 -0
  21. package/build/middlewares/interceptor-logger.d.ts +2 -0
  22. package/build/middlewares/interceptor-logger.js +42 -0
  23. package/build/middlewares/redis/request-log.d.ts +1 -0
  24. package/build/middlewares/redis/request-log.js +79 -0
  25. package/build/utils/check-error.d.ts +9 -0
  26. package/build/utils/check-error.js +188 -0
  27. package/build/utils/date-util.d.ts +8 -0
  28. package/build/utils/date-util.js +104 -0
  29. package/build/utils/prepare-query.d.ts +132 -0
  30. package/build/utils/prepare-query.js +94 -0
  31. package/build/utils/query-parser.d.ts +11 -0
  32. package/build/utils/query-parser.js +778 -0
  33. package/build/utils/query-paser-new.d.ts +1 -0
  34. package/build/utils/query-paser-new.js +682 -0
  35. package/build/utils/util.d.ts +27 -0
  36. package/build/utils/util.js +373 -0
  37. package/build/utils/uuid-generator.d.ts +1 -0
  38. package/build/utils/uuid-generator.js +65 -0
  39. package/package.json +47 -0
@@ -0,0 +1,132 @@
1
+ export declare const prepareCollectionQuery: (matchQuery: object, filterId: string) => ({
2
+ $match: object;
3
+ $addFields?: undefined;
4
+ $unwind?: undefined;
5
+ $group?: undefined;
6
+ $project?: undefined;
7
+ } | {
8
+ $addFields: {
9
+ finder: {
10
+ $filter: {
11
+ input: string;
12
+ as: string;
13
+ cond: {
14
+ $eq: string[];
15
+ };
16
+ };
17
+ };
18
+ refCollectionFields: {
19
+ $filter: {
20
+ input: string;
21
+ as: string;
22
+ cond: {
23
+ $or: {
24
+ $eq: string[];
25
+ }[];
26
+ };
27
+ };
28
+ };
29
+ filterFinder?: undefined;
30
+ };
31
+ $match?: undefined;
32
+ $unwind?: undefined;
33
+ $group?: undefined;
34
+ $project?: undefined;
35
+ } | {
36
+ $unwind: string;
37
+ $match?: undefined;
38
+ $addFields?: undefined;
39
+ $group?: undefined;
40
+ $project?: undefined;
41
+ } | {
42
+ $addFields: {
43
+ filterFinder: string;
44
+ finder?: undefined;
45
+ refCollectionFields?: undefined;
46
+ };
47
+ $match?: undefined;
48
+ $unwind?: undefined;
49
+ $group?: undefined;
50
+ $project?: undefined;
51
+ } | {
52
+ $unwind: {
53
+ path: string;
54
+ preserveNullAndEmptyArrays: boolean;
55
+ };
56
+ $match?: undefined;
57
+ $addFields?: undefined;
58
+ $group?: undefined;
59
+ $project?: undefined;
60
+ } | {
61
+ $group: {
62
+ _id: null;
63
+ filterFinder: {
64
+ $first: string;
65
+ };
66
+ fields: {
67
+ $first: string;
68
+ };
69
+ noOfExternalParams: {
70
+ $first: string;
71
+ };
72
+ isPrivate: {
73
+ $first: string;
74
+ };
75
+ finder: {
76
+ $first: string;
77
+ };
78
+ refCollectionFields: {
79
+ $first: string;
80
+ };
81
+ constants: {
82
+ $first: string;
83
+ };
84
+ isInMemory: {
85
+ $first: string;
86
+ };
87
+ projectId: {
88
+ $first: string;
89
+ };
90
+ lastRefreshTime: {
91
+ $first: string;
92
+ };
93
+ collectionName: {
94
+ $first: string;
95
+ };
96
+ externalParams: {
97
+ $push: {
98
+ $cond: (string | {
99
+ $and: ({
100
+ $gt: (string | number)[];
101
+ $eq?: undefined;
102
+ } | {
103
+ $eq: (string | boolean)[];
104
+ $gt?: undefined;
105
+ })[];
106
+ })[];
107
+ };
108
+ };
109
+ };
110
+ $match?: undefined;
111
+ $addFields?: undefined;
112
+ $unwind?: undefined;
113
+ $project?: undefined;
114
+ } | {
115
+ $project: {
116
+ noOfExternalParams: number;
117
+ finder: string;
118
+ isInMemory: number;
119
+ lastRefreshTime: number;
120
+ constants: number;
121
+ collectionName: number;
122
+ refCollectionFields: number;
123
+ externalParams: number;
124
+ projectId: number;
125
+ isPrivate: number;
126
+ fields: number;
127
+ };
128
+ $match?: undefined;
129
+ $addFields?: undefined;
130
+ $unwind?: undefined;
131
+ $group?: undefined;
132
+ })[];
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareCollectionQuery = void 0;
4
+ var prepareCollectionQuery = function (matchQuery, filterId) {
5
+ var query = [
6
+ { $match: matchQuery },
7
+ {
8
+ $addFields: {
9
+ finder: {
10
+ $filter: {
11
+ input: "$finders",
12
+ as: "finder",
13
+ cond: { $eq: ["$$finder.uuid", filterId] },
14
+ },
15
+ },
16
+ refCollectionFields: {
17
+ $filter: {
18
+ input: "$fields",
19
+ as: "fields",
20
+ cond: {
21
+ $or: [
22
+ { $eq: ["$$fields.type", "reference"] },
23
+ { $eq: ["$$fields.type", "multi_reference"] },
24
+ { $eq: ["$$fields.type", "belongsTo"] },
25
+ { $eq: ["$$fields.type", "createdBy"] },
26
+ ],
27
+ },
28
+ },
29
+ },
30
+ },
31
+ },
32
+ { $unwind: "$finder" },
33
+ {
34
+ $addFields: { filterFinder: "$finder" },
35
+ },
36
+ {
37
+ $unwind: {
38
+ path: "$finder.conditions",
39
+ preserveNullAndEmptyArrays: true,
40
+ },
41
+ },
42
+ {
43
+ $group: {
44
+ _id: null,
45
+ filterFinder: { $first: "$filterFinder" },
46
+ fields: { $first: "$fields" },
47
+ noOfExternalParams: { $first: "$finder.noOfExternalParams" },
48
+ isPrivate: { $first: "$finder.isPrivate" },
49
+ finder: { $first: "$finder" },
50
+ refCollectionFields: { $first: "$refCollectionFields" },
51
+ constants: { $first: "$constants" },
52
+ isInMemory: { $first: "$isInMemory" },
53
+ projectId: { $first: "$projectId" },
54
+ lastRefreshTime: { $first: "$lastRefreshTime" },
55
+ collectionName: { $first: "$collectionName" },
56
+ externalParams: {
57
+ $push: {
58
+ $cond: [
59
+ {
60
+ $and: [
61
+ {
62
+ $gt: ["$finder.noOfExternalParams", 0],
63
+ },
64
+ {
65
+ $eq: ["$finder.conditions.requiredExternal", true],
66
+ },
67
+ ],
68
+ },
69
+ "$finder.conditions.query.value",
70
+ "$$REMOVE",
71
+ ],
72
+ },
73
+ },
74
+ },
75
+ },
76
+ {
77
+ $project: {
78
+ noOfExternalParams: 1,
79
+ finder: "$filterFinder",
80
+ isInMemory: 1,
81
+ lastRefreshTime: 1,
82
+ constants: 1,
83
+ collectionName: 1,
84
+ refCollectionFields: 1,
85
+ externalParams: 1,
86
+ projectId: 1,
87
+ isPrivate: 1,
88
+ fields: 1,
89
+ },
90
+ },
91
+ ];
92
+ return query;
93
+ };
94
+ exports.prepareCollectionQuery = prepareCollectionQuery;
@@ -0,0 +1,11 @@
1
+ export declare const queryParser: (collectionName: string, query: any, constants: any[], externalParams: any, currentUser: any, timezone: string, searchObj?: any, refCollectionFieldsInItems?: any, searchQueryTypeObj?: any, currentTenant?: any) => Promise<string>;
2
+ export declare const isEntityInCondition: (value: any) => boolean;
3
+ export declare const getMinMaxValue: (value: any) => {
4
+ startValue: any;
5
+ endValue: any;
6
+ isInteger: any;
7
+ } | {
8
+ startValue: string;
9
+ endValue: string;
10
+ isInteger?: undefined;
11
+ };