@decaf-ts/for-fabric 0.1.36 → 0.1.37
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/for-fabric.cjs +1 -1
- package/dist/for-fabric.cjs.map +1 -1
- package/dist/for-fabric.js +1 -1
- package/dist/for-fabric.js.map +1 -1
- package/lib/contracts/FabricContractRepository.d.ts +1 -0
- package/lib/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepository.d.ts +1 -0
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/shared/DeterministicSerializer.d.ts +5 -4
- package/lib/esm/shared/DeterministicSerializer.js +37 -6
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.d.ts +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js +25 -2
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -1
- package/lib/esm/shared/constants.d.ts +2 -1
- package/lib/esm/shared/constants.js +1 -0
- package/lib/esm/shared/constants.js.map +1 -1
- package/lib/esm/shared/decorators.d.ts +2 -0
- package/lib/esm/shared/decorators.js +17 -0
- package/lib/esm/shared/decorators.js.map +1 -1
- package/lib/shared/DeterministicSerializer.cjs +36 -5
- package/lib/shared/DeterministicSerializer.d.ts +5 -4
- package/lib/shared/DeterministicSerializer.js.map +1 -1
- package/lib/shared/SimpleDeterministicSerializer.cjs +24 -1
- package/lib/shared/SimpleDeterministicSerializer.d.ts +1 -1
- package/lib/shared/SimpleDeterministicSerializer.js.map +1 -1
- package/lib/shared/constants.cjs +1 -0
- package/lib/shared/constants.d.ts +2 -1
- package/lib/shared/constants.js.map +1 -1
- package/lib/shared/decorators.cjs +19 -0
- package/lib/shared/decorators.d.ts +2 -0
- package/lib/shared/decorators.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
2
|
-
import {
|
|
2
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
3
|
+
import { JSONSerializer, Model, ModelKeys, } from "@decaf-ts/decorator-validation";
|
|
3
4
|
/**
|
|
4
5
|
* @description Deterministic JSON serializer for Fabric models
|
|
5
6
|
* @summary Ensures stable, deterministic JSON output by sorting object keys recursively before stringification, which is important for Fabric endorsement and hashing. Extends JSONSerializer to plug into existing Decaf model serialization flow.
|
|
@@ -26,14 +27,44 @@ export class DeterministicSerializer extends JSONSerializer {
|
|
|
26
27
|
constructor() {
|
|
27
28
|
super();
|
|
28
29
|
}
|
|
30
|
+
preSerialize(model) {
|
|
31
|
+
// TODO: nested preserialization (so increase performance when deserializing)
|
|
32
|
+
// TODO: Verify why there is no metadata
|
|
33
|
+
const toSerialize = Object.assign({}, model);
|
|
34
|
+
let metadata;
|
|
35
|
+
try {
|
|
36
|
+
metadata = Metadata.modelName(model.constructor);
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
metadata = undefined;
|
|
41
|
+
}
|
|
42
|
+
toSerialize[ModelKeys.ANCHOR] = metadata || model.constructor.name;
|
|
43
|
+
function preSerialize(obj) {
|
|
44
|
+
if (typeof obj !== "object")
|
|
45
|
+
return obj;
|
|
46
|
+
if (Array.isArray(obj))
|
|
47
|
+
return obj.map(preSerialize);
|
|
48
|
+
return this.preSerialize(obj);
|
|
49
|
+
}
|
|
50
|
+
Model.relations(model).forEach((r) => {
|
|
51
|
+
toSerialize[r] = preSerialize.call(this, toSerialize[r]);
|
|
52
|
+
});
|
|
53
|
+
return toSerialize;
|
|
54
|
+
}
|
|
29
55
|
/**
|
|
30
|
-
* @
|
|
31
|
-
* @
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
56
|
+
* @summary Rebuilds a model from a serialization
|
|
57
|
+
* @param {string} str
|
|
58
|
+
*
|
|
59
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
34
60
|
*/
|
|
35
61
|
deserialize(str) {
|
|
36
|
-
|
|
62
|
+
const deserialization = JSON.parse(str);
|
|
63
|
+
const className = deserialization[ModelKeys.ANCHOR];
|
|
64
|
+
if (!className)
|
|
65
|
+
throw new Error("Could not find class reference in serialized model");
|
|
66
|
+
const model = Model.build(deserialization, className);
|
|
67
|
+
return model;
|
|
37
68
|
}
|
|
38
69
|
/**
|
|
39
70
|
* @description Serialize a model into a deterministic JSON string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeterministicSerializer.js","sourceRoot":"","sources":["../../../src/shared/DeterministicSerializer.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"DeterministicSerializer.js","sourceRoot":"","sources":["../../../src/shared/DeterministicSerializer.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,cAAc,EACd,KAAK,EACL,SAAS,GACV,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,uBAEX,SAAQ,cAAiB;IACzB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACkB,YAAY,CAAC,KAAQ;QACtC,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,WAAW,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAA0B,CAAC,CAAC;YAChE,6DAA6D;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAEnE,SAAS,YAAY,CAAqC,GAAQ;YAChE,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACM,WAAW,CAAC,GAAW;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,MAAM,KAAK,GAAM,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAiB,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACM,SAAS,CAAC,KAAQ;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -3,5 +3,5 @@ export declare class SimpleDeterministicSerializer<M extends Model> extends JSON
|
|
|
3
3
|
constructor();
|
|
4
4
|
deserialize(str: string, tableName?: string): M;
|
|
5
5
|
serialize(model: M): string;
|
|
6
|
-
preSerialize(model: M): Record<string, any>;
|
|
6
|
+
protected preSerialize(model: M): Record<string, any>;
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { JSONSerializer } from "@decaf-ts/decorator-validation";
|
|
1
|
+
import { JSONSerializer, Model, ModelKeys, } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
2
3
|
export class SimpleDeterministicSerializer extends JSONSerializer {
|
|
3
4
|
constructor() {
|
|
4
5
|
super();
|
|
@@ -32,10 +33,32 @@ export class SimpleDeterministicSerializer extends JSONSerializer {
|
|
|
32
33
|
const stringify = require("json-stringify-deterministic");
|
|
33
34
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
34
35
|
const sortKeysRecursive = require("sort-keys-recursive");
|
|
35
|
-
|
|
36
|
+
const preSerialization = this.preSerialize(model);
|
|
37
|
+
return stringify(sortKeysRecursive(preSerialization));
|
|
36
38
|
}
|
|
37
39
|
preSerialize(model) {
|
|
40
|
+
// TODO: nested preserialization (so increase performance when deserializing)
|
|
41
|
+
// TODO: Verify why there is no metadata
|
|
38
42
|
const toSerialize = Object.assign({}, model);
|
|
43
|
+
let metadata;
|
|
44
|
+
try {
|
|
45
|
+
metadata = Metadata.modelName(model.constructor);
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
metadata = undefined;
|
|
50
|
+
}
|
|
51
|
+
toSerialize[ModelKeys.ANCHOR] = metadata || model.constructor.name;
|
|
52
|
+
function preSerialize(obj) {
|
|
53
|
+
if (typeof obj !== "object")
|
|
54
|
+
return obj;
|
|
55
|
+
if (Array.isArray(obj))
|
|
56
|
+
return obj.map(preSerialize);
|
|
57
|
+
return this.preSerialize(obj);
|
|
58
|
+
}
|
|
59
|
+
Model.relations(model).forEach((r) => {
|
|
60
|
+
toSerialize[r] = preSerialize.call(this, toSerialize[r]);
|
|
61
|
+
});
|
|
39
62
|
return toSerialize;
|
|
40
63
|
}
|
|
41
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleDeterministicSerializer.js","sourceRoot":"","sources":["../../../src/shared/SimpleDeterministicSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleDeterministicSerializer.js","sourceRoot":"","sources":["../../../src/shared/SimpleDeterministicSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,EACL,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,OAAO,6BAEX,SAAQ,cAAiB;IACzB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,6DAA6D;IACpD,WAAW,CAAC,GAAW,EAAE,SAAkB;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,+BAA+B;QAC/B,kBAAkB;QAClB,2EAA2E;QAE3E,uCAAuC;QACvC,4EAA4E;QAE5E,oBAAoB;QACpB,4DAA4D;QAC5D,yBAAyB;QACzB,4CAA4C;QAC5C,wDAAwD;QACxD,oBAAoB;QACpB,OAAO;QACP,UAAU;QACV,KAAK;QAEL,8BAA8B;QAC9B,4BAA4B;QAC5B,cAAc;QACd,qBAAqB;QAErB,iBAAiB;QACjB,OAAO,eAAe,CAAC;IACzB,CAAC;IAEQ,SAAS,CAAC,KAAQ;QACzB,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1D,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,CAAC;IAEkB,YAAY,CAAC,KAAQ;QACtC,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,WAAW,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAA0B,CAAC,CAAC;YAChE,6DAA6D;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAEnE,SAAS,YAAY,CAEnB,GAAQ;YAER,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -11,7 +11,8 @@ export declare enum FabricModelKeys {
|
|
|
11
11
|
SHARED = "shared",
|
|
12
12
|
/** Namespace prefix used for Fabric-specific metadata keys */
|
|
13
13
|
FABRIC = "fabric.",
|
|
14
|
-
OWNEDBY = "owned-by"
|
|
14
|
+
OWNEDBY = "owned-by",
|
|
15
|
+
TRANSACTION_ID = "transaction-id"
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* @description Supported identity types for Fabric credentials
|
|
@@ -13,6 +13,7 @@ export var FabricModelKeys;
|
|
|
13
13
|
/** Namespace prefix used for Fabric-specific metadata keys */
|
|
14
14
|
FabricModelKeys["FABRIC"] = "fabric.";
|
|
15
15
|
FabricModelKeys["OWNEDBY"] = "owned-by";
|
|
16
|
+
FabricModelKeys["TRANSACTION_ID"] = "transaction-id";
|
|
16
17
|
})(FabricModelKeys || (FabricModelKeys = {}));
|
|
17
18
|
/**
|
|
18
19
|
* @description Supported identity types for Fabric credentials
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,qCAAkB,CAAA;IAClB,uCAAoB,CAAA;IACpB,oDAAiC,CAAA;AACnC,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AACD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC"}
|
|
@@ -20,6 +20,8 @@ import { FabricFlags } from "./types";
|
|
|
20
20
|
export declare function Owner(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
21
21
|
export declare function ownedByOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: Context<any>, data: V, key: keyof M, model: M): Promise<void>;
|
|
22
22
|
export declare function ownedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
23
|
+
export declare function transactionIdOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: Context<any>, data: V, key: keyof M, model: M): Promise<void>;
|
|
24
|
+
export declare function transactionId(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
23
25
|
export declare function getFabricModelKey(key: string): string;
|
|
24
26
|
export type CollectionResolver = <M extends Model>(model: M) => string;
|
|
25
27
|
export declare const ImplicitPrivateCollection: CollectionResolver;
|
|
@@ -69,6 +69,23 @@ export function ownedBy() {
|
|
|
69
69
|
})
|
|
70
70
|
.apply();
|
|
71
71
|
}
|
|
72
|
+
export async function transactionIdOnCreate(context, data, key, model) {
|
|
73
|
+
const { stub } = context;
|
|
74
|
+
model[key] = stub.getTxID();
|
|
75
|
+
}
|
|
76
|
+
export function transactionId() {
|
|
77
|
+
function transactionId() {
|
|
78
|
+
return function (obj, attribute) {
|
|
79
|
+
return apply(required(), readonly(), onCreate(transactionIdOnCreate), onUpdate(transactionIdOnCreate), propMetadata(Metadata.key(FabricModelKeys.FABRIC, attribute, FabricModelKeys.TRANSACTION_ID), attribute))(obj, attribute);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return Decoration.for(FabricModelKeys.TRANSACTION_ID)
|
|
83
|
+
.define({
|
|
84
|
+
decorator: transactionId,
|
|
85
|
+
args: [],
|
|
86
|
+
})
|
|
87
|
+
.apply();
|
|
88
|
+
}
|
|
72
89
|
export function getFabricModelKey(key) {
|
|
73
90
|
return Metadata.key(FabricModelKeys.FABRIC + key);
|
|
74
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeterministicSerializer = void 0;
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
5
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
5
6
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
7
|
/**
|
|
7
8
|
* @description Deterministic JSON serializer for Fabric models
|
|
@@ -29,14 +30,44 @@ class DeterministicSerializer extends decorator_validation_1.JSONSerializer {
|
|
|
29
30
|
constructor() {
|
|
30
31
|
super();
|
|
31
32
|
}
|
|
33
|
+
preSerialize(model) {
|
|
34
|
+
// TODO: nested preserialization (so increase performance when deserializing)
|
|
35
|
+
// TODO: Verify why there is no metadata
|
|
36
|
+
const toSerialize = Object.assign({}, model);
|
|
37
|
+
let metadata;
|
|
38
|
+
try {
|
|
39
|
+
metadata = decoration_1.Metadata.modelName(model.constructor);
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
metadata = undefined;
|
|
44
|
+
}
|
|
45
|
+
toSerialize[decorator_validation_1.ModelKeys.ANCHOR] = metadata || model.constructor.name;
|
|
46
|
+
function preSerialize(obj) {
|
|
47
|
+
if (typeof obj !== "object")
|
|
48
|
+
return obj;
|
|
49
|
+
if (Array.isArray(obj))
|
|
50
|
+
return obj.map(preSerialize);
|
|
51
|
+
return this.preSerialize(obj);
|
|
52
|
+
}
|
|
53
|
+
decorator_validation_1.Model.relations(model).forEach((r) => {
|
|
54
|
+
toSerialize[r] = preSerialize.call(this, toSerialize[r]);
|
|
55
|
+
});
|
|
56
|
+
return toSerialize;
|
|
57
|
+
}
|
|
32
58
|
/**
|
|
33
|
-
* @
|
|
34
|
-
* @
|
|
35
|
-
*
|
|
36
|
-
* @
|
|
59
|
+
* @summary Rebuilds a model from a serialization
|
|
60
|
+
* @param {string} str
|
|
61
|
+
*
|
|
62
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
37
63
|
*/
|
|
38
64
|
deserialize(str) {
|
|
39
|
-
|
|
65
|
+
const deserialization = JSON.parse(str);
|
|
66
|
+
const className = deserialization[decorator_validation_1.ModelKeys.ANCHOR];
|
|
67
|
+
if (!className)
|
|
68
|
+
throw new Error("Could not find class reference in serialized model");
|
|
69
|
+
const model = decorator_validation_1.Model.build(deserialization, className);
|
|
70
|
+
return model;
|
|
40
71
|
}
|
|
41
72
|
/**
|
|
42
73
|
* @description Serialize a model into a deterministic JSON string
|
|
@@ -23,11 +23,12 @@ import { JSONSerializer, Model } from "@decaf-ts/decorator-validation";
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class DeterministicSerializer<M extends Model> extends JSONSerializer<M> {
|
|
25
25
|
constructor();
|
|
26
|
+
protected preSerialize(model: M): Record<string, any>;
|
|
26
27
|
/**
|
|
27
|
-
* @
|
|
28
|
-
* @
|
|
29
|
-
*
|
|
30
|
-
* @
|
|
28
|
+
* @summary Rebuilds a model from a serialization
|
|
29
|
+
* @param {string} str
|
|
30
|
+
*
|
|
31
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
31
32
|
*/
|
|
32
33
|
deserialize(str: string): M;
|
|
33
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeterministicSerializer.js","sourceRoot":"","sources":["../../src/shared/DeterministicSerializer.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"DeterministicSerializer.js","sourceRoot":"","sources":["../../src/shared/DeterministicSerializer.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC1D,qDAA6D;AAC7D,yEAIwC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,uBAEX,SAAQ,qCAAiB;IACzB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACkB,YAAY,CAAC,KAAQ;QACtC,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,WAAW,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,qBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAA0B,CAAC,CAAC;YAChE,6DAA6D;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,WAAW,CAAC,gCAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAEnE,SAAS,YAAY,CAAqC,GAAQ;YAChE,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,4BAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACM,WAAW,CAAC,GAAW;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,eAAe,CAAC,gCAAS,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,MAAM,KAAK,GAAM,4BAAK,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAiB,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACM,SAAS,CAAC,KAAQ;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;CACF;AAxDD,0DAwDC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SimpleDeterministicSerializer = void 0;
|
|
4
4
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
5
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
5
6
|
class SimpleDeterministicSerializer extends decorator_validation_1.JSONSerializer {
|
|
6
7
|
constructor() {
|
|
7
8
|
super();
|
|
@@ -35,10 +36,32 @@ class SimpleDeterministicSerializer extends decorator_validation_1.JSONSerialize
|
|
|
35
36
|
const stringify = require("json-stringify-deterministic");
|
|
36
37
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
37
38
|
const sortKeysRecursive = require("sort-keys-recursive");
|
|
38
|
-
|
|
39
|
+
const preSerialization = this.preSerialize(model);
|
|
40
|
+
return stringify(sortKeysRecursive(preSerialization));
|
|
39
41
|
}
|
|
40
42
|
preSerialize(model) {
|
|
43
|
+
// TODO: nested preserialization (so increase performance when deserializing)
|
|
44
|
+
// TODO: Verify why there is no metadata
|
|
41
45
|
const toSerialize = Object.assign({}, model);
|
|
46
|
+
let metadata;
|
|
47
|
+
try {
|
|
48
|
+
metadata = decoration_1.Metadata.modelName(model.constructor);
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
metadata = undefined;
|
|
53
|
+
}
|
|
54
|
+
toSerialize[decorator_validation_1.ModelKeys.ANCHOR] = metadata || model.constructor.name;
|
|
55
|
+
function preSerialize(obj) {
|
|
56
|
+
if (typeof obj !== "object")
|
|
57
|
+
return obj;
|
|
58
|
+
if (Array.isArray(obj))
|
|
59
|
+
return obj.map(preSerialize);
|
|
60
|
+
return this.preSerialize(obj);
|
|
61
|
+
}
|
|
62
|
+
decorator_validation_1.Model.relations(model).forEach((r) => {
|
|
63
|
+
toSerialize[r] = preSerialize.call(this, toSerialize[r]);
|
|
64
|
+
});
|
|
42
65
|
return toSerialize;
|
|
43
66
|
}
|
|
44
67
|
}
|
|
@@ -3,5 +3,5 @@ export declare class SimpleDeterministicSerializer<M extends Model> extends JSON
|
|
|
3
3
|
constructor();
|
|
4
4
|
deserialize(str: string, tableName?: string): M;
|
|
5
5
|
serialize(model: M): string;
|
|
6
|
-
preSerialize(model: M): Record<string, any>;
|
|
6
|
+
protected preSerialize(model: M): Record<string, any>;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleDeterministicSerializer.js","sourceRoot":"","sources":["../../src/shared/SimpleDeterministicSerializer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SimpleDeterministicSerializer.js","sourceRoot":"","sources":["../../src/shared/SimpleDeterministicSerializer.ts"],"names":[],"mappings":";;;AAAA,yEAIwC;AACxC,qDAA6D;AAE7D,MAAa,6BAEX,SAAQ,qCAAiB;IACzB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,6DAA6D;IACpD,WAAW,CAAC,GAAW,EAAE,SAAkB;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,+BAA+B;QAC/B,kBAAkB;QAClB,2EAA2E;QAE3E,uCAAuC;QACvC,4EAA4E;QAE5E,oBAAoB;QACpB,4DAA4D;QAC5D,yBAAyB;QACzB,4CAA4C;QAC5C,wDAAwD;QACxD,oBAAoB;QACpB,OAAO;QACP,UAAU;QACV,KAAK;QAEL,8BAA8B;QAC9B,4BAA4B;QAC5B,cAAc;QACd,qBAAqB;QAErB,iBAAiB;QACjB,OAAO,eAAe,CAAC;IACzB,CAAC;IAEQ,SAAS,CAAC,KAAQ;QACzB,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1D,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,CAAC;IAEkB,YAAY,CAAC,KAAQ;QACtC,6EAA6E;QAC7E,wCAAwC;QACxC,MAAM,WAAW,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,qBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAA0B,CAAC,CAAC;YAChE,6DAA6D;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,WAAW,CAAC,gCAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAEnE,SAAS,YAAY,CAEnB,GAAQ;YAER,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,4BAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAvED,sEAuEC"}
|
package/lib/shared/constants.cjs
CHANGED
|
@@ -16,6 +16,7 @@ var FabricModelKeys;
|
|
|
16
16
|
/** Namespace prefix used for Fabric-specific metadata keys */
|
|
17
17
|
FabricModelKeys["FABRIC"] = "fabric.";
|
|
18
18
|
FabricModelKeys["OWNEDBY"] = "owned-by";
|
|
19
|
+
FabricModelKeys["TRANSACTION_ID"] = "transaction-id";
|
|
19
20
|
})(FabricModelKeys || (exports.FabricModelKeys = FabricModelKeys = {}));
|
|
20
21
|
/**
|
|
21
22
|
* @description Supported identity types for Fabric credentials
|
|
@@ -11,7 +11,8 @@ export declare enum FabricModelKeys {
|
|
|
11
11
|
SHARED = "shared",
|
|
12
12
|
/** Namespace prefix used for Fabric-specific metadata keys */
|
|
13
13
|
FABRIC = "fabric.",
|
|
14
|
-
OWNEDBY = "owned-by"
|
|
14
|
+
OWNEDBY = "owned-by",
|
|
15
|
+
TRANSACTION_ID = "transaction-id"
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* @description Supported identity types for Fabric credentials
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,qCAAkB,CAAA;IAClB,uCAAoB,CAAA;IACpB,oDAAiC,CAAA;AACnC,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AACD;;;;;;GAMG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACU,QAAA,aAAa,GAAG,YAAY,CAAC"}
|
|
@@ -4,6 +4,8 @@ exports.ImplicitPrivateCollection = void 0;
|
|
|
4
4
|
exports.Owner = Owner;
|
|
5
5
|
exports.ownedByOnCreate = ownedByOnCreate;
|
|
6
6
|
exports.ownedBy = ownedBy;
|
|
7
|
+
exports.transactionIdOnCreate = transactionIdOnCreate;
|
|
8
|
+
exports.transactionId = transactionId;
|
|
7
9
|
exports.getFabricModelKey = getFabricModelKey;
|
|
8
10
|
exports.segregatedDataOnCreate = segregatedDataOnCreate;
|
|
9
11
|
exports.segregatedDataOnRead = segregatedDataOnRead;
|
|
@@ -82,6 +84,23 @@ function ownedBy() {
|
|
|
82
84
|
})
|
|
83
85
|
.apply();
|
|
84
86
|
}
|
|
87
|
+
async function transactionIdOnCreate(context, data, key, model) {
|
|
88
|
+
const { stub } = context;
|
|
89
|
+
model[key] = stub.getTxID();
|
|
90
|
+
}
|
|
91
|
+
function transactionId() {
|
|
92
|
+
function transactionId() {
|
|
93
|
+
return function (obj, attribute) {
|
|
94
|
+
return (0, decoration_1.apply)((0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(), (0, db_decorators_1.onCreate)(transactionIdOnCreate), (0, db_decorators_1.onUpdate)(transactionIdOnCreate), (0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.FabricModelKeys.FABRIC, attribute, constants_1.FabricModelKeys.TRANSACTION_ID), attribute))(obj, attribute);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return decoration_1.Decoration.for(constants_1.FabricModelKeys.TRANSACTION_ID)
|
|
98
|
+
.define({
|
|
99
|
+
decorator: transactionId,
|
|
100
|
+
args: [],
|
|
101
|
+
})
|
|
102
|
+
.apply();
|
|
103
|
+
}
|
|
85
104
|
function getFabricModelKey(key) {
|
|
86
105
|
return decoration_1.Metadata.key(constants_1.FabricModelKeys.FABRIC + key);
|
|
87
106
|
}
|
|
@@ -20,6 +20,8 @@ import { FabricFlags } from "./types";
|
|
|
20
20
|
export declare function Owner(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
21
21
|
export declare function ownedByOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: Context<any>, data: V, key: keyof M, model: M): Promise<void>;
|
|
22
22
|
export declare function ownedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
23
|
+
export declare function transactionIdOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: Context<any>, data: V, key: keyof M, model: M): Promise<void>;
|
|
24
|
+
export declare function transactionId(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
23
25
|
export declare function getFabricModelKey(key: string): string;
|
|
24
26
|
export type CollectionResolver = <M extends Model>(model: M) => string;
|
|
25
27
|
export declare const ImplicitPrivateCollection: CollectionResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/shared/decorators.ts"],"names":[],"mappings":";;;AA+CA,sBAwCC;AAED,0CA8BC;AAED,0BAoBC;AAED,8CAEC;AAcD,wDA2CC;AAED,oDA2CC;AAED,wDAOmB;AAEnB,wDAUmB;AAqFnB,kCAaC;AAED,gCAWC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
|