@nxgt/shared-mongo 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.
- package/README.md +15 -0
- package/dist/audit/audit.model.d.ts +209 -0
- package/dist/audit/audit.model.d.ts.map +1 -0
- package/dist/audit/audit.service.d.ts +17 -0
- package/dist/audit/audit.service.d.ts.map +1 -0
- package/dist/audit/audit.types.d.ts +29 -0
- package/dist/audit/audit.types.d.ts.map +1 -0
- package/dist/audit/audit.utils.d.ts +50 -0
- package/dist/audit/audit.utils.d.ts.map +1 -0
- package/dist/audit/index.d.ts +5 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/filters/filter.utils.d.ts +112 -0
- package/dist/filters/filter.utils.d.ts.map +1 -0
- package/dist/filters/index.d.ts +16 -0
- package/dist/filters/index.d.ts.map +1 -0
- package/dist/filters/index.js +199 -0
- package/dist/filters/index.js.map +10 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1847 -0
- package/dist/index.js.map +70 -0
- package/dist/integrity/index.d.ts +3 -0
- package/dist/integrity/index.d.ts.map +1 -0
- package/dist/integrity/integrity.registry.d.ts +38 -0
- package/dist/integrity/integrity.registry.d.ts.map +1 -0
- package/dist/integrity/integrity.types.d.ts +26 -0
- package/dist/integrity/integrity.types.d.ts.map +1 -0
- package/dist/migrations/cli.d.ts +28 -0
- package/dist/migrations/cli.d.ts.map +1 -0
- package/dist/migrations/disconnect.d.ts +8 -0
- package/dist/migrations/disconnect.d.ts.map +1 -0
- package/dist/migrations/index.d.ts +6 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/migrate.d.ts +47 -0
- package/dist/migrations/migrate.d.ts.map +1 -0
- package/dist/migrations/migration.model.d.ts +7 -0
- package/dist/migrations/migration.model.d.ts.map +1 -0
- package/dist/migrations/migration.runner.d.ts +47 -0
- package/dist/migrations/migration.runner.d.ts.map +1 -0
- package/dist/migrations/migration.types.d.ts +48 -0
- package/dist/migrations/migration.types.d.ts.map +1 -0
- package/dist/migrations/migration.utils.d.ts +40 -0
- package/dist/migrations/migration.utils.d.ts.map +1 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/pagination.d.ts +34 -0
- package/dist/models/pagination.d.ts.map +1 -0
- package/dist/models/postal-address.model.d.ts +64 -0
- package/dist/models/postal-address.model.d.ts.map +1 -0
- package/dist/mongoose.d.ts +3 -0
- package/dist/mongoose.d.ts.map +1 -0
- package/dist/plugins/consts.d.ts +6 -0
- package/dist/plugins/consts.d.ts.map +1 -0
- package/dist/plugins/errors.d.ts +3 -0
- package/dist/plugins/errors.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +15 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/pagination/index.d.ts +4 -0
- package/dist/plugins/pagination/index.d.ts.map +1 -0
- package/dist/plugins/pagination/types.d.ts +61 -0
- package/dist/plugins/pagination/types.d.ts.map +1 -0
- package/dist/plugins/pagination/utils.d.ts +24 -0
- package/dist/plugins/pagination/utils.d.ts.map +1 -0
- package/dist/plugins/shared/index.d.ts +3 -0
- package/dist/plugins/shared/index.d.ts.map +1 -0
- package/dist/plugins/shared/shared.d.ts +3 -0
- package/dist/plugins/shared/shared.d.ts.map +1 -0
- package/dist/plugins/soft-delete/index.d.ts +3 -0
- package/dist/plugins/soft-delete/index.d.ts.map +1 -0
- package/dist/plugins/soft-delete/soft-delete.d.ts +3 -0
- package/dist/plugins/soft-delete/soft-delete.d.ts.map +1 -0
- package/dist/services/crud.service.d.ts +88 -0
- package/dist/services/crud.service.d.ts.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/pagination.d.ts +72 -0
- package/dist/types/shared.d.ts +49 -0
- package/dist/types/soft-delete.d.ts +627 -0
- package/dist/utils/clear-database.d.ts +24 -0
- package/dist/utils/clear-database.d.ts.map +1 -0
- package/dist/utils/error.utils.d.ts +4 -0
- package/dist/utils/error.utils.d.ts.map +1 -0
- package/dist/utils/filter.utils.d.ts +40 -0
- package/dist/utils/filter.utils.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +72 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/mappers.d.ts +4 -0
- package/dist/utils/mappers.d.ts.map +1 -0
- package/dist/utils/models.d.ts +3 -0
- package/dist/utils/models.d.ts.map +1 -0
- package/dist/utils/mongo-utils.d.ts +45 -0
- package/dist/utils/mongo-utils.d.ts.map +1 -0
- package/dist/utils/object-id.utils.d.ts +16 -0
- package/dist/utils/object-id.utils.d.ts.map +1 -0
- package/dist/utils/pagination.utils.d.ts +6 -0
- package/dist/utils/pagination.utils.d.ts.map +1 -0
- package/dist/utils/schema.d.ts +2 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/sort.utils.d.ts +12 -0
- package/dist/utils/sort.utils.d.ts.map +1 -0
- package/dist/validation/index.d.ts +2 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/validation.types.d.ts +36 -0
- package/dist/validation/validation.types.d.ts.map +1 -0
- package/dist/validation/validation.utils.d.ts +6 -0
- package/dist/validation/validation.utils.d.ts.map +1 -0
- package/dist/validation/validators/email.validator.d.ts +8 -0
- package/dist/validation/validators/email.validator.d.ts.map +1 -0
- package/dist/validation/validators/future.validator.d.ts +8 -0
- package/dist/validation/validators/future.validator.d.ts.map +1 -0
- package/dist/validation/validators/guid.validator.d.ts +6 -0
- package/dist/validation/validators/guid.validator.d.ts.map +1 -0
- package/dist/validation/validators/index.d.ts +30 -0
- package/dist/validation/validators/index.d.ts.map +1 -0
- package/dist/validation/validators/ip.validator.d.ts +6 -0
- package/dist/validation/validators/ip.validator.d.ts.map +1 -0
- package/dist/validation/validators/ipv4.validator.d.ts +6 -0
- package/dist/validation/validators/ipv4.validator.d.ts.map +1 -0
- package/dist/validation/validators/ipv6.validator.d.ts +6 -0
- package/dist/validation/validators/ipv6.validator.d.ts.map +1 -0
- package/dist/validation/validators/mac.validator.d.ts +6 -0
- package/dist/validation/validators/mac.validator.d.ts.map +1 -0
- package/dist/validation/validators/max-length.validator.d.ts +6 -0
- package/dist/validation/validators/max-length.validator.d.ts.map +1 -0
- package/dist/validation/validators/max.validator.d.ts +6 -0
- package/dist/validation/validators/max.validator.d.ts.map +1 -0
- package/dist/validation/validators/min-length.validator.d.ts +6 -0
- package/dist/validation/validators/min-length.validator.d.ts.map +1 -0
- package/dist/validation/validators/min.validator.d.ts +6 -0
- package/dist/validation/validators/min.validator.d.ts.map +1 -0
- package/dist/validation/validators/negative.validator.d.ts +6 -0
- package/dist/validation/validators/negative.validator.d.ts.map +1 -0
- package/dist/validation/validators/not-blank.validator.d.ts +6 -0
- package/dist/validation/validators/not-blank.validator.d.ts.map +1 -0
- package/dist/validation/validators/not-empty.validator.d.ts +6 -0
- package/dist/validation/validators/not-empty.validator.d.ts.map +1 -0
- package/dist/validation/validators/object-id.validator.d.ts +6 -0
- package/dist/validation/validators/object-id.validator.d.ts.map +1 -0
- package/dist/validation/validators/past.validator.d.ts +8 -0
- package/dist/validation/validators/past.validator.d.ts.map +1 -0
- package/dist/validation/validators/pattern.validator.d.ts +6 -0
- package/dist/validation/validators/pattern.validator.d.ts.map +1 -0
- package/dist/validation/validators/phone.validator.d.ts +6 -0
- package/dist/validation/validators/phone.validator.d.ts.map +1 -0
- package/dist/validation/validators/positive.validator.d.ts +6 -0
- package/dist/validation/validators/positive.validator.d.ts.map +1 -0
- package/dist/validation/validators/range.validator.d.ts +6 -0
- package/dist/validation/validators/range.validator.d.ts.map +1 -0
- package/dist/validation/validators/required.validator.d.ts +6 -0
- package/dist/validation/validators/required.validator.d.ts.map +1 -0
- package/dist/validation/validators/size.validator.d.ts +6 -0
- package/dist/validation/validators/size.validator.d.ts.map +1 -0
- package/dist/validation/validators/ssn.validator.d.ts +6 -0
- package/dist/validation/validators/ssn.validator.d.ts.map +1 -0
- package/dist/validation/validators/street.validator.d.ts +6 -0
- package/dist/validation/validators/street.validator.d.ts.map +1 -0
- package/dist/validation/validators/time.validator.d.ts +6 -0
- package/dist/validation/validators/time.validator.d.ts.map +1 -0
- package/dist/validation/validators/url.validator.d.ts +8 -0
- package/dist/validation/validators/url.validator.d.ts.map +1 -0
- package/dist/validation/validators/uuid.validator.d.ts +6 -0
- package/dist/validation/validators/uuid.validator.d.ts.map +1 -0
- package/dist/validation/validators/zip-code.validator.d.ts +6 -0
- package/dist/validation/validators/zip-code.validator.d.ts.map +1 -0
- package/package.json +68 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# @nxgt/shared-mongo
|
|
2
|
+
|
|
3
|
+
To install dependencies:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
bun install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
To run:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
bun run src/index.ts
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This project was created using `bun init` in bun v1.3.9. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import type { HydratedDocument, Model } from 'mongoose';
|
|
2
|
+
import { Schema } from 'mongoose';
|
|
3
|
+
export interface Audit {
|
|
4
|
+
id: string;
|
|
5
|
+
type: string;
|
|
6
|
+
globalId: string;
|
|
7
|
+
author: string;
|
|
8
|
+
state: any;
|
|
9
|
+
properties: string[];
|
|
10
|
+
changes: any[];
|
|
11
|
+
version: number;
|
|
12
|
+
}
|
|
13
|
+
export type AuditDocument = HydratedDocument<Audit>;
|
|
14
|
+
type AuditModel = Model<AuditDocument, object, object, object>;
|
|
15
|
+
export declare const AuditModel: Model<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
16
|
+
_id: import("mongoose").Types.ObjectId;
|
|
17
|
+
} & {
|
|
18
|
+
__v: number;
|
|
19
|
+
}, object, object, object, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
20
|
+
_id: import("mongoose").Types.ObjectId;
|
|
21
|
+
} & {
|
|
22
|
+
__v: number;
|
|
23
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
24
|
+
_id: import("mongoose").Types.ObjectId;
|
|
25
|
+
} & {
|
|
26
|
+
__v: number;
|
|
27
|
+
} & Required<{
|
|
28
|
+
_id: import("mongoose").Types.ObjectId;
|
|
29
|
+
}>, never> & object, Schema<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
30
|
+
_id: import("mongoose").Types.ObjectId;
|
|
31
|
+
} & {
|
|
32
|
+
__v: number;
|
|
33
|
+
}, AuditModel, object, object, object, {}, import("mongoose").DefaultSchemaOptions, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
34
|
+
_id: import("mongoose").Types.ObjectId;
|
|
35
|
+
} & {
|
|
36
|
+
__v: number;
|
|
37
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
38
|
+
_id: import("mongoose").Types.ObjectId;
|
|
39
|
+
} & {
|
|
40
|
+
__v: number;
|
|
41
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
42
|
+
_id: import("mongoose").Types.ObjectId;
|
|
43
|
+
} & {
|
|
44
|
+
__v: number;
|
|
45
|
+
} & Required<{
|
|
46
|
+
_id: import("mongoose").Types.ObjectId;
|
|
47
|
+
}>, never> & object, {
|
|
48
|
+
__v?: import("mongoose").SchemaDefinitionProperty<number, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
49
|
+
_id: import("mongoose").Types.ObjectId;
|
|
50
|
+
} & {
|
|
51
|
+
__v: number;
|
|
52
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
53
|
+
_id: import("mongoose").Types.ObjectId;
|
|
54
|
+
} & {
|
|
55
|
+
__v: number;
|
|
56
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
57
|
+
_id: import("mongoose").Types.ObjectId;
|
|
58
|
+
} & {
|
|
59
|
+
__v: number;
|
|
60
|
+
} & Required<{
|
|
61
|
+
_id: import("mongoose").Types.ObjectId;
|
|
62
|
+
}>, never> & object> | undefined;
|
|
63
|
+
_id?: import("mongoose").SchemaDefinitionProperty<import("mongoose").Types.ObjectId, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
64
|
+
_id: import("mongoose").Types.ObjectId;
|
|
65
|
+
} & {
|
|
66
|
+
__v: number;
|
|
67
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
68
|
+
_id: import("mongoose").Types.ObjectId;
|
|
69
|
+
} & {
|
|
70
|
+
__v: number;
|
|
71
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
72
|
+
_id: import("mongoose").Types.ObjectId;
|
|
73
|
+
} & {
|
|
74
|
+
__v: number;
|
|
75
|
+
} & Required<{
|
|
76
|
+
_id: import("mongoose").Types.ObjectId;
|
|
77
|
+
}>, never> & object> | undefined;
|
|
78
|
+
id?: import("mongoose").SchemaDefinitionProperty<string, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
79
|
+
_id: import("mongoose").Types.ObjectId;
|
|
80
|
+
} & {
|
|
81
|
+
__v: number;
|
|
82
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
83
|
+
_id: import("mongoose").Types.ObjectId;
|
|
84
|
+
} & {
|
|
85
|
+
__v: number;
|
|
86
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
87
|
+
_id: import("mongoose").Types.ObjectId;
|
|
88
|
+
} & {
|
|
89
|
+
__v: number;
|
|
90
|
+
} & Required<{
|
|
91
|
+
_id: import("mongoose").Types.ObjectId;
|
|
92
|
+
}>, never> & object> | undefined;
|
|
93
|
+
type?: import("mongoose").SchemaDefinitionProperty<string, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
94
|
+
_id: import("mongoose").Types.ObjectId;
|
|
95
|
+
} & {
|
|
96
|
+
__v: number;
|
|
97
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
98
|
+
_id: import("mongoose").Types.ObjectId;
|
|
99
|
+
} & {
|
|
100
|
+
__v: number;
|
|
101
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
102
|
+
_id: import("mongoose").Types.ObjectId;
|
|
103
|
+
} & {
|
|
104
|
+
__v: number;
|
|
105
|
+
} & Required<{
|
|
106
|
+
_id: import("mongoose").Types.ObjectId;
|
|
107
|
+
}>, never> & object> | undefined;
|
|
108
|
+
version?: import("mongoose").SchemaDefinitionProperty<number, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
109
|
+
_id: import("mongoose").Types.ObjectId;
|
|
110
|
+
} & {
|
|
111
|
+
__v: number;
|
|
112
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
113
|
+
_id: import("mongoose").Types.ObjectId;
|
|
114
|
+
} & {
|
|
115
|
+
__v: number;
|
|
116
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
117
|
+
_id: import("mongoose").Types.ObjectId;
|
|
118
|
+
} & {
|
|
119
|
+
__v: number;
|
|
120
|
+
} & Required<{
|
|
121
|
+
_id: import("mongoose").Types.ObjectId;
|
|
122
|
+
}>, never> & object> | undefined;
|
|
123
|
+
state?: import("mongoose").SchemaDefinitionProperty<any, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
124
|
+
_id: import("mongoose").Types.ObjectId;
|
|
125
|
+
} & {
|
|
126
|
+
__v: number;
|
|
127
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
128
|
+
_id: import("mongoose").Types.ObjectId;
|
|
129
|
+
} & {
|
|
130
|
+
__v: number;
|
|
131
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
132
|
+
_id: import("mongoose").Types.ObjectId;
|
|
133
|
+
} & {
|
|
134
|
+
__v: number;
|
|
135
|
+
} & Required<{
|
|
136
|
+
_id: import("mongoose").Types.ObjectId;
|
|
137
|
+
}>, never> & object> | undefined;
|
|
138
|
+
changes?: import("mongoose").SchemaDefinitionProperty<any[], import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
139
|
+
_id: import("mongoose").Types.ObjectId;
|
|
140
|
+
} & {
|
|
141
|
+
__v: number;
|
|
142
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
143
|
+
_id: import("mongoose").Types.ObjectId;
|
|
144
|
+
} & {
|
|
145
|
+
__v: number;
|
|
146
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
147
|
+
_id: import("mongoose").Types.ObjectId;
|
|
148
|
+
} & {
|
|
149
|
+
__v: number;
|
|
150
|
+
} & Required<{
|
|
151
|
+
_id: import("mongoose").Types.ObjectId;
|
|
152
|
+
}>, never> & object> | undefined;
|
|
153
|
+
properties?: import("mongoose").SchemaDefinitionProperty<string[], import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
154
|
+
_id: import("mongoose").Types.ObjectId;
|
|
155
|
+
} & {
|
|
156
|
+
__v: number;
|
|
157
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
158
|
+
_id: import("mongoose").Types.ObjectId;
|
|
159
|
+
} & {
|
|
160
|
+
__v: number;
|
|
161
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
162
|
+
_id: import("mongoose").Types.ObjectId;
|
|
163
|
+
} & {
|
|
164
|
+
__v: number;
|
|
165
|
+
} & Required<{
|
|
166
|
+
_id: import("mongoose").Types.ObjectId;
|
|
167
|
+
}>, never> & object> | undefined;
|
|
168
|
+
globalId?: import("mongoose").SchemaDefinitionProperty<string, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
169
|
+
_id: import("mongoose").Types.ObjectId;
|
|
170
|
+
} & {
|
|
171
|
+
__v: number;
|
|
172
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
173
|
+
_id: import("mongoose").Types.ObjectId;
|
|
174
|
+
} & {
|
|
175
|
+
__v: number;
|
|
176
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
177
|
+
_id: import("mongoose").Types.ObjectId;
|
|
178
|
+
} & {
|
|
179
|
+
__v: number;
|
|
180
|
+
} & Required<{
|
|
181
|
+
_id: import("mongoose").Types.ObjectId;
|
|
182
|
+
}>, never> & object> | undefined;
|
|
183
|
+
author?: import("mongoose").SchemaDefinitionProperty<string, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
184
|
+
_id: import("mongoose").Types.ObjectId;
|
|
185
|
+
} & {
|
|
186
|
+
__v: number;
|
|
187
|
+
}, import("mongoose").Document<unknown, object, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
188
|
+
_id: import("mongoose").Types.ObjectId;
|
|
189
|
+
} & {
|
|
190
|
+
__v: number;
|
|
191
|
+
}, object, import("mongoose").DefaultSchemaOptions> & Omit<import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
192
|
+
_id: import("mongoose").Types.ObjectId;
|
|
193
|
+
} & {
|
|
194
|
+
__v: number;
|
|
195
|
+
} & Required<{
|
|
196
|
+
_id: import("mongoose").Types.ObjectId;
|
|
197
|
+
}>, never> & object> | undefined;
|
|
198
|
+
}, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
199
|
+
_id: import("mongoose").Types.ObjectId;
|
|
200
|
+
} & {
|
|
201
|
+
__v: number;
|
|
202
|
+
}>, import("mongoose").Document<unknown, {}, Audit, {}, import("mongoose").DefaultSchemaOptions> & Audit & {
|
|
203
|
+
_id: import("mongoose").Types.ObjectId;
|
|
204
|
+
} & {
|
|
205
|
+
__v: number;
|
|
206
|
+
}>;
|
|
207
|
+
export declare const AUDIT_CHANGE_STREAM: import("mongodb").ChangeStream<any, any>;
|
|
208
|
+
export {};
|
|
209
|
+
//# sourceMappingURL=audit.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.model.d.ts","sourceRoot":"","sources":["../../src/audit/audit.model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAS,MAAM,EAAE,MAAM,UAAU,CAAC;AAKzC,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEpD,KAAK,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAyB/D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAC;AAEjD,eAAO,MAAM,mBAAmB,0CAM9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { QueryFilter } from 'mongoose';
|
|
2
|
+
import type { IConnection, PaginationOptions } from '../models';
|
|
3
|
+
import { type Audit, type AuditDocument } from './audit.model';
|
|
4
|
+
import type { Change } from './audit.types';
|
|
5
|
+
export declare class AuditService {
|
|
6
|
+
private model;
|
|
7
|
+
findChangesPaginated<T>(options: PaginationOptions): Promise<IConnection<Change<T>>>;
|
|
8
|
+
findChangesPaginatedByCollectionAndOid<T>(oid: string, collection: string, options: PaginationOptions): Promise<IConnection<Change<T>>>;
|
|
9
|
+
findChangesPaginatedByCollection<T>(collection: string, options: PaginationOptions): Promise<IConnection<Change<T>>>;
|
|
10
|
+
findChanges<T>(filter?: QueryFilter<AuditDocument>): Promise<Change<T>[]>;
|
|
11
|
+
matches(audit: Audit, filter: {
|
|
12
|
+
collection: string;
|
|
13
|
+
type?: string;
|
|
14
|
+
}): boolean;
|
|
15
|
+
extractId(audit: Audit): string | undefined;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=audit.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.service.d.ts","sourceRoot":"","sources":["../../src/audit/audit.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAc,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,YAAY;IACxB,OAAO,CAAC,KAAK,CAAc;IAErB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB;IAIxD,sCAAsC,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB;IAa3B,gCAAgC,CAAC,CAAC,EACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB;IAarB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAE,WAAW,CAAC,aAAa,CAAM;IAI5D,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAOnE,SAAS,CAAC,KAAK,EAAE,KAAK;CAGtB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Mutex } from 'async-mutex';
|
|
2
|
+
import type mongoose from 'mongoose';
|
|
3
|
+
import type { Audit } from './audit.model';
|
|
4
|
+
export declare enum ChangeOperationType {
|
|
5
|
+
ADD = "add",
|
|
6
|
+
REPLACE = "replace",
|
|
7
|
+
REMOVE = "remove"
|
|
8
|
+
}
|
|
9
|
+
export declare enum CommitType {
|
|
10
|
+
INITIAL = "INITIAL",
|
|
11
|
+
UPDATE = "UPDATE",
|
|
12
|
+
TERMINAL = "TERMINAL"
|
|
13
|
+
}
|
|
14
|
+
export interface Change<T> extends Omit<Audit, 'state' | 'changes' | 'properties'> {
|
|
15
|
+
state: T;
|
|
16
|
+
properties: (keyof T)[];
|
|
17
|
+
changes: {
|
|
18
|
+
op: ChangeOperationType;
|
|
19
|
+
path: [keyof T];
|
|
20
|
+
value: any;
|
|
21
|
+
}[];
|
|
22
|
+
}
|
|
23
|
+
export type ChangeListeningOptions = {
|
|
24
|
+
author?: string;
|
|
25
|
+
omitFields?: string[];
|
|
26
|
+
models: mongoose.Model<any>[];
|
|
27
|
+
mutex?: Mutex;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=audit.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../src/audit/audit.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,oBAAY,mBAAmB;IAC9B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;CACjB;AAED,oBAAY,UAAU;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACrB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC,CACxB,SAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE;QAAE,EAAE,EAAE,mBAAmB,CAAC;QAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;CACpE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;CACd,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { mongoose } from '../mongoose';
|
|
2
|
+
import { type Audit } from './audit.model';
|
|
3
|
+
import type { ChangeListeningOptions } from './audit.types';
|
|
4
|
+
/**
|
|
5
|
+
* Processes MongoDB change streams and creates audit logs based on changes.
|
|
6
|
+
* @param {mongoose.mongo.ChangeStream<any, any>} changeStream - The MongoDB change stream.
|
|
7
|
+
* @param {Object} options - Configuration options for the audit process.
|
|
8
|
+
* @param {string[]} [options.omitFields] - Fields to omit when comparing states.
|
|
9
|
+
* @param {UserPrincipal} [options.user] - The user making the changes.
|
|
10
|
+
*/
|
|
11
|
+
export declare function auditChanges(changeStream: mongoose.mongo.ChangeStream<any, any>, options: {
|
|
12
|
+
omitFields?: string[];
|
|
13
|
+
author?: string;
|
|
14
|
+
}): void;
|
|
15
|
+
/**
|
|
16
|
+
* Executes a given asynchronous block of code while listening for changes in specified MongoDB models.
|
|
17
|
+
* Automatically closes all change streams after execution.
|
|
18
|
+
*
|
|
19
|
+
* @template T
|
|
20
|
+
* @param {() => Promise<T>} bloc - An asynchronous function to execute while monitoring changes.
|
|
21
|
+
* @param {Object} options - Configuration options for the change listener.
|
|
22
|
+
* @param {string} [options.author] - The author initiating the change listener (used for auditing purposes).
|
|
23
|
+
* @param {string[]} [options.omitFields] - Fields to omit from the auditing process.
|
|
24
|
+
* @param {mongoose.Model<any>[]} options.models - The Mongoose models to watch for changes.
|
|
25
|
+
* @param {Mutex} [options.mutex] - An optional mutex to ensure exclusive access during execution.
|
|
26
|
+
*
|
|
27
|
+
* @returns {Promise<T>} - Resolves with the result of the executed block of code.
|
|
28
|
+
*
|
|
29
|
+
* @throws {Error} - Propagates any errors from the `bloc` function or other internal operations.
|
|
30
|
+
*/
|
|
31
|
+
export declare function runWithChangesListening<T>(bloc: () => Promise<T>, options: ChangeListeningOptions): Promise<T>;
|
|
32
|
+
export declare const AUDIT_EVENT = "event:audit";
|
|
33
|
+
type RegisterAuditSubscriptionOptions<T extends {
|
|
34
|
+
publish<D>(topic: string, data: D): void;
|
|
35
|
+
}> = {
|
|
36
|
+
pubsub: T;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Registers a subscription to MongoDB audit events, allowing real-time notifications of changes in the database.
|
|
40
|
+
* @param {Object} options - Configuration options for the subscription.
|
|
41
|
+
* @param {Object} options.pubsub - An object with a `publish` method to send notifications (e.g., a PubSub instance).
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerAuditSubscription<T extends {
|
|
44
|
+
publish(topic: string, ...data: any): void;
|
|
45
|
+
}>({ pubsub }: RegisterAuditSubscriptionOptions<T>): void;
|
|
46
|
+
export type AuditPayload = {
|
|
47
|
+
[AUDIT_EVENT]: [payload: Audit];
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=audit.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.utils.d.ts","sourceRoot":"","sources":["../../src/audit/audit.utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAM5D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EACnD,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,QAoEnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACxC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,KAAK,gCAAgC,CACpC,CAAC,SAAS;IACT,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACzC,IACE;IACH,MAAM,EAAE,CAAC,CAAC;CACV,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,CAAC,SAAS;IAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,EACvD,EAAE,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAC,CAAC,QAmBhD;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { QueryFilter } from 'mongoose';
|
|
2
|
+
export type SortDirection = 'ASC' | 'DESC';
|
|
3
|
+
export type SortObject = Record<string, SortDirection>;
|
|
4
|
+
export type LogicalOperator = 'AND' | 'OR';
|
|
5
|
+
export type NumberOperator = 'EQ' | 'NE' | 'GT' | 'GTE' | 'LT' | 'LTE' | 'IN' | 'NOT_IN';
|
|
6
|
+
export type StringOperator = 'EQ' | 'NE' | 'CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'REGEX' | 'IN' | 'NOT_IN';
|
|
7
|
+
export type ArrayOperator = 'ALL' | 'ANY' | 'NONE' | 'EXACT';
|
|
8
|
+
export type ObjectIDOperator = 'EQ' | 'NE' | 'IN' | 'NOT_IN' | 'EXISTS';
|
|
9
|
+
/**
|
|
10
|
+
* Generic filter types matching GraphQL inputs
|
|
11
|
+
*/
|
|
12
|
+
export interface StringFilter {
|
|
13
|
+
operator: StringOperator;
|
|
14
|
+
value?: string | null;
|
|
15
|
+
values?: string[] | null;
|
|
16
|
+
caseSensitive?: boolean | null;
|
|
17
|
+
}
|
|
18
|
+
export interface NumberFilter {
|
|
19
|
+
operator?: NumberOperator | null;
|
|
20
|
+
value?: number | null;
|
|
21
|
+
values?: number[] | null;
|
|
22
|
+
}
|
|
23
|
+
export interface DateRangeFilter {
|
|
24
|
+
from?: Date | string | null;
|
|
25
|
+
to?: Date | string | null;
|
|
26
|
+
eq?: Date | string | null;
|
|
27
|
+
before?: Date | string | null;
|
|
28
|
+
after?: Date | string | null;
|
|
29
|
+
}
|
|
30
|
+
export interface ArrayFilter {
|
|
31
|
+
operator?: ArrayOperator | null;
|
|
32
|
+
values: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface ObjectIDFilter {
|
|
35
|
+
eq?: string | null;
|
|
36
|
+
ne?: string | null;
|
|
37
|
+
in?: string[] | null;
|
|
38
|
+
notIn?: string[] | null;
|
|
39
|
+
exists?: boolean | null;
|
|
40
|
+
}
|
|
41
|
+
export interface BooleanFilter {
|
|
42
|
+
eq: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build MongoDB query from StringFilter
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildStringFilter(filter?: StringFilter | null): any;
|
|
48
|
+
/**
|
|
49
|
+
* Build MongoDB query from NumberFilter
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildNumberFilter(filter?: NumberFilter | null): any;
|
|
52
|
+
/**
|
|
53
|
+
* Build MongoDB query from DateRangeFilter
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildDateRangeFilter(filter?: DateRangeFilter | null): any;
|
|
56
|
+
/**
|
|
57
|
+
* Build MongoDB query from ArrayFilter
|
|
58
|
+
*/
|
|
59
|
+
export declare function buildArrayFilter(filter?: ArrayFilter | null): any;
|
|
60
|
+
/**
|
|
61
|
+
* Build MongoDB query from ObjectIDFilter
|
|
62
|
+
*/
|
|
63
|
+
export declare function buildObjectIDFilter(filter?: ObjectIDFilter | null): any;
|
|
64
|
+
/**
|
|
65
|
+
* Build MongoDB query from BooleanFilter
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildBooleanFilter(filter?: BooleanFilter | null): any;
|
|
68
|
+
/**
|
|
69
|
+
* Build MongoDB sort object from typed sort input
|
|
70
|
+
* @param sort Object with field names as keys and 'ASC' or 'DESC' as values
|
|
71
|
+
* @returns MongoDB sort object
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildSort(sort?: SortObject | null): any;
|
|
74
|
+
/**
|
|
75
|
+
* Shape of the `AND`/`OR`/`NOT` combinators every generated GraphQL
|
|
76
|
+
* `<Entity>Filter` input carries.
|
|
77
|
+
*/
|
|
78
|
+
export type LogicalFilterInput<TFilter> = {
|
|
79
|
+
AND?: TFilter[] | TFilter | null;
|
|
80
|
+
OR?: TFilter[] | TFilter | null;
|
|
81
|
+
NOT?: TFilter[] | TFilter | null;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Build the `$and`/`$or`/`$not` part of a Mongo filter from the recursive
|
|
85
|
+
* `AND`/`OR`/`NOT` combinators of a generated GraphQL filter input.
|
|
86
|
+
*
|
|
87
|
+
* Every module's `build<Entity>Filter` starts with the exact same block; this
|
|
88
|
+
* factors it out without changing behaviour. Call it first, then add the
|
|
89
|
+
* module's own leaf conditions onto the returned object:
|
|
90
|
+
*
|
|
91
|
+
* ```ts
|
|
92
|
+
* function buildBedFilter(filter?: BedFilter | null): QueryFilter<BedDocument> {
|
|
93
|
+
* const mongoFilter = buildLogicalFilter(filter, buildBedFilter);
|
|
94
|
+
* if (!filter) return mongoFilter;
|
|
95
|
+
* addFilterCondition(mongoFilter, 'name', buildStringFilter(filter.name));
|
|
96
|
+
* return mongoFilter;
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* Note `NOT` maps to `$not`, matching the behaviour of the hand-written
|
|
101
|
+
* blocks this replaces.
|
|
102
|
+
*/
|
|
103
|
+
export declare function buildLogicalFilter<TFilter, TDoc = any>(filter: TFilter | null | undefined, build: (filter?: TFilter | null) => QueryFilter<TDoc>): QueryFilter<TDoc>;
|
|
104
|
+
/**
|
|
105
|
+
* Combine multiple filters with logical operator
|
|
106
|
+
*/
|
|
107
|
+
export declare function combineFilters(filters: Array<QueryFilter<any> | undefined>, operator?: LogicalOperator): QueryFilter<any>;
|
|
108
|
+
/**
|
|
109
|
+
* Helper to add a filter condition to a query object
|
|
110
|
+
*/
|
|
111
|
+
export declare function addFilterCondition(query: QueryFilter<any>, field: string, condition: any): void;
|
|
112
|
+
//# sourceMappingURL=filter.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.utils.d.ts","sourceRoot":"","sources":["../../src/filters/filter.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The generated-GraphQL filter DSL.
|
|
3
|
+
*
|
|
4
|
+
* A separate entry point (`@nxgt/shared-mongo/filters`) rather than part of the
|
|
5
|
+
* package root, because it and the REST filter helpers in `../utils/filter.utils.ts`
|
|
6
|
+
* share three names with incompatible meanings — most sharply
|
|
7
|
+
* `buildArrayFilter`, whose default is an exact match on one side and `$in` on
|
|
8
|
+
* the other. Merging them would silently change what a query matches. It also
|
|
9
|
+
* carries its own `SortDirection` and `buildSort`, which mean something else
|
|
10
|
+
* again from the ones in `@nxgt/shared`.
|
|
11
|
+
*
|
|
12
|
+
* Import from here when the filters come from a GraphQL input; import from the
|
|
13
|
+
* package root when they come from REST query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export * from './filter.utils';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,cAAc,gBAAgB,CAAC"}
|