@digitaldefiance/node-express-suite 4.1.3 → 4.2.1
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/package.json +2 -2
- package/src/application.d.ts +1 -1
- package/src/application.d.ts.map +1 -1
- package/src/base-application.d.ts +1 -1
- package/src/base-application.d.ts.map +1 -1
- package/src/branded-responses/branded-api-responses.d.ts +1 -2
- package/src/branded-responses/branded-api-responses.d.ts.map +1 -1
- package/src/branded-responses/branded-api-responses.js.map +1 -1
- package/src/branded-responses/serializers.d.ts +1 -1
- package/src/branded-responses/serializers.d.ts.map +1 -1
- package/src/builders/application-builder.d.ts +2 -1
- package/src/builders/application-builder.d.ts.map +1 -1
- package/src/builders/application-builder.js.map +1 -1
- package/src/controllers/user.d.ts.map +1 -1
- package/src/controllers/user.js +2 -2
- package/src/controllers/user.js.map +1 -1
- package/src/database/database-initializer.d.ts +1 -1
- package/src/database/database-initializer.d.ts.map +1 -1
- package/src/interfaces/application.d.ts +1 -1
- package/src/interfaces/application.d.ts.map +1 -1
- package/src/interfaces/db-init-result.d.ts +1 -1
- package/src/interfaces/db-init-result.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +0 -2
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +0 -2
- package/src/interfaces/index.js.map +1 -1
- package/src/plugins/database-plugin.d.ts +1 -1
- package/src/plugins/database-plugin.d.ts.map +1 -1
- package/src/plugins/mongo-database-plugin.d.ts +2 -2
- package/src/plugins/mongo-database-plugin.d.ts.map +1 -1
- package/src/plugins/mongo-database-plugin.js.map +1 -1
- package/src/services/mongoose-collection.d.ts +1 -1
- package/src/services/mongoose-collection.d.ts.map +1 -1
- package/src/services/mongoose-database.d.ts +1 -1
- package/src/services/mongoose-database.d.ts.map +1 -1
- package/src/services/mongoose-document-store.d.ts +1 -1
- package/src/services/mongoose-document-store.d.ts.map +1 -1
- package/src/services/mongoose-document-store.js.map +1 -1
- package/src/services/mongoose-session-adapter.d.ts +1 -1
- package/src/services/mongoose-session-adapter.d.ts.map +1 -1
- package/src/utils/no-op-database.d.ts +1 -1
- package/src/utils/no-op-database.d.ts.map +1 -1
- package/src/utils.d.ts +1 -1
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js.map +1 -1
- package/src/interfaces/failable-result.d.ts +0 -15
- package/src/interfaces/failable-result.d.ts.map +0 -1
- package/src/interfaces/failable-result.js +0 -3
- package/src/interfaces/failable-result.js.map +0 -1
- package/src/interfaces/storage/client-session.d.ts +0 -22
- package/src/interfaces/storage/client-session.d.ts.map +0 -1
- package/src/interfaces/storage/client-session.js +0 -3
- package/src/interfaces/storage/client-session.js.map +0 -1
- package/src/interfaces/storage/collection.d.ts +0 -80
- package/src/interfaces/storage/collection.d.ts.map +0 -1
- package/src/interfaces/storage/collection.js +0 -3
- package/src/interfaces/storage/collection.js.map +0 -1
- package/src/interfaces/storage/database-lifecycle-hooks.d.ts +0 -43
- package/src/interfaces/storage/database-lifecycle-hooks.d.ts.map +0 -1
- package/src/interfaces/storage/database-lifecycle-hooks.js +0 -3
- package/src/interfaces/storage/database-lifecycle-hooks.js.map +0 -1
- package/src/interfaces/storage/database.d.ts +0 -30
- package/src/interfaces/storage/database.d.ts.map +0 -1
- package/src/interfaces/storage/database.js +0 -3
- package/src/interfaces/storage/database.js.map +0 -1
- package/src/interfaces/storage/document-types.d.ts +0 -415
- package/src/interfaces/storage/document-types.d.ts.map +0 -1
- package/src/interfaces/storage/document-types.js +0 -8
- package/src/interfaces/storage/document-types.js.map +0 -1
- package/src/interfaces/storage/index.d.ts +0 -6
- package/src/interfaces/storage/index.d.ts.map +0 -1
- package/src/interfaces/storage/index.js +0 -9
- package/src/interfaces/storage/index.js.map +0 -1
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared document store types promoted from brightchain-db.
|
|
3
|
-
* These types define the MongoDB-compatible query/update/result contracts
|
|
4
|
-
* used by both brightchain-db and mongoose-based implementations.
|
|
5
|
-
*/
|
|
6
|
-
import { IClientSession } from './client-session';
|
|
7
|
-
/** A document ID – opaque string */
|
|
8
|
-
export type DocumentId = string;
|
|
9
|
-
/** The shape of a stored document – any record with an optional _id */
|
|
10
|
-
export type BsonDocument = Record<string, unknown> & {
|
|
11
|
-
_id?: DocumentId;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* MongoDB-style filter with query operators.
|
|
15
|
-
*
|
|
16
|
-
* Supports:
|
|
17
|
-
* - Exact match: `{ field: value }`
|
|
18
|
-
* - Comparison: `{ field: { $eq, $ne, $gt, $gte, $lt, $lte } }`
|
|
19
|
-
* - Set: `{ field: { $in: [...], $nin: [...] } }`
|
|
20
|
-
* - Pattern: `{ field: { $regex: /.../ } }`
|
|
21
|
-
* - Existence: `{ field: { $exists: true } }`
|
|
22
|
-
* - Logical: `{ $and: [...], $or: [...], $not: {...}, $nor: [...] }`
|
|
23
|
-
* - Array: `{ field: { $elemMatch: {...} } }`
|
|
24
|
-
*/
|
|
25
|
-
export type FilterQuery<T> = {
|
|
26
|
-
[P in keyof T]?: T[P] | FilterOperator<T[P]>;
|
|
27
|
-
} & LogicalOperators<T>;
|
|
28
|
-
export interface FilterOperator<V> {
|
|
29
|
-
$eq?: V;
|
|
30
|
-
$ne?: V;
|
|
31
|
-
$gt?: V;
|
|
32
|
-
$gte?: V;
|
|
33
|
-
$lt?: V;
|
|
34
|
-
$lte?: V;
|
|
35
|
-
$in?: V[];
|
|
36
|
-
$nin?: V[];
|
|
37
|
-
$regex?: RegExp | string;
|
|
38
|
-
$exists?: boolean;
|
|
39
|
-
$not?: FilterOperator<V>;
|
|
40
|
-
$elemMatch?: Record<string, unknown>;
|
|
41
|
-
$size?: number;
|
|
42
|
-
$type?: string;
|
|
43
|
-
$all?: V[];
|
|
44
|
-
}
|
|
45
|
-
export interface LogicalOperators<T> {
|
|
46
|
-
$and?: FilterQuery<T>[];
|
|
47
|
-
$or?: FilterQuery<T>[];
|
|
48
|
-
$nor?: FilterQuery<T>[];
|
|
49
|
-
$not?: FilterQuery<T>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* MongoDB-style update operators
|
|
53
|
-
*/
|
|
54
|
-
export interface UpdateOperators<T> {
|
|
55
|
-
$set?: Partial<T>;
|
|
56
|
-
$unset?: {
|
|
57
|
-
[P in keyof T]?: 1 | '' | true;
|
|
58
|
-
};
|
|
59
|
-
$inc?: {
|
|
60
|
-
[P in keyof T]?: number;
|
|
61
|
-
};
|
|
62
|
-
$push?: {
|
|
63
|
-
[P in keyof T]?: unknown;
|
|
64
|
-
};
|
|
65
|
-
$pull?: {
|
|
66
|
-
[P in keyof T]?: unknown;
|
|
67
|
-
};
|
|
68
|
-
$addToSet?: {
|
|
69
|
-
[P in keyof T]?: unknown;
|
|
70
|
-
};
|
|
71
|
-
$min?: Partial<T>;
|
|
72
|
-
$max?: Partial<T>;
|
|
73
|
-
$rename?: {
|
|
74
|
-
[key: string]: string;
|
|
75
|
-
};
|
|
76
|
-
$currentDate?: {
|
|
77
|
-
[P in keyof T]?: true | {
|
|
78
|
-
$type: 'date' | 'timestamp';
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
$mul?: {
|
|
82
|
-
[P in keyof T]?: number;
|
|
83
|
-
};
|
|
84
|
-
$pop?: {
|
|
85
|
-
[P in keyof T]?: 1 | -1;
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/** The update document can be either operators or a full replacement */
|
|
89
|
-
export type UpdateQuery<T> = UpdateOperators<T> | Partial<T>;
|
|
90
|
-
/**
|
|
91
|
-
* Sort specification: 1 = ascending, -1 = descending
|
|
92
|
-
*/
|
|
93
|
-
export type SortSpec<T = BsonDocument> = {
|
|
94
|
-
[P in keyof T]?: 1 | -1;
|
|
95
|
-
} & Record<string, 1 | -1>;
|
|
96
|
-
/**
|
|
97
|
-
* Projection specification: 1 = include, 0 = exclude
|
|
98
|
-
*/
|
|
99
|
-
export type ProjectionSpec<T = BsonDocument> = {
|
|
100
|
-
[P in keyof T]?: 1 | 0;
|
|
101
|
-
} & Record<string, 1 | 0>;
|
|
102
|
-
/**
|
|
103
|
-
* Index specification: 1 = ascending, -1 = descending
|
|
104
|
-
*/
|
|
105
|
-
export type IndexSpec = Record<string, 1 | -1>;
|
|
106
|
-
/**
|
|
107
|
-
* Options for index creation
|
|
108
|
-
*/
|
|
109
|
-
export interface IndexOptions {
|
|
110
|
-
unique?: boolean;
|
|
111
|
-
name?: string;
|
|
112
|
-
sparse?: boolean;
|
|
113
|
-
background?: boolean;
|
|
114
|
-
/** TTL: automatically expire documents after this many seconds */
|
|
115
|
-
expireAfterSeconds?: number;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Client session type alias for backward compatibility.
|
|
119
|
-
* The canonical interface is IClientSession in ./client-session.ts.
|
|
120
|
-
*/
|
|
121
|
-
export type ClientSession = IClientSession;
|
|
122
|
-
/**
|
|
123
|
-
* Options for find operations
|
|
124
|
-
*/
|
|
125
|
-
export interface FindOptions<T = BsonDocument> {
|
|
126
|
-
projection?: ProjectionSpec<T>;
|
|
127
|
-
sort?: SortSpec<T>;
|
|
128
|
-
limit?: number;
|
|
129
|
-
skip?: number;
|
|
130
|
-
session?: IClientSession;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Options for write operations
|
|
134
|
-
*/
|
|
135
|
-
export interface WriteOptions {
|
|
136
|
-
session?: IClientSession;
|
|
137
|
-
/** Write concern for this operation */
|
|
138
|
-
writeConcern?: WriteConcern;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Options for update operations
|
|
142
|
-
*/
|
|
143
|
-
export interface UpdateOptions extends WriteOptions {
|
|
144
|
-
upsert?: boolean;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Result of an insert operation
|
|
148
|
-
*/
|
|
149
|
-
export interface InsertOneResult {
|
|
150
|
-
acknowledged: boolean;
|
|
151
|
-
insertedId: DocumentId;
|
|
152
|
-
}
|
|
153
|
-
export interface InsertManyResult {
|
|
154
|
-
acknowledged: boolean;
|
|
155
|
-
insertedCount: number;
|
|
156
|
-
insertedIds: Record<number, DocumentId>;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Result of an update operation
|
|
160
|
-
*/
|
|
161
|
-
export interface UpdateResult {
|
|
162
|
-
acknowledged: boolean;
|
|
163
|
-
matchedCount: number;
|
|
164
|
-
modifiedCount: number;
|
|
165
|
-
upsertedCount: number;
|
|
166
|
-
upsertedId?: DocumentId;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Result of a delete operation
|
|
170
|
-
*/
|
|
171
|
-
export interface DeleteResult {
|
|
172
|
-
acknowledged: boolean;
|
|
173
|
-
deletedCount: number;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Result of a replace operation
|
|
177
|
-
*/
|
|
178
|
-
export interface ReplaceResult {
|
|
179
|
-
acknowledged: boolean;
|
|
180
|
-
matchedCount: number;
|
|
181
|
-
modifiedCount: number;
|
|
182
|
-
upsertedCount: number;
|
|
183
|
-
upsertedId?: DocumentId;
|
|
184
|
-
}
|
|
185
|
-
/** Change stream event types */
|
|
186
|
-
export type ChangeEventType = 'insert' | 'update' | 'replace' | 'delete';
|
|
187
|
-
export interface ChangeEvent<T = BsonDocument> {
|
|
188
|
-
operationType: ChangeEventType;
|
|
189
|
-
documentKey: {
|
|
190
|
-
_id: DocumentId;
|
|
191
|
-
};
|
|
192
|
-
fullDocument?: T;
|
|
193
|
-
updateDescription?: {
|
|
194
|
-
updatedFields?: Partial<T>;
|
|
195
|
-
removedFields?: string[];
|
|
196
|
-
};
|
|
197
|
-
ns: {
|
|
198
|
-
db: string;
|
|
199
|
-
coll: string;
|
|
200
|
-
};
|
|
201
|
-
timestamp: Date;
|
|
202
|
-
}
|
|
203
|
-
/** Listener for change events */
|
|
204
|
-
export type ChangeListener<T = BsonDocument> = (event: ChangeEvent<T>) => void;
|
|
205
|
-
/**
|
|
206
|
-
* Aggregation pipeline stage types
|
|
207
|
-
*/
|
|
208
|
-
export type AggregationStage = {
|
|
209
|
-
$match: Record<string, unknown>;
|
|
210
|
-
} | {
|
|
211
|
-
$group: Record<string, unknown>;
|
|
212
|
-
} | {
|
|
213
|
-
$sort: Record<string, 1 | -1>;
|
|
214
|
-
} | {
|
|
215
|
-
$limit: number;
|
|
216
|
-
} | {
|
|
217
|
-
$skip: number;
|
|
218
|
-
} | {
|
|
219
|
-
$project: Record<string, unknown>;
|
|
220
|
-
} | {
|
|
221
|
-
$unwind: string | {
|
|
222
|
-
path: string;
|
|
223
|
-
preserveNullAndEmptyArrays?: boolean;
|
|
224
|
-
};
|
|
225
|
-
} | {
|
|
226
|
-
$count: string;
|
|
227
|
-
} | {
|
|
228
|
-
$addFields: Record<string, unknown>;
|
|
229
|
-
} | {
|
|
230
|
-
$lookup: {
|
|
231
|
-
from: string;
|
|
232
|
-
localField: string;
|
|
233
|
-
foreignField: string;
|
|
234
|
-
as: string;
|
|
235
|
-
};
|
|
236
|
-
} | {
|
|
237
|
-
$replaceRoot: {
|
|
238
|
-
newRoot: string | Record<string, unknown>;
|
|
239
|
-
};
|
|
240
|
-
} | {
|
|
241
|
-
$out: string;
|
|
242
|
-
} | {
|
|
243
|
-
$sample: {
|
|
244
|
-
size: number;
|
|
245
|
-
};
|
|
246
|
-
} | {
|
|
247
|
-
$facet: Record<string, AggregationStage[]>;
|
|
248
|
-
};
|
|
249
|
-
/**
|
|
250
|
-
* Write concern – controls acknowledgment of write operations.
|
|
251
|
-
*/
|
|
252
|
-
export interface WriteConcern {
|
|
253
|
-
/** Number of acknowledgments: 0 = fire-and-forget, 1 = primary (default), 'majority' */
|
|
254
|
-
w?: number | 'majority';
|
|
255
|
-
/** Timeout in ms for write concern acknowledgment */
|
|
256
|
-
wtimeoutMS?: number;
|
|
257
|
-
/** Whether to wait for journal commit before acknowledging */
|
|
258
|
-
journal?: boolean;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Read preference – controls which store replicas are read from.
|
|
262
|
-
*/
|
|
263
|
-
export type ReadPreference = 'primary' | 'secondary' | 'nearest';
|
|
264
|
-
/**
|
|
265
|
-
* Options for creating a collection with validation and other settings.
|
|
266
|
-
*/
|
|
267
|
-
export interface CollectionOptions {
|
|
268
|
-
/** Write concern for all operations on this collection */
|
|
269
|
-
writeConcern?: WriteConcern;
|
|
270
|
-
/** Read preference for all read operations on this collection */
|
|
271
|
-
readPreference?: ReadPreference;
|
|
272
|
-
}
|
|
273
|
-
export type BulkWriteOperation<T extends BsonDocument = BsonDocument> = {
|
|
274
|
-
insertOne: {
|
|
275
|
-
document: T;
|
|
276
|
-
};
|
|
277
|
-
} | {
|
|
278
|
-
updateOne: {
|
|
279
|
-
filter: FilterQuery<T>;
|
|
280
|
-
update: UpdateQuery<T>;
|
|
281
|
-
upsert?: boolean;
|
|
282
|
-
};
|
|
283
|
-
} | {
|
|
284
|
-
updateMany: {
|
|
285
|
-
filter: FilterQuery<T>;
|
|
286
|
-
update: UpdateQuery<T>;
|
|
287
|
-
};
|
|
288
|
-
} | {
|
|
289
|
-
deleteOne: {
|
|
290
|
-
filter: FilterQuery<T>;
|
|
291
|
-
};
|
|
292
|
-
} | {
|
|
293
|
-
deleteMany: {
|
|
294
|
-
filter: FilterQuery<T>;
|
|
295
|
-
};
|
|
296
|
-
} | {
|
|
297
|
-
replaceOne: {
|
|
298
|
-
filter: FilterQuery<T>;
|
|
299
|
-
replacement: T;
|
|
300
|
-
upsert?: boolean;
|
|
301
|
-
};
|
|
302
|
-
};
|
|
303
|
-
export interface BulkWriteOptions extends WriteOptions {
|
|
304
|
-
/** If true, stop on the first error. If false, continue and report all errors. (default: true) */
|
|
305
|
-
ordered?: boolean;
|
|
306
|
-
}
|
|
307
|
-
export interface BulkWriteResult {
|
|
308
|
-
acknowledged: boolean;
|
|
309
|
-
insertedCount: number;
|
|
310
|
-
matchedCount: number;
|
|
311
|
-
modifiedCount: number;
|
|
312
|
-
deletedCount: number;
|
|
313
|
-
upsertedCount: number;
|
|
314
|
-
insertedIds: Record<number, DocumentId>;
|
|
315
|
-
upsertedIds: Record<number, DocumentId>;
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Text index options
|
|
319
|
-
*/
|
|
320
|
-
export interface TextIndexOptions {
|
|
321
|
-
/** Fields to index for text search, with optional weights */
|
|
322
|
-
fields: Record<string, number>;
|
|
323
|
-
/** Default language for stemming (currently unused – basic tokenisation only) */
|
|
324
|
-
defaultLanguage?: string;
|
|
325
|
-
/** Name of the text index */
|
|
326
|
-
name?: string;
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* A server-side cursor session for paginated REST access.
|
|
330
|
-
*/
|
|
331
|
-
export interface CursorSession {
|
|
332
|
-
/** Unique cursor ID */
|
|
333
|
-
id: string;
|
|
334
|
-
/** Collection name */
|
|
335
|
-
collection: string;
|
|
336
|
-
/** Pre-fetched document IDs (for position tracking) */
|
|
337
|
-
documentIds: DocumentId[];
|
|
338
|
-
/** Current offset position */
|
|
339
|
-
position: number;
|
|
340
|
-
/** Batch size */
|
|
341
|
-
batchSize: number;
|
|
342
|
-
/** Timestamp of last access */
|
|
343
|
-
lastAccessed: number;
|
|
344
|
-
/** Filter used to create this cursor */
|
|
345
|
-
filter: Record<string, unknown>;
|
|
346
|
-
/** Sort used */
|
|
347
|
-
sort?: Record<string, 1 | -1>;
|
|
348
|
-
/** Projection used */
|
|
349
|
-
projection?: Record<string, 0 | 1>;
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Supported schema field types for collection validation.
|
|
353
|
-
*/
|
|
354
|
-
export type CollectionSchemaFieldType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null' | 'date' | 'any' | 'branded-primitive' | 'branded-interface';
|
|
355
|
-
/**
|
|
356
|
-
* Per-field schema definition for collection validation.
|
|
357
|
-
*/
|
|
358
|
-
export interface FieldSchema {
|
|
359
|
-
/** Expected type */
|
|
360
|
-
type?: CollectionSchemaFieldType | CollectionSchemaFieldType[];
|
|
361
|
-
/** Whether this field is required (also settable at parent level via `required` array) */
|
|
362
|
-
required?: boolean;
|
|
363
|
-
/** Minimum value (number) or minimum length (string/array) */
|
|
364
|
-
minimum?: number;
|
|
365
|
-
/** Maximum value (number) or maximum length (string/array) */
|
|
366
|
-
maximum?: number;
|
|
367
|
-
/** Minimum string/array length */
|
|
368
|
-
minLength?: number;
|
|
369
|
-
/** Maximum string/array length */
|
|
370
|
-
maxLength?: number;
|
|
371
|
-
/** Regex pattern for string values */
|
|
372
|
-
pattern?: string;
|
|
373
|
-
/** Allowed values */
|
|
374
|
-
enum?: unknown[];
|
|
375
|
-
/** Schema for nested object properties */
|
|
376
|
-
properties?: Record<string, FieldSchema>;
|
|
377
|
-
/** Required fields in nested object */
|
|
378
|
-
requiredFields?: string[];
|
|
379
|
-
/** Schema for array items */
|
|
380
|
-
items?: FieldSchema;
|
|
381
|
-
/** Default value if field is missing */
|
|
382
|
-
default?: unknown;
|
|
383
|
-
/** Whether to allow extra properties (for objects) */
|
|
384
|
-
additionalProperties?: boolean;
|
|
385
|
-
/** Custom validation function */
|
|
386
|
-
validate?: (value: unknown) => boolean | string;
|
|
387
|
-
/** Branded primitive or interface ID to resolve from the Interface_Registry */
|
|
388
|
-
ref?: string;
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Collection-level schema for document validation.
|
|
392
|
-
*/
|
|
393
|
-
export interface CollectionSchema {
|
|
394
|
-
/** Name of the schema (for error messages) */
|
|
395
|
-
name?: string;
|
|
396
|
-
/** Per-field definitions */
|
|
397
|
-
properties: Record<string, FieldSchema>;
|
|
398
|
-
/** Which fields are required */
|
|
399
|
-
required?: string[];
|
|
400
|
-
/** Allow fields not defined in properties (default: true) */
|
|
401
|
-
additionalProperties?: boolean;
|
|
402
|
-
/** When to validate: 'strict' = inserts and updates, 'moderate' = inserts only */
|
|
403
|
-
validationLevel?: 'strict' | 'moderate' | 'off';
|
|
404
|
-
/** What to do on failure: 'error' = throw, 'warn' = log and continue */
|
|
405
|
-
validationAction?: 'error' | 'warn';
|
|
406
|
-
}
|
|
407
|
-
/**
|
|
408
|
-
* A field-level validation error returned by schema validation.
|
|
409
|
-
*/
|
|
410
|
-
export interface ValidationFieldError {
|
|
411
|
-
field: string;
|
|
412
|
-
message: string;
|
|
413
|
-
value?: unknown;
|
|
414
|
-
}
|
|
415
|
-
//# sourceMappingURL=document-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-types.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/storage/document-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Shared document store types promoted from brightchain-db.
|
|
4
|
-
* These types define the MongoDB-compatible query/update/result contracts
|
|
5
|
-
* used by both brightchain-db and mongoose-based implementations.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
//# sourceMappingURL=document-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-types.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/storage/document-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./document-types"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./client-session"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./collection"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./database"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./database-lifecycle-hooks"), exports);
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/storage/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,qDAA2B;AAC3B,qEAA2C"}
|