rads-db 0.1.75 → 0.1.77
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/dist/index.cjs +30 -13
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +30 -13
- package/drivers/restApi.cjs +3 -0
- package/drivers/restApi.mjs +3 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -684,14 +684,20 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
684
684
|
doc = merge(oldDoc, doc);
|
|
685
685
|
if (mustCleanNulls)
|
|
686
686
|
cleanUndefinedAndNull(doc);
|
|
687
|
-
doc = validators[key](doc);
|
|
688
687
|
return { oldDoc, doc };
|
|
689
688
|
});
|
|
690
|
-
const docsToSave = docArgsToSave.map((x) => x.doc);
|
|
691
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
692
689
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
693
690
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
694
691
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
692
|
+
for (const d of docArgsToSave) {
|
|
693
|
+
const validatedDoc = validators[key](d.doc);
|
|
694
|
+
for (const f of precomputedFields || []) {
|
|
695
|
+
___default.set(validatedDoc, f, ___default.get(d.doc, f));
|
|
696
|
+
}
|
|
697
|
+
d.doc = validatedDoc;
|
|
698
|
+
}
|
|
699
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
700
|
+
const docsToSave = docArgsToSave.map((x) => x.doc);
|
|
695
701
|
await driverInstance.putMany(docsToSave, ctx);
|
|
696
702
|
await handleEffectsAfterPut(computedContext, docArgsToSave, beforePutResults, ctx);
|
|
697
703
|
await afterPut(docArgsToSave, ctx, computedContext);
|
|
@@ -745,23 +751,28 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
745
751
|
doc = merge(oldDoc, doc);
|
|
746
752
|
if (mustCleanNulls)
|
|
747
753
|
cleanUndefinedAndNull(doc);
|
|
748
|
-
doc = validators[key](doc);
|
|
749
|
-
if (oldDoc && precomputedFields) {
|
|
750
|
-
for (const f of precomputedFields) {
|
|
751
|
-
___default.set(doc, f, ___default.get(oldDoc, f));
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
754
|
const docArgsToSave = [{ doc, oldDoc }];
|
|
755
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
756
755
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
757
756
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
758
757
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
758
|
+
const validatedDoc = validators[key](doc);
|
|
759
|
+
docArgsToSave[0].doc = validatedDoc;
|
|
760
|
+
if (precomputedFields) {
|
|
761
|
+
for (const f of precomputedFields) {
|
|
762
|
+
___default.set(validatedDoc, f, ___default.get(doc, f));
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
doc = validatedDoc;
|
|
766
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
759
767
|
await driverInstance.put(doc, ctx);
|
|
760
768
|
await handleEffectsAfterPut(computedContext, docArgsToSave, beforePutResults, ctx);
|
|
761
769
|
await afterPut(docArgsToSave, ctx, computedContext);
|
|
762
770
|
return doc;
|
|
763
771
|
},
|
|
764
772
|
async verifyMany(args, ctx) {
|
|
773
|
+
if (driverInstance.verifyMany) {
|
|
774
|
+
return driverInstance.verifyMany(args, ctx);
|
|
775
|
+
}
|
|
765
776
|
ctx = { ...options.context, ...ctx };
|
|
766
777
|
if (args?.dryRun) {
|
|
767
778
|
ctx._logs = ctx._logs || [];
|
|
@@ -774,7 +785,7 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
774
785
|
const incorrectDocs = [];
|
|
775
786
|
const oldDocs = nodes;
|
|
776
787
|
const docArgsToSave = oldDocs.map((oldDoc) => {
|
|
777
|
-
|
|
788
|
+
const doc = merge(oldDoc, {});
|
|
778
789
|
if (args?.recompute) {
|
|
779
790
|
for (const p of args.recompute) {
|
|
780
791
|
delete doc[p];
|
|
@@ -782,13 +793,19 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
782
793
|
}
|
|
783
794
|
if (mustCleanNulls)
|
|
784
795
|
cleanUndefinedAndNull(doc);
|
|
785
|
-
doc = validators[key](doc);
|
|
786
796
|
return { oldDoc, doc };
|
|
787
797
|
});
|
|
788
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
789
798
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
790
799
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
791
800
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
801
|
+
for (const d of docArgsToSave) {
|
|
802
|
+
const validatedDoc = validators[key](d.doc);
|
|
803
|
+
for (const f of precomputedFields || []) {
|
|
804
|
+
___default.set(validatedDoc, f, ___default.get(d.doc, f));
|
|
805
|
+
}
|
|
806
|
+
d.doc = validatedDoc;
|
|
807
|
+
}
|
|
808
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
792
809
|
for (const { oldDoc, doc } of docArgsToSave) {
|
|
793
810
|
const d = diff(doc, oldDoc);
|
|
794
811
|
if (___default.isEmpty(d))
|
package/dist/index.d.ts
CHANGED
|
@@ -214,8 +214,9 @@ interface MinimalDriver {
|
|
|
214
214
|
getAgg?: (args: GetAggArgsAny, ctx?: RadsRequestContext) => MaybePromise<Record<string, any>>;
|
|
215
215
|
clear?: (ctx?: RadsRequestContext) => MaybePromise<void>;
|
|
216
216
|
put?: (data: Record<string, any>, ctx?: RadsRequestContext) => MaybePromise<void>;
|
|
217
|
+
verifyMany?: (args?: VerifyManyArgsAny, ctx?: RadsRequestContext) => MaybePromise<VerifyManyResponse>;
|
|
217
218
|
}
|
|
218
|
-
type Driver = Required<MinimalDriver>;
|
|
219
|
+
type Driver = Required<Omit<MinimalDriver, 'verifyMany'>> & Pick<MinimalDriver, 'verifyMany'>;
|
|
219
220
|
interface FieldDefinition {
|
|
220
221
|
name: string;
|
|
221
222
|
type: string;
|
package/dist/index.mjs
CHANGED
|
@@ -677,14 +677,20 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
677
677
|
doc = merge(oldDoc, doc);
|
|
678
678
|
if (mustCleanNulls)
|
|
679
679
|
cleanUndefinedAndNull(doc);
|
|
680
|
-
doc = validators[key](doc);
|
|
681
680
|
return { oldDoc, doc };
|
|
682
681
|
});
|
|
683
|
-
const docsToSave = docArgsToSave.map((x) => x.doc);
|
|
684
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
685
682
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
686
683
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
687
684
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
685
|
+
for (const d of docArgsToSave) {
|
|
686
|
+
const validatedDoc = validators[key](d.doc);
|
|
687
|
+
for (const f of precomputedFields || []) {
|
|
688
|
+
_.set(validatedDoc, f, _.get(d.doc, f));
|
|
689
|
+
}
|
|
690
|
+
d.doc = validatedDoc;
|
|
691
|
+
}
|
|
692
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
693
|
+
const docsToSave = docArgsToSave.map((x) => x.doc);
|
|
688
694
|
await driverInstance.putMany(docsToSave, ctx);
|
|
689
695
|
await handleEffectsAfterPut(computedContext, docArgsToSave, beforePutResults, ctx);
|
|
690
696
|
await afterPut(docArgsToSave, ctx, computedContext);
|
|
@@ -738,23 +744,28 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
738
744
|
doc = merge(oldDoc, doc);
|
|
739
745
|
if (mustCleanNulls)
|
|
740
746
|
cleanUndefinedAndNull(doc);
|
|
741
|
-
doc = validators[key](doc);
|
|
742
|
-
if (oldDoc && precomputedFields) {
|
|
743
|
-
for (const f of precomputedFields) {
|
|
744
|
-
_.set(doc, f, _.get(oldDoc, f));
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
747
|
const docArgsToSave = [{ doc, oldDoc }];
|
|
748
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
749
748
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
750
749
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
751
750
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
751
|
+
const validatedDoc = validators[key](doc);
|
|
752
|
+
docArgsToSave[0].doc = validatedDoc;
|
|
753
|
+
if (precomputedFields) {
|
|
754
|
+
for (const f of precomputedFields) {
|
|
755
|
+
_.set(validatedDoc, f, _.get(doc, f));
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
doc = validatedDoc;
|
|
759
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
752
760
|
await driverInstance.put(doc, ctx);
|
|
753
761
|
await handleEffectsAfterPut(computedContext, docArgsToSave, beforePutResults, ctx);
|
|
754
762
|
await afterPut(docArgsToSave, ctx, computedContext);
|
|
755
763
|
return doc;
|
|
756
764
|
},
|
|
757
765
|
async verifyMany(args, ctx) {
|
|
766
|
+
if (driverInstance.verifyMany) {
|
|
767
|
+
return driverInstance.verifyMany(args, ctx);
|
|
768
|
+
}
|
|
758
769
|
ctx = { ...options.context, ...ctx };
|
|
759
770
|
if (args?.dryRun) {
|
|
760
771
|
ctx._logs = ctx._logs || [];
|
|
@@ -767,7 +778,7 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
767
778
|
const incorrectDocs = [];
|
|
768
779
|
const oldDocs = nodes;
|
|
769
780
|
const docArgsToSave = oldDocs.map((oldDoc) => {
|
|
770
|
-
|
|
781
|
+
const doc = merge(oldDoc, {});
|
|
771
782
|
if (args?.recompute) {
|
|
772
783
|
for (const p of args.recompute) {
|
|
773
784
|
delete doc[p];
|
|
@@ -775,13 +786,19 @@ function getRadsDbMethods(key, computedContext, driverInstance) {
|
|
|
775
786
|
}
|
|
776
787
|
if (mustCleanNulls)
|
|
777
788
|
cleanUndefinedAndNull(doc);
|
|
778
|
-
doc = validators[key](doc);
|
|
779
789
|
return { oldDoc, doc };
|
|
780
790
|
});
|
|
781
|
-
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
782
791
|
await handlePrecomputed(computedContext, docArgsToSave, ctx);
|
|
783
792
|
const beforePutResults = await handleEffectsBeforePut(computedContext, docArgsToSave, ctx);
|
|
784
793
|
await beforePut(docArgsToSave, ctx, computedContext);
|
|
794
|
+
for (const d of docArgsToSave) {
|
|
795
|
+
const validatedDoc = validators[key](d.doc);
|
|
796
|
+
for (const f of precomputedFields || []) {
|
|
797
|
+
_.set(validatedDoc, f, _.get(d.doc, f));
|
|
798
|
+
}
|
|
799
|
+
d.doc = validatedDoc;
|
|
800
|
+
}
|
|
801
|
+
await fillDenormFieldsBeforePut(computedContext, docArgsToSave, ctx);
|
|
785
802
|
for (const { oldDoc, doc } of docArgsToSave) {
|
|
786
803
|
const d = diff(doc, oldDoc);
|
|
787
804
|
if (_.isEmpty(d))
|
package/drivers/restApi.cjs
CHANGED
|
@@ -50,6 +50,9 @@ var _default = options => (schema, entity) => {
|
|
|
50
50
|
...opts.getHeaders(url, fetchOptions)
|
|
51
51
|
};
|
|
52
52
|
await fetch(url, fetchOptions);
|
|
53
|
+
},
|
|
54
|
+
async verifyMany(args, ctx) {
|
|
55
|
+
throw new Error('Calling "verifyMany" via rest api is not supported for security reasons.');
|
|
53
56
|
}
|
|
54
57
|
};
|
|
55
58
|
return instance;
|
package/drivers/restApi.mjs
CHANGED
|
@@ -36,6 +36,9 @@ export default (options) => (schema, entity) => {
|
|
|
36
36
|
};
|
|
37
37
|
fetchOptions.headers = { ...fetchOptions.headers, ...opts.getHeaders(url, fetchOptions) };
|
|
38
38
|
await fetch(url, fetchOptions);
|
|
39
|
+
},
|
|
40
|
+
async verifyMany(args, ctx) {
|
|
41
|
+
throw new Error('Calling "verifyMany" via rest api is not supported for security reasons.');
|
|
39
42
|
}
|
|
40
43
|
};
|
|
41
44
|
return instance;
|