@lossless.org/client 1.1.0 → 1.3.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/.smartconfig.json +1 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/nosqldb/classes.atomicdelete.js +3 -3
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.d.ts +20 -0
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.js +45 -2
- package/dist_ts/nosqldb/classes.atomicupdate.js +4 -4
- package/dist_ts/nosqldb/classes.collection.d.ts +37 -1
- package/dist_ts/nosqldb/classes.collection.js +235 -30
- package/dist_ts/nosqldb/classes.collectiontopology.d.ts +19 -0
- package/dist_ts/nosqldb/classes.collectiontopology.js +29 -3
- package/dist_ts/nosqldb/classes.cursor.d.ts +12 -1
- package/dist_ts/nosqldb/classes.cursor.js +20 -3
- package/dist_ts/nosqldb/classes.doc.d.ts +138 -11
- package/dist_ts/nosqldb/classes.doc.js +490 -91
- package/dist_ts/nosqldb/classes.exactpersistence.js +10 -2
- package/dist_ts/nosqldb/classes.namespaceinspection.js +2 -2
- package/dist_ts/nosqldb/classes.persistence.d.ts +6 -0
- package/dist_ts/nosqldb/classes.persistence.js +13 -1
- package/dist_ts/nosqldb/classes.session.d.ts +15 -1
- package/dist_ts/nosqldb/classes.session.js +32 -6
- package/package.json +4 -1
- package/readme.md +38 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/nosqldb/classes.atomicdelete.ts +2 -4
- package/ts/nosqldb/classes.atomicfindoneandupdate.ts +69 -2
- package/ts/nosqldb/classes.atomicupdate.ts +3 -6
- package/ts/nosqldb/classes.collection.ts +372 -35
- package/ts/nosqldb/classes.collectiontopology.ts +56 -1
- package/ts/nosqldb/classes.cursor.ts +22 -2
- package/ts/nosqldb/classes.doc.ts +819 -132
- package/ts/nosqldb/classes.exactpersistence.ts +9 -1
- package/ts/nosqldb/classes.namespaceinspection.ts +1 -1
- package/ts/nosqldb/classes.persistence.ts +17 -0
- package/ts/nosqldb/classes.session.ts +52 -13
|
@@ -45,10 +45,10 @@ import { getIdentityDocumentIdField, SmartdataCollection, } from './classes.coll
|
|
|
45
45
|
import { SmartdataDbWatcher } from './classes.watcher.js';
|
|
46
46
|
import { SmartdataLuceneAdapter } from './classes.lucene.adapter.js';
|
|
47
47
|
import { executeAtomicDelete, executeAtomicDeleteMany } from './classes.atomicdelete.js';
|
|
48
|
-
import { executeAtomicFindOneAndUpdate } from './classes.atomicfindoneandupdate.js';
|
|
48
|
+
import { executeAtomicFindOneAndReplace, executeAtomicFindOneAndUpdate, } from './classes.atomicfindoneandupdate.js';
|
|
49
49
|
import { executeAtomicUpdate, executeAtomicUpdateMany, executeAtomicUpsertMany, } from './classes.atomicupdate.js';
|
|
50
50
|
import { SmartdataPersistenceError, } from './classes.persistence.js';
|
|
51
|
-
import { isOrdinarySessionInTransaction, runWithOrdinarySmartdataSession, } from './classes.session.js';
|
|
51
|
+
import { isOrdinarySessionInTransaction, leaseOrdinarySmartdataSession, runWithOrdinarySmartdataSession, } from './classes.session.js';
|
|
52
52
|
import { getExpectedCollectionTopologyForModel, inspectCollectionTopologyForModel, } from './classes.collectiontopology.js';
|
|
53
53
|
const exactPersistencePolicySymbol = Symbol.for('@push.rocks/smartdata.exactPersistencePolicy');
|
|
54
54
|
/**
|
|
@@ -137,6 +137,17 @@ export function svDb(options) {
|
|
|
137
137
|
if (options?.numeric !== undefined && typeof options.numeric !== 'boolean') {
|
|
138
138
|
throw new SmartdataPersistenceError('invalid_configuration', 'svDb numeric must be a boolean.');
|
|
139
139
|
}
|
|
140
|
+
if (options?.atomicOnly !== undefined
|
|
141
|
+
&& typeof options.atomicOnly !== 'boolean') {
|
|
142
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'svDb atomicOnly must be a boolean.');
|
|
143
|
+
}
|
|
144
|
+
if (options?.atomicOnly === true
|
|
145
|
+
&& (typeof options.serialize === 'function'
|
|
146
|
+
|| typeof options.deserialize === 'function')) {
|
|
147
|
+
// Atomic operations refuse serialized roots outright, so an atomic-only
|
|
148
|
+
// serialized field could never be written at all.
|
|
149
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'svDb atomicOnly cannot be combined with custom serialization.');
|
|
150
|
+
}
|
|
140
151
|
const storedOptions = options
|
|
141
152
|
? {
|
|
142
153
|
...options,
|
|
@@ -224,13 +235,24 @@ export function unI(optionsArg = {}) {
|
|
|
224
235
|
if (typeof optionsArg !== 'object'
|
|
225
236
|
|| optionsArg === null
|
|
226
237
|
|| Array.isArray(optionsArg)
|
|
227
|
-
|| Object.keys(optionsArg).some((keyArg) => keyArg !== 'valueType')) {
|
|
228
|
-
throw new SmartdataPersistenceError('invalid_configuration', 'unI options must be an object containing only valueType.');
|
|
238
|
+
|| Object.keys(optionsArg).some((keyArg) => keyArg !== 'valueType' && keyArg !== 'indexName')) {
|
|
239
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'unI options must be an object containing only valueType and indexName.');
|
|
229
240
|
}
|
|
230
241
|
const valueType = optionsArg.valueType ?? 'string';
|
|
231
242
|
if (valueType !== 'string' && valueType !== 'positiveSafeInteger') {
|
|
232
243
|
throw new SmartdataPersistenceError('invalid_configuration', 'unI valueType must be "string" or "positiveSafeInteger".');
|
|
233
244
|
}
|
|
245
|
+
const indexName = optionsArg.indexName;
|
|
246
|
+
if (indexName !== undefined) {
|
|
247
|
+
if (typeof indexName !== 'string'
|
|
248
|
+
|| indexName.trim().length === 0
|
|
249
|
+
|| indexName.includes('\0')) {
|
|
250
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'unI indexName must be a non-empty index name.');
|
|
251
|
+
}
|
|
252
|
+
if (indexName === '_id_') {
|
|
253
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'unI indexName "_id_" is reserved for MongoDB.');
|
|
254
|
+
}
|
|
255
|
+
}
|
|
234
256
|
return (value, context) => {
|
|
235
257
|
if (context.kind !== 'field') {
|
|
236
258
|
throw new Error('unI can only decorate fields');
|
|
@@ -252,6 +274,19 @@ export function unI(optionsArg = {}) {
|
|
|
252
274
|
throw new SmartdataPersistenceError('invalid_configuration', `Identity field "${propName}" has divergent valueType declarations.`);
|
|
253
275
|
}
|
|
254
276
|
metadata.identityValueTypes[propName] = valueType;
|
|
277
|
+
// An unnamed declaration writes no entry, so a subclass that redeclares
|
|
278
|
+
// the identity without a name keeps the index the base class named. Only
|
|
279
|
+
// a second, different name is a contradiction worth refusing.
|
|
280
|
+
if (indexName !== undefined) {
|
|
281
|
+
if (!Object.prototype.hasOwnProperty.call(metadata, 'identityIndexNames')) {
|
|
282
|
+
metadata.identityIndexNames = { ...(metadata.identityIndexNames || {}) };
|
|
283
|
+
}
|
|
284
|
+
const existingIndexName = metadata.identityIndexNames[propName];
|
|
285
|
+
if (existingIndexName && existingIndexName !== indexName) {
|
|
286
|
+
throw new SmartdataPersistenceError('invalid_configuration', `Identity field "${propName}" has divergent indexName declarations.`);
|
|
287
|
+
}
|
|
288
|
+
metadata.identityIndexNames[propName] = indexName;
|
|
289
|
+
}
|
|
255
290
|
// Also mark as saveable
|
|
256
291
|
if (!Object.prototype.hasOwnProperty.call(metadata, 'saveableProperties')) {
|
|
257
292
|
metadata.saveableProperties = [...(metadata.saveableProperties || [])];
|
|
@@ -315,6 +350,38 @@ export function index(options) {
|
|
|
315
350
|
});
|
|
316
351
|
};
|
|
317
352
|
}
|
|
353
|
+
const normalizeSaveIfOptions = (optionsArg) => {
|
|
354
|
+
if (optionsArg === undefined) {
|
|
355
|
+
return { absentDeclaredFields: 'ignore' };
|
|
356
|
+
}
|
|
357
|
+
if (typeof optionsArg !== 'object'
|
|
358
|
+
|| optionsArg === null
|
|
359
|
+
|| plugins.nodeUtil.types.isProxy(optionsArg)
|
|
360
|
+
|| !isPlainObject(optionsArg)) {
|
|
361
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Fenced save options must be an inert plain object.');
|
|
362
|
+
}
|
|
363
|
+
const allowedKeys = new Set(['session', 'absentDeclaredFields']);
|
|
364
|
+
for (const key of Reflect.ownKeys(optionsArg)) {
|
|
365
|
+
if (typeof key !== 'string' || !allowedKeys.has(key)) {
|
|
366
|
+
throw new SmartdataPersistenceError('invalid_argument', `Fenced save received unsupported option "${String(key)}".`);
|
|
367
|
+
}
|
|
368
|
+
const descriptor = Object.getOwnPropertyDescriptor(optionsArg, key);
|
|
369
|
+
if (!descriptor || !('value' in descriptor) || descriptor.enumerable !== true) {
|
|
370
|
+
throw new SmartdataPersistenceError('invalid_argument', `Fenced save option "${key}" must be an inert enumerable data property.`);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
const absentDeclaredFields = Object.getOwnPropertyDescriptor(optionsArg, 'absentDeclaredFields')?.value;
|
|
374
|
+
if (absentDeclaredFields !== undefined
|
|
375
|
+
&& absentDeclaredFields !== 'ignore'
|
|
376
|
+
&& absentDeclaredFields !== 'unset') {
|
|
377
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Fenced save absentDeclaredFields must be "ignore" or "unset".');
|
|
378
|
+
}
|
|
379
|
+
const session = Object.getOwnPropertyDescriptor(optionsArg, 'session')?.value;
|
|
380
|
+
return {
|
|
381
|
+
...(session !== undefined ? { session } : {}),
|
|
382
|
+
absentDeclaredFields: absentDeclaredFields ?? 'ignore',
|
|
383
|
+
};
|
|
384
|
+
};
|
|
318
385
|
const normalizeAtomicFindOneAndUpdateOptions = (optionsArg) => {
|
|
319
386
|
if (typeof optionsArg !== 'object'
|
|
320
387
|
|| optionsArg === null
|
|
@@ -358,6 +425,39 @@ const normalizeAtomicFindOneAndUpdateOptions = (optionsArg) => {
|
|
|
358
425
|
: {}),
|
|
359
426
|
};
|
|
360
427
|
};
|
|
428
|
+
const normalizeAtomicFindOneAndReplaceOptions = (optionsArg) => {
|
|
429
|
+
if (optionsArg === undefined) {
|
|
430
|
+
return { returnDocument: 'after' };
|
|
431
|
+
}
|
|
432
|
+
if (typeof optionsArg !== 'object'
|
|
433
|
+
|| optionsArg === null
|
|
434
|
+
|| plugins.nodeUtil.types.isProxy(optionsArg)
|
|
435
|
+
|| !isPlainObject(optionsArg)) {
|
|
436
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Atomic find-one-and-replace options must be an inert plain object.');
|
|
437
|
+
}
|
|
438
|
+
const allowedKeys = new Set(['returnDocument', 'session']);
|
|
439
|
+
for (const key of Reflect.ownKeys(optionsArg)) {
|
|
440
|
+
if (typeof key !== 'string' || !allowedKeys.has(key)) {
|
|
441
|
+
throw new SmartdataPersistenceError('invalid_argument', `Atomic find-one-and-replace received unsupported option "${String(key)}".`);
|
|
442
|
+
}
|
|
443
|
+
const descriptor = Object.getOwnPropertyDescriptor(optionsArg, key);
|
|
444
|
+
if (!descriptor || !('value' in descriptor) || descriptor.enumerable !== true) {
|
|
445
|
+
throw new SmartdataPersistenceError('invalid_argument', `Atomic find-one-and-replace option "${key}" must be an inert enumerable data property.`);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
const returnDocument = Object.getOwnPropertyDescriptor(optionsArg, 'returnDocument')
|
|
449
|
+
?.value;
|
|
450
|
+
if (returnDocument !== undefined
|
|
451
|
+
&& returnDocument !== 'before'
|
|
452
|
+
&& returnDocument !== 'after') {
|
|
453
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Atomic find-one-and-replace returnDocument must be "before" or "after".');
|
|
454
|
+
}
|
|
455
|
+
const session = Object.getOwnPropertyDescriptor(optionsArg, 'session')?.value;
|
|
456
|
+
return {
|
|
457
|
+
returnDocument: returnDocument ?? 'after',
|
|
458
|
+
...(session !== undefined ? { session } : {}),
|
|
459
|
+
};
|
|
460
|
+
};
|
|
361
461
|
const normalizeAtomicExpressionUpdateOptions = (optionsArg) => {
|
|
362
462
|
if (optionsArg === undefined) {
|
|
363
463
|
return undefined;
|
|
@@ -1012,52 +1112,88 @@ const getAtomicExpressionArrayValues = (valueArg, minimumLengthArg, maximumLengt
|
|
|
1012
1112
|
}
|
|
1013
1113
|
return values;
|
|
1014
1114
|
};
|
|
1115
|
+
/** Detects the inert `{ $ifNull: [...] }` operand shape before validating it. */
|
|
1116
|
+
const isAtomicIfNullOperand = (operandArg) => {
|
|
1117
|
+
if (typeof operandArg !== 'object'
|
|
1118
|
+
|| operandArg === null
|
|
1119
|
+
|| Array.isArray(operandArg)
|
|
1120
|
+
|| plugins.nodeUtil.types.isProxy(operandArg)
|
|
1121
|
+
|| Object.getPrototypeOf(operandArg) !== Object.prototype) {
|
|
1122
|
+
return false;
|
|
1123
|
+
}
|
|
1124
|
+
const keys = Reflect.ownKeys(operandArg);
|
|
1125
|
+
return keys.length === 1 && keys[0] === '$ifNull';
|
|
1126
|
+
};
|
|
1015
1127
|
const normalizeAtomicNumericExpression = (expressionArg, declaredRootsArg, numericRootsArg, serializedRootsArg, operationLabelArg) => {
|
|
1016
1128
|
let leafOperandCount = 0;
|
|
1129
|
+
const normalizeNumericLiteral = (literalArg) => {
|
|
1130
|
+
leafOperandCount++;
|
|
1131
|
+
if (typeof literalArg !== 'number'
|
|
1132
|
+
|| !Number.isFinite(literalArg)
|
|
1133
|
+
|| leafOperandCount > atomicNumericExpressionMaximumLeafOperands) {
|
|
1134
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr requires finite numeric literals and no more than ${atomicNumericExpressionMaximumLeafOperands} leaf operands.`);
|
|
1135
|
+
}
|
|
1136
|
+
return literalArg;
|
|
1137
|
+
};
|
|
1138
|
+
const normalizeFieldReference = (referenceArg) => {
|
|
1139
|
+
leafOperandCount++;
|
|
1140
|
+
if (leafOperandCount > atomicNumericExpressionMaximumLeafOperands) {
|
|
1141
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr may not exceed ${atomicNumericExpressionMaximumLeafOperands} leaf operands.`);
|
|
1142
|
+
}
|
|
1143
|
+
if (typeof referenceArg !== 'string'
|
|
1144
|
+
|| !referenceArg.startsWith('$')
|
|
1145
|
+
|| referenceArg.startsWith('$$')
|
|
1146
|
+
|| referenceArg.length < 2) {
|
|
1147
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field references must use exactly one leading $.`);
|
|
1148
|
+
}
|
|
1149
|
+
const field = referenceArg.slice(1);
|
|
1150
|
+
if (field === 'toBSON' || field === '_bsontype') {
|
|
1151
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field "${field}" is reserved.`);
|
|
1152
|
+
}
|
|
1153
|
+
const root = requireDeclaredPath(field, declaredRootsArg, `${operationLabelArg} $expr`);
|
|
1154
|
+
if (field !== root) {
|
|
1155
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr may reference only declared top-level fields.`);
|
|
1156
|
+
}
|
|
1157
|
+
if (!numericRootsArg.has(root)) {
|
|
1158
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field "${root}" is not declared numeric.`);
|
|
1159
|
+
}
|
|
1160
|
+
if (serializedRootsArg.has(root)) {
|
|
1161
|
+
throw new SmartdataPersistenceError('unsupported_operation', `${operationLabelArg} $expr cannot reference serialized field "${root}".`);
|
|
1162
|
+
}
|
|
1163
|
+
return root;
|
|
1164
|
+
};
|
|
1017
1165
|
const normalizeOperand = (operandArg, depthArg) => {
|
|
1018
1166
|
if (typeof operandArg === 'number') {
|
|
1019
|
-
leafOperandCount++;
|
|
1020
|
-
if (!Number.isFinite(operandArg)
|
|
1021
|
-
|| leafOperandCount > atomicNumericExpressionMaximumLeafOperands) {
|
|
1022
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr requires finite numeric literals and no more than ${atomicNumericExpressionMaximumLeafOperands} leaf operands.`);
|
|
1023
|
-
}
|
|
1024
1167
|
return {
|
|
1025
|
-
mongoExpression: operandArg,
|
|
1168
|
+
mongoExpression: normalizeNumericLiteral(operandArg),
|
|
1026
1169
|
referencedFields: new Set(),
|
|
1170
|
+
nullableFields: new Set(),
|
|
1027
1171
|
};
|
|
1028
1172
|
}
|
|
1029
1173
|
if (typeof operandArg === 'string') {
|
|
1030
|
-
|
|
1031
|
-
if (leafOperandCount > atomicNumericExpressionMaximumLeafOperands) {
|
|
1032
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr may not exceed ${atomicNumericExpressionMaximumLeafOperands} leaf operands.`);
|
|
1033
|
-
}
|
|
1034
|
-
if (!operandArg.startsWith('$')
|
|
1035
|
-
|| operandArg.startsWith('$$')
|
|
1036
|
-
|| operandArg.length < 2) {
|
|
1037
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field references must use exactly one leading $.`);
|
|
1038
|
-
}
|
|
1039
|
-
const field = operandArg.slice(1);
|
|
1040
|
-
if (field === 'toBSON' || field === '_bsontype') {
|
|
1041
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field "${field}" is reserved.`);
|
|
1042
|
-
}
|
|
1043
|
-
const root = requireDeclaredPath(field, declaredRootsArg, `${operationLabelArg} $expr`);
|
|
1044
|
-
if (field !== root) {
|
|
1045
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr may reference only declared top-level fields.`);
|
|
1046
|
-
}
|
|
1047
|
-
if (!numericRootsArg.has(root)) {
|
|
1048
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr field "${root}" is not declared numeric.`);
|
|
1049
|
-
}
|
|
1050
|
-
if (serializedRootsArg.has(root)) {
|
|
1051
|
-
throw new SmartdataPersistenceError('unsupported_operation', `${operationLabelArg} $expr cannot reference serialized field "${root}".`);
|
|
1052
|
-
}
|
|
1174
|
+
const root = normalizeFieldReference(operandArg);
|
|
1053
1175
|
return {
|
|
1054
1176
|
mongoExpression: `$${root}`,
|
|
1055
1177
|
referencedFields: new Set([root]),
|
|
1178
|
+
nullableFields: new Set(),
|
|
1056
1179
|
};
|
|
1057
1180
|
}
|
|
1058
1181
|
if (depthArg >= atomicNumericExpressionMaximumDepth) {
|
|
1059
1182
|
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} $expr exceeds the maximum $add depth of ${atomicNumericExpressionMaximumDepth}.`);
|
|
1060
1183
|
}
|
|
1184
|
+
if (isAtomicIfNullOperand(operandArg)) {
|
|
1185
|
+
const ifNullOperands = getAtomicExpressionArrayValues(getAtomicExpressionProperty(operandArg, '$ifNull', `${operationLabelArg} $expr operand`), 2, 2, `${operationLabelArg} $expr $ifNull`);
|
|
1186
|
+
const root = normalizeFieldReference(ifNullOperands[0]);
|
|
1187
|
+
const fallback = normalizeNumericLiteral(ifNullOperands[1]);
|
|
1188
|
+
return {
|
|
1189
|
+
// A field that is absent or stored as null takes the literal; any other
|
|
1190
|
+
// stored value flows into the guarded comparison unchanged, so a
|
|
1191
|
+
// non-numeric value still fails closed.
|
|
1192
|
+
mongoExpression: { $ifNull: [`$${root}`, fallback] },
|
|
1193
|
+
referencedFields: new Set(),
|
|
1194
|
+
nullableFields: new Set([root]),
|
|
1195
|
+
};
|
|
1196
|
+
}
|
|
1061
1197
|
const rawOperands = getAtomicExpressionArrayValues(getAtomicExpressionProperty(operandArg, '$add', `${operationLabelArg} $expr operand`), 2, atomicNumericExpressionMaximumAddOperands, `${operationLabelArg} $expr $add`);
|
|
1062
1198
|
const normalizedOperands = rawOperands.map((entryArg) => normalizeOperand(entryArg, depthArg + 1));
|
|
1063
1199
|
return {
|
|
@@ -1067,6 +1203,9 @@ const normalizeAtomicNumericExpression = (expressionArg, declaredRootsArg, numer
|
|
|
1067
1203
|
referencedFields: new Set(normalizedOperands.flatMap((entryArg) => [
|
|
1068
1204
|
...entryArg.referencedFields,
|
|
1069
1205
|
])),
|
|
1206
|
+
nullableFields: new Set(normalizedOperands.flatMap((entryArg) => [
|
|
1207
|
+
...entryArg.nullableFields,
|
|
1208
|
+
])),
|
|
1070
1209
|
};
|
|
1071
1210
|
};
|
|
1072
1211
|
const lteOperands = getAtomicExpressionArrayValues(getAtomicExpressionProperty(expressionArg, '$lte', `${operationLabelArg} $expr`), 2, 2, `${operationLabelArg} $expr $lte`);
|
|
@@ -1076,7 +1215,10 @@ const normalizeAtomicNumericExpression = (expressionArg, declaredRootsArg, numer
|
|
|
1076
1215
|
...left.referencedFields,
|
|
1077
1216
|
...right.referencedFields,
|
|
1078
1217
|
]);
|
|
1079
|
-
|
|
1218
|
+
// A field read both directly and through $ifNull must still be numeric: the
|
|
1219
|
+
// direct read has no fallback, so the stricter guard wins.
|
|
1220
|
+
const nullableFields = new Set([...left.nullableFields, ...right.nullableFields].filter((fieldArg) => !referencedFields.has(fieldArg)));
|
|
1221
|
+
const requireStoredNumber = (fieldArg) => ({
|
|
1080
1222
|
$cond: [
|
|
1081
1223
|
{ $isNumber: `$${fieldArg}` },
|
|
1082
1224
|
{
|
|
@@ -1087,7 +1229,20 @@ const normalizeAtomicNumericExpression = (expressionArg, declaredRootsArg, numer
|
|
|
1087
1229
|
},
|
|
1088
1230
|
false,
|
|
1089
1231
|
],
|
|
1090
|
-
})
|
|
1232
|
+
});
|
|
1233
|
+
const fieldGuards = [
|
|
1234
|
+
...[...referencedFields].map((fieldArg) => requireStoredNumber(fieldArg)),
|
|
1235
|
+
// An absent or null field takes the $ifNull literal, which validation
|
|
1236
|
+
// already proved finite. Every other stored value must still be a finite
|
|
1237
|
+
// number, so a present non-numeric value fails closed exactly as before.
|
|
1238
|
+
...[...nullableFields].map((fieldArg) => ({
|
|
1239
|
+
$cond: [
|
|
1240
|
+
{ $in: [{ $type: `$${fieldArg}` }, ['missing', 'null']] },
|
|
1241
|
+
true,
|
|
1242
|
+
requireStoredNumber(fieldArg),
|
|
1243
|
+
],
|
|
1244
|
+
})),
|
|
1245
|
+
];
|
|
1091
1246
|
const guardedComparison = {
|
|
1092
1247
|
$let: {
|
|
1093
1248
|
vars: {
|
|
@@ -1178,7 +1333,18 @@ const normalizeStrictFilter = (filterArg, declaredRootsArg, declaredNestedPathsA
|
|
|
1178
1333
|
assertOnlyDataProperties(entry, `${labelArg} entry`, false);
|
|
1179
1334
|
}
|
|
1180
1335
|
};
|
|
1181
|
-
|
|
1336
|
+
/**
|
|
1337
|
+
* Plural intent is explicit in the plural method names, so an explicitly
|
|
1338
|
+
* enumerated, non-empty `$in` over equality scalars anchors those filters as
|
|
1339
|
+
* well. A regular expression is a pattern rather than an enumerated value, so
|
|
1340
|
+
* it never anchors. The singular operations keep requiring an equality that
|
|
1341
|
+
* can address exactly one document, and the unique-index check below never
|
|
1342
|
+
* accepts `$in`.
|
|
1343
|
+
*/
|
|
1344
|
+
const pluralEqualityAnchors = operationLabelArg === 'Atomic update-many'
|
|
1345
|
+
|| operationLabelArg === 'Atomic delete-many'
|
|
1346
|
+
|| operationLabelArg === 'Atomic upsert-many';
|
|
1347
|
+
const valueIsEqualityScalar = (valueArg) => {
|
|
1182
1348
|
if (Array.isArray(valueArg)) {
|
|
1183
1349
|
return false;
|
|
1184
1350
|
}
|
|
@@ -1190,6 +1356,18 @@ const normalizeStrictFilter = (filterArg, declaredRootsArg, declaredNestedPathsA
|
|
|
1190
1356
|
if (plugins.nodeUtil.types.isProxy(valueArg)) {
|
|
1191
1357
|
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} filters may not contain Proxy values.`);
|
|
1192
1358
|
}
|
|
1359
|
+
return isAtomicMongoScalar(valueArg);
|
|
1360
|
+
};
|
|
1361
|
+
const conditionIsEqualityAnchor = (valueArg, allowBoundedInArg = pluralEqualityAnchors) => {
|
|
1362
|
+
if (Array.isArray(valueArg)) {
|
|
1363
|
+
return false;
|
|
1364
|
+
}
|
|
1365
|
+
if (typeof valueArg !== 'object' || valueArg === null) {
|
|
1366
|
+
return valueIsEqualityScalar(valueArg);
|
|
1367
|
+
}
|
|
1368
|
+
if (plugins.nodeUtil.types.isProxy(valueArg)) {
|
|
1369
|
+
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} filters may not contain Proxy values.`);
|
|
1370
|
+
}
|
|
1193
1371
|
if (isAtomicMongoScalar(valueArg)) {
|
|
1194
1372
|
return true;
|
|
1195
1373
|
}
|
|
@@ -1198,22 +1376,25 @@ const normalizeStrictFilter = (filterArg, declaredRootsArg, declaredNestedPathsA
|
|
|
1198
1376
|
}
|
|
1199
1377
|
assertOnlyDataProperties(valueArg, `${operationLabelArg} filter condition`, false);
|
|
1200
1378
|
const entries = Object.entries(valueArg);
|
|
1201
|
-
if (entries.length !== 1
|
|
1379
|
+
if (entries.length !== 1) {
|
|
1202
1380
|
return false;
|
|
1203
1381
|
}
|
|
1204
|
-
const operand = entries[0]
|
|
1205
|
-
if (
|
|
1206
|
-
return
|
|
1382
|
+
const [operator, operand] = entries[0];
|
|
1383
|
+
if (operator === '$eq') {
|
|
1384
|
+
return valueIsEqualityScalar(operand);
|
|
1385
|
+
}
|
|
1386
|
+
if (operator === '$in' && allowBoundedInArg) {
|
|
1387
|
+
// An empty or exotic array is refused by the condition normalizer; it
|
|
1388
|
+
// never becomes an anchor here either. A regular expression entry states
|
|
1389
|
+
// a pattern instead of enumerating documents, so it does not bound the
|
|
1390
|
+
// write and the filter stays unanchored.
|
|
1391
|
+
return (Array.isArray(operand)
|
|
1392
|
+
&& !plugins.nodeUtil.types.isProxy(operand)
|
|
1393
|
+
&& Object.getPrototypeOf(operand) === Array.prototype
|
|
1394
|
+
&& operand.length > 0
|
|
1395
|
+
&& operand.every((entryArg) => !(entryArg instanceof RegExp) && valueIsEqualityScalar(entryArg)));
|
|
1207
1396
|
}
|
|
1208
|
-
|
|
1209
|
-
return (operand !== undefined
|
|
1210
|
-
&& typeof operand !== 'function'
|
|
1211
|
-
&& typeof operand !== 'symbol');
|
|
1212
|
-
}
|
|
1213
|
-
if (plugins.nodeUtil.types.isProxy(operand)) {
|
|
1214
|
-
throw new SmartdataPersistenceError('invalid_argument', `${operationLabelArg} filters may not contain Proxy values.`);
|
|
1215
|
-
}
|
|
1216
|
-
return isAtomicMongoScalar(operand);
|
|
1397
|
+
return false;
|
|
1217
1398
|
};
|
|
1218
1399
|
const filterHasEqualityAnchor = (filterObjectArg) => {
|
|
1219
1400
|
for (const [key, value] of Object.entries(filterObjectArg)) {
|
|
@@ -1255,8 +1436,10 @@ const normalizeStrictFilter = (filterArg, declaredRootsArg, declaredNestedPathsA
|
|
|
1255
1436
|
continue;
|
|
1256
1437
|
}
|
|
1257
1438
|
// $or branches are deliberately excluded: an equality inside one $or
|
|
1258
|
-
// branch does not globally constrain the matched document.
|
|
1259
|
-
|
|
1439
|
+
// branch does not globally constrain the matched document. A bounded
|
|
1440
|
+
// `$in` is excluded for the same reason: it selects a set, so it never
|
|
1441
|
+
// pins a unique index to one document.
|
|
1442
|
+
if (!key.startsWith('$') && conditionIsEqualityAnchor(value, false)) {
|
|
1260
1443
|
anchoredKeysArg.add(key);
|
|
1261
1444
|
}
|
|
1262
1445
|
}
|
|
@@ -2239,6 +2422,91 @@ let SmartDataDbDoc = (() => {
|
|
|
2239
2422
|
document: this.createInstanceFromMongoDbNativeDoc(result.document),
|
|
2240
2423
|
};
|
|
2241
2424
|
}
|
|
2425
|
+
/**
|
|
2426
|
+
* Atomically replaces one ordinary model document with a new one, including
|
|
2427
|
+
* its declared identity.
|
|
2428
|
+
*
|
|
2429
|
+
* This is the one operation that moves an `@unI()` identity: the matched
|
|
2430
|
+
* document ceases to exist and the replacement takes its `_id` slot in a
|
|
2431
|
+
* single compare-and-swap, which is what a model whose identity is the
|
|
2432
|
+
* additional-authenticated-data of an encrypted field needs when it rotates.
|
|
2433
|
+
* Every other write keeps identities immutable.
|
|
2434
|
+
*
|
|
2435
|
+
* `replacementArg` is a newly constructed instance that was never stored.
|
|
2436
|
+
* Its `createSavableObject()` body is written whole, so a field the matched
|
|
2437
|
+
* document carried and the replacement does not is gone afterwards — replace
|
|
2438
|
+
* semantics, not `$set` — and atomic-only fields are seeded from the
|
|
2439
|
+
* instance exactly as `insert()` seeds them. The body never carries an
|
|
2440
|
+
* `_id`: keeping the matched document's primary key is the point of the
|
|
2441
|
+
* operation, so a model whose declared identity *is* the `_id`
|
|
2442
|
+
* (`identityAsDocumentId`) cannot rotate and is refused before any write.
|
|
2443
|
+
*
|
|
2444
|
+
* The filter follows the singular rule of `atomicUpdate()` and
|
|
2445
|
+
* `atomicFindOneAndUpdate()`: declared paths and at least one top-level
|
|
2446
|
+
* equality anchor. It does not have to pin a unique index — the caller
|
|
2447
|
+
* usually searches by the owning field precisely because it does not know
|
|
2448
|
+
* which identity is stored — so a filter matching several documents replaces
|
|
2449
|
+
* one of them, as with every singular atomic operation.
|
|
2450
|
+
*
|
|
2451
|
+
* Like `insert()` and the other static atomic operations, this one runs no
|
|
2452
|
+
* instance hooks; `beforeSave()`-style normalization belongs before the
|
|
2453
|
+
* call. On a match the replacement becomes a stored instance, exactly as
|
|
2454
|
+
* `insert()` marks it, and the returned instance is hydrated from the image
|
|
2455
|
+
* named by `returnDocument`. Without a match nothing is written, `null` is
|
|
2456
|
+
* returned, and the replacement stays untouched.
|
|
2457
|
+
*/
|
|
2458
|
+
static async atomicFindOneAndReplace(filterArg, replacementArg, opts) {
|
|
2459
|
+
if (getOrdinaryPersistencePolicy(this)) {
|
|
2460
|
+
throw new SmartdataPersistenceError('unsupported_operation', 'Validated ordinary models require transactional postimage updates.');
|
|
2461
|
+
}
|
|
2462
|
+
if (this[exactPersistencePolicySymbol]) {
|
|
2463
|
+
throw new SmartdataPersistenceError('unsupported_operation', 'atomicFindOneAndReplace is unavailable for exact-persistence models.');
|
|
2464
|
+
}
|
|
2465
|
+
const normalizedOptions = normalizeAtomicFindOneAndReplaceOptions(opts);
|
|
2466
|
+
if (!(replacementArg instanceof this)) {
|
|
2467
|
+
throw new SmartdataPersistenceError('invalid_argument', `Atomic find-one-and-replace requires a replacement instance of "${this.name}".`);
|
|
2468
|
+
}
|
|
2469
|
+
const replacement = replacementArg;
|
|
2470
|
+
if (replacement.creationStatus !== 'new') {
|
|
2471
|
+
// A stored instance already owns a document. Writing its body into a
|
|
2472
|
+
// second one would leave two documents claiming one identity until the
|
|
2473
|
+
// unique index refuses the loser.
|
|
2474
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Atomic find-one-and-replace requires a newly constructed replacement; a stored instance already owns a document.');
|
|
2475
|
+
}
|
|
2476
|
+
const identityDocumentIdField = this.getIdentityDocumentIdField();
|
|
2477
|
+
if (identityDocumentIdField) {
|
|
2478
|
+
throw new SmartdataPersistenceError('invalid_argument', `Identity field "${identityDocumentIdField}" owns the document _id, which a replacement cannot move; rotate such an identity by inserting the new document and deleting the old one.`);
|
|
2479
|
+
}
|
|
2480
|
+
assertUsableIdentityValues(replacement, this.prototype.uniqueIndexes || [], this.prototype.identityValueTypes);
|
|
2481
|
+
const normalizedFilter = normalizeStrictFilter(filterArg, this.getDeclaredPersistedRoots(), this.getDeclaredAtomicPaths(), this.getDeclaredIdentityValueTypes(), this.getDeclaredNumericRoots(), this.getSerializedPersistedRoots(), 'Atomic find-one-and-replace');
|
|
2482
|
+
// The replacement is a document of its own, so it carries the timestamps
|
|
2483
|
+
// an insert would give it rather than the matched document's.
|
|
2484
|
+
const previousCreatedAt = replacement._createdAt;
|
|
2485
|
+
const previousUpdatedAt = replacement._updatedAt;
|
|
2486
|
+
const now = new Date().toISOString();
|
|
2487
|
+
replacement._createdAt = now;
|
|
2488
|
+
replacement._updatedAt = now;
|
|
2489
|
+
const body = await replacement.createSavableObject();
|
|
2490
|
+
if (Object.prototype.hasOwnProperty.call(body, '_id')) {
|
|
2491
|
+
throw new SmartdataPersistenceError('invalid_argument', 'Atomic find-one-and-replace cannot carry a stored document _id; the matched document keeps its own.');
|
|
2492
|
+
}
|
|
2493
|
+
const collection = this.collection;
|
|
2494
|
+
const result = await executeAtomicFindOneAndReplace(collection, normalizedFilter, body, {
|
|
2495
|
+
returnDocument: normalizedOptions.returnDocument,
|
|
2496
|
+
...(normalizedOptions.session ? { session: normalizedOptions.session } : {}),
|
|
2497
|
+
});
|
|
2498
|
+
if (result.status === 'not_matched') {
|
|
2499
|
+
replacement._createdAt = previousCreatedAt;
|
|
2500
|
+
replacement._updatedAt = previousUpdatedAt;
|
|
2501
|
+
return null;
|
|
2502
|
+
}
|
|
2503
|
+
if (!isOrdinarySessionInTransaction(normalizedOptions.session)) {
|
|
2504
|
+
// A transaction may still abort, so the instance counts as stored only
|
|
2505
|
+
// once the write is outside one, exactly as insert() decides it.
|
|
2506
|
+
replacement.creationStatus = 'db';
|
|
2507
|
+
}
|
|
2508
|
+
return this.createInstanceFromMongoDbNativeDoc(result.document);
|
|
2509
|
+
}
|
|
2242
2510
|
/**
|
|
2243
2511
|
* Atomically deletes one ordinary model document using a strict selector.
|
|
2244
2512
|
*
|
|
@@ -2622,6 +2890,7 @@ let SmartDataDbDoc = (() => {
|
|
|
2622
2890
|
return runWithOrdinarySmartdataSession(optionsArg.session, collection.smartdataDb, {
|
|
2623
2891
|
ordinaryWrite: false,
|
|
2624
2892
|
prepared: collection.isInitializedForCurrentDatabase(),
|
|
2893
|
+
collectionName: collection.collectionName,
|
|
2625
2894
|
}, async (rawSessionArg) => {
|
|
2626
2895
|
await collection.init();
|
|
2627
2896
|
const rawCursor = collection.mongoDbCollection
|
|
@@ -2713,57 +2982,69 @@ let SmartDataDbDoc = (() => {
|
|
|
2713
2982
|
throw new SmartdataPersistenceError('invalid_argument', 'Cursor skip must be an integer from 0 through 2147483647 and requires sort and limit.');
|
|
2714
2983
|
}
|
|
2715
2984
|
const collection = this.collection;
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
skip,
|
|
2985
|
+
// The cursor outlives this call, so an owned session stays leased until the
|
|
2986
|
+
// cursor is closed. Every failure below releases it before rethrowing.
|
|
2987
|
+
const lease = leaseOrdinarySmartdataSession(session, collection.smartdataDb, {
|
|
2988
|
+
prepared: collection.isInitializedForCurrentDatabase(),
|
|
2989
|
+
collectionName: collection.collectionName,
|
|
2722
2990
|
});
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
rawCursor = rawCursor.maxTimeMS(maxTimeMS);
|
|
2734
|
-
}
|
|
2735
|
-
if (modifier) {
|
|
2736
|
-
const originalCursor = rawCursor;
|
|
2737
|
-
let modifiedCursor;
|
|
2738
|
-
try {
|
|
2739
|
-
modifiedCursor = modifier(originalCursor);
|
|
2991
|
+
try {
|
|
2992
|
+
await collection.init();
|
|
2993
|
+
let rawCursor = collection.mongoDbCollection.find(this.normalizeReadFilter(filterArg), {
|
|
2994
|
+
projection,
|
|
2995
|
+
session: lease.rawSession,
|
|
2996
|
+
hint,
|
|
2997
|
+
skip,
|
|
2998
|
+
});
|
|
2999
|
+
if (sort) {
|
|
3000
|
+
rawCursor = rawCursor.sort(sort);
|
|
2740
3001
|
}
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
// Preserve the modifier error when best-effort cleanup also fails.
|
|
2747
|
-
}
|
|
2748
|
-
throw modifierError;
|
|
3002
|
+
if (batchSize) {
|
|
3003
|
+
rawCursor = rawCursor.batchSize(batchSize);
|
|
3004
|
+
}
|
|
3005
|
+
if (limit) {
|
|
3006
|
+
rawCursor = rawCursor.limit(limit);
|
|
2749
3007
|
}
|
|
2750
|
-
if (
|
|
3008
|
+
if (maxTimeMS) {
|
|
3009
|
+
rawCursor = rawCursor.maxTimeMS(maxTimeMS);
|
|
3010
|
+
}
|
|
3011
|
+
if (modifier) {
|
|
3012
|
+
const originalCursor = rawCursor;
|
|
3013
|
+
let modifiedCursor;
|
|
2751
3014
|
try {
|
|
2752
|
-
|
|
3015
|
+
modifiedCursor = modifier(originalCursor);
|
|
2753
3016
|
}
|
|
2754
|
-
catch (
|
|
3017
|
+
catch (modifierError) {
|
|
2755
3018
|
try {
|
|
2756
|
-
await
|
|
3019
|
+
await originalCursor.close();
|
|
2757
3020
|
}
|
|
2758
3021
|
catch {
|
|
2759
|
-
// Preserve the
|
|
3022
|
+
// Preserve the modifier error when best-effort cleanup also fails.
|
|
3023
|
+
}
|
|
3024
|
+
throw modifierError;
|
|
3025
|
+
}
|
|
3026
|
+
if (modifiedCursor !== originalCursor) {
|
|
3027
|
+
try {
|
|
3028
|
+
await originalCursor.close();
|
|
3029
|
+
}
|
|
3030
|
+
catch (originalCursorCloseError) {
|
|
3031
|
+
try {
|
|
3032
|
+
await modifiedCursor.close();
|
|
3033
|
+
}
|
|
3034
|
+
catch {
|
|
3035
|
+
// Preserve the original cursor's cleanup error.
|
|
3036
|
+
}
|
|
3037
|
+
throw originalCursorCloseError;
|
|
2760
3038
|
}
|
|
2761
|
-
throw originalCursorCloseError;
|
|
2762
3039
|
}
|
|
3040
|
+
rawCursor = modifiedCursor;
|
|
2763
3041
|
}
|
|
2764
|
-
rawCursor
|
|
3042
|
+
return new SmartdataDbCursor(rawCursor, this, lease.release);
|
|
3043
|
+
}
|
|
3044
|
+
catch (cursorCreationError) {
|
|
3045
|
+
lease.release();
|
|
3046
|
+
throw cursorCreationError;
|
|
2765
3047
|
}
|
|
2766
|
-
return new SmartdataDbCursor(rawCursor, this);
|
|
2767
3048
|
}
|
|
2768
3049
|
/**
|
|
2769
3050
|
* Read a bounded offset page while retaining an owned session through cursor
|
|
@@ -3100,6 +3381,124 @@ let SmartDataDbDoc = (() => {
|
|
|
3100
3381
|
}
|
|
3101
3382
|
return dbResult;
|
|
3102
3383
|
}
|
|
3384
|
+
/**
|
|
3385
|
+
* Saves this instance only while the stored document still matches `fence`.
|
|
3386
|
+
*
|
|
3387
|
+
* The write is one `updateOne` that never upserts: the instance's identity
|
|
3388
|
+
* addresses the document, the fence adds the condition the caller depends on
|
|
3389
|
+
* — a status, a revision, a lease owner — and the update applies only if the
|
|
3390
|
+
* server still sees that condition. `matchedCount === 0` means another writer
|
|
3391
|
+
* moved the document first; nothing was written and this instance is exactly
|
|
3392
|
+
* as it was before the call, so the caller can reload and decide.
|
|
3393
|
+
*
|
|
3394
|
+
* The stored document receives the same fields an ordinary `save()` writes,
|
|
3395
|
+
* minus the ones no `save()` may write: declared identities are immutable and
|
|
3396
|
+
* already pinned by the filter, and atomic-only fields belong to concurrent
|
|
3397
|
+
* atomic writers — a fenced save never creates a document, so it has nothing
|
|
3398
|
+
* to seed either. Declared fields this instance holds as `undefined` follow
|
|
3399
|
+
* `absentDeclaredFields`.
|
|
3400
|
+
*
|
|
3401
|
+
* `beforeSave()` runs before the write, as with `save()`; `afterSave()` runs
|
|
3402
|
+
* only when the fence matched, because a fence that missed saved nothing.
|
|
3403
|
+
*/
|
|
3404
|
+
async saveIf(fenceArg, optsArg) {
|
|
3405
|
+
if (getOrdinaryPersistencePolicy(this.constructor)) {
|
|
3406
|
+
throw new SmartdataPersistenceError('unsupported_operation', 'Validated ordinary models use insert() or transactional postimage updates.');
|
|
3407
|
+
}
|
|
3408
|
+
if (this.constructor[exactPersistencePolicySymbol]) {
|
|
3409
|
+
throw new SmartdataPersistenceError('unsupported_operation', 'saveIf() is unavailable for exact-persistence models.');
|
|
3410
|
+
}
|
|
3411
|
+
const options = normalizeSaveIfOptions(optsArg);
|
|
3412
|
+
if (this.creationStatus !== 'db') {
|
|
3413
|
+
// A fence states what the stored document must still look like. An
|
|
3414
|
+
// instance that was never stored has no such document, so the call is a
|
|
3415
|
+
// programming error rather than a miss the caller could retry.
|
|
3416
|
+
throw new SmartdataPersistenceError('invalid_argument', 'saveIf() requires an instance read from the database; use save() to create a document.');
|
|
3417
|
+
}
|
|
3418
|
+
const identityFields = this.uniqueIndexes || [];
|
|
3419
|
+
if (identityFields.length === 0) {
|
|
3420
|
+
throw new SmartdataPersistenceError('invalid_configuration', 'saveIf() requires declared identity fields; without them the fence would address an arbitrary document.');
|
|
3421
|
+
}
|
|
3422
|
+
if (typeof fenceArg !== 'object'
|
|
3423
|
+
|| fenceArg === null
|
|
3424
|
+
|| Array.isArray(fenceArg)
|
|
3425
|
+
|| plugins.nodeUtil.types.isProxy(fenceArg)
|
|
3426
|
+
|| !isPlainObject(fenceArg)
|
|
3427
|
+
|| Object.keys(fenceArg).length === 0) {
|
|
3428
|
+
throw new SmartdataPersistenceError('invalid_argument', 'saveIf() requires a non-empty fence object; an unfenced save is save().');
|
|
3429
|
+
}
|
|
3430
|
+
assertOnlyDataProperties(fenceArg, 'Fenced save fence', false);
|
|
3431
|
+
for (const identityField of identityFields) {
|
|
3432
|
+
if (Object.prototype.hasOwnProperty.call(fenceArg, identityField)) {
|
|
3433
|
+
// The instance's own identity addresses the document. A second
|
|
3434
|
+
// top-level condition on it would silently redirect the write.
|
|
3435
|
+
throw new SmartdataPersistenceError('invalid_argument', `Fenced save may not fence on identity field "${identityField}"; the instance already addresses its document.`);
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
const modelConstructor = this.constructor;
|
|
3439
|
+
// Numeric and atomic-only declarations live on the bound collection, so a
|
|
3440
|
+
// @managed instance answers for the collection it was read through.
|
|
3441
|
+
const collection = this.getCollectionSafe();
|
|
3442
|
+
const modelSchema = collection.getBoundModelSchema();
|
|
3443
|
+
const identityFilter = {};
|
|
3444
|
+
for (const identityField of identityFields) {
|
|
3445
|
+
identityFilter[identityField] = this[identityField];
|
|
3446
|
+
}
|
|
3447
|
+
const normalizedFilter = normalizeStrictFilter({ ...identityFilter, ...fenceArg }, modelConstructor.getDeclaredPersistedRoots(), modelConstructor.getDeclaredAtomicPaths(), modelConstructor.getDeclaredIdentityValueTypes(), new Set(modelSchema?.numericFields || []), modelConstructor.getSerializedPersistedRoots(), 'Fenced save');
|
|
3448
|
+
if (typeof this.beforeSave === 'function') {
|
|
3449
|
+
await this.beforeSave();
|
|
3450
|
+
}
|
|
3451
|
+
assertUsableIdentityValues(this, identityFields, this.identityValueTypes);
|
|
3452
|
+
const previousUpdatedAt = this._updatedAt;
|
|
3453
|
+
this._updatedAt = new Date().toISOString();
|
|
3454
|
+
const saveableObject = await this.createSavableObject();
|
|
3455
|
+
const atomicOnlyRoots = new Set(modelSchema?.atomicOnlyFields || []);
|
|
3456
|
+
const isWritableField = (fieldArg) => !identityFields.includes(fieldArg) && !atomicOnlyRoots.has(fieldArg);
|
|
3457
|
+
const setObject = {};
|
|
3458
|
+
for (const key of Object.keys(saveableObject)) {
|
|
3459
|
+
if (isWritableField(key)) {
|
|
3460
|
+
setObject[key] = saveableObject[key];
|
|
3461
|
+
}
|
|
3462
|
+
}
|
|
3463
|
+
const unsetObject = {};
|
|
3464
|
+
if (options.absentDeclaredFields === 'unset') {
|
|
3465
|
+
// createSavableObject() omits every field the instance holds as
|
|
3466
|
+
// undefined, so a declared field missing from it is exactly a field this
|
|
3467
|
+
// instance states as absent.
|
|
3468
|
+
const declaredSavableFields = new Set([
|
|
3469
|
+
...(this.globalSaveableProperties || []),
|
|
3470
|
+
...(this.saveableProperties || []),
|
|
3471
|
+
]);
|
|
3472
|
+
for (const field of declaredSavableFields) {
|
|
3473
|
+
if (isWritableField(field)
|
|
3474
|
+
&& !Object.prototype.hasOwnProperty.call(saveableObject, field)) {
|
|
3475
|
+
unsetObject[field] = '';
|
|
3476
|
+
}
|
|
3477
|
+
}
|
|
3478
|
+
}
|
|
3479
|
+
const result = await executeAtomicUpdate(collection, mapIdentityFilterToDocumentId(normalizedFilter, getIdentityDocumentIdField(this.constructor)), {
|
|
3480
|
+
$set: setObject,
|
|
3481
|
+
...(Object.keys(unsetObject).length > 0 ? { $unset: unsetObject } : {}),
|
|
3482
|
+
}, { session: options.session });
|
|
3483
|
+
if (result.matchedCount === 0) {
|
|
3484
|
+
// Nothing was written, so the instance keeps the update timestamp the
|
|
3485
|
+
// stored document still carries.
|
|
3486
|
+
this._updatedAt = previousUpdatedAt;
|
|
3487
|
+
return {
|
|
3488
|
+
acknowledged: result.acknowledged,
|
|
3489
|
+
matchedCount: 0,
|
|
3490
|
+
modifiedCount: result.modifiedCount,
|
|
3491
|
+
};
|
|
3492
|
+
}
|
|
3493
|
+
if (typeof this.afterSave === 'function') {
|
|
3494
|
+
await this.afterSave();
|
|
3495
|
+
}
|
|
3496
|
+
return {
|
|
3497
|
+
acknowledged: result.acknowledged,
|
|
3498
|
+
matchedCount: result.matchedCount,
|
|
3499
|
+
modifiedCount: result.modifiedCount,
|
|
3500
|
+
};
|
|
3501
|
+
}
|
|
3103
3502
|
/**
|
|
3104
3503
|
* deletes a document from the database (optionally within a transaction)
|
|
3105
3504
|
*/
|
|
@@ -3238,4 +3637,4 @@ let SmartDataDbDoc = (() => {
|
|
|
3238
3637
|
};
|
|
3239
3638
|
})();
|
|
3240
3639
|
export { SmartDataDbDoc };
|
|
3241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUNMLG9DQUFvQyxHQUNyQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hILE9BQU8sRUFDTCxzQkFBc0IsRUFBRSw2QkFBNkIsR0FHdEQsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsMEJBQTBCLEVBRzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsR0FDdEUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxP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
|
|
3640
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUNMLG9DQUFvQyxHQUNyQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hILE9BQU8sRUFDTCxzQkFBc0IsRUFBRSw2QkFBNkIsR0FHdEQsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsMEJBQTBCLEVBRzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pGLE9BQU8sRUFDTCw4QkFBOEIsRUFBRSw2QkFBNkIsR0FDOUQsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEdBQ3RFLE1BQU0sMkJBQTJC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
|