@decaf-ts/for-fabric 0.1.22 → 0.1.23

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.
Files changed (91) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/client/FabricClientAdapter.cjs +26 -67
  6. package/lib/client/FabricClientAdapter.d.ts +27 -41
  7. package/lib/client/FabricClientAdapter.js.map +1 -1
  8. package/lib/client/FabricClientDispatch.cjs +1 -3
  9. package/lib/client/FabricClientDispatch.d.ts +6 -5
  10. package/lib/client/FabricClientDispatch.js.map +1 -1
  11. package/lib/client/FabricClientPaginator.cjs +5 -56
  12. package/lib/client/FabricClientPaginator.d.ts +6 -6
  13. package/lib/client/FabricClientPaginator.js.map +1 -1
  14. package/lib/client/FabricClientRepository.cjs +51 -104
  15. package/lib/client/FabricClientRepository.d.ts +21 -17
  16. package/lib/client/FabricClientRepository.js.map +1 -1
  17. package/lib/client/FabricClientStatement.cjs +7 -97
  18. package/lib/client/FabricClientStatement.d.ts +6 -7
  19. package/lib/client/FabricClientStatement.js.map +1 -1
  20. package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  21. package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  22. package/lib/client/services/FabricEnrollmentService.d.ts +1 -1
  23. package/lib/contracts/ContractAdapter.cjs +53 -20
  24. package/lib/contracts/ContractAdapter.d.ts +3 -3
  25. package/lib/contracts/ContractAdapter.js.map +1 -1
  26. package/lib/contracts/ContractContext.cjs +2 -2
  27. package/lib/contracts/ContractContext.d.ts +1 -1
  28. package/lib/contracts/ContractContext.js.map +1 -1
  29. package/lib/contracts/FabricContractRepository.js.map +1 -1
  30. package/lib/contracts/crud/crud-contract.cjs +14 -0
  31. package/lib/contracts/crud/crud-contract.d.ts +15 -4
  32. package/lib/contracts/crud/crud-contract.js.map +1 -1
  33. package/lib/contracts/crud/serialized-crud-contract.cjs +58 -8
  34. package/lib/contracts/crud/serialized-crud-contract.d.ts +6 -2
  35. package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
  36. package/lib/contracts/types.d.ts +2 -2
  37. package/lib/esm/client/FabricClientAdapter.d.ts +27 -41
  38. package/lib/esm/client/FabricClientAdapter.js +26 -66
  39. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  40. package/lib/esm/client/FabricClientDispatch.d.ts +6 -5
  41. package/lib/esm/client/FabricClientDispatch.js +3 -5
  42. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  43. package/lib/esm/client/FabricClientPaginator.d.ts +6 -6
  44. package/lib/esm/client/FabricClientPaginator.js +6 -57
  45. package/lib/esm/client/FabricClientPaginator.js.map +1 -1
  46. package/lib/esm/client/FabricClientRepository.d.ts +21 -17
  47. package/lib/esm/client/FabricClientRepository.js +51 -104
  48. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  49. package/lib/esm/client/FabricClientStatement.d.ts +6 -7
  50. package/lib/esm/client/FabricClientStatement.js +8 -98
  51. package/lib/esm/client/FabricClientStatement.js.map +1 -1
  52. package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  53. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  54. package/lib/esm/client/services/FabricEnrollmentService.d.ts +1 -1
  55. package/lib/esm/contracts/ContractAdapter.d.ts +3 -3
  56. package/lib/esm/contracts/ContractAdapter.js +53 -20
  57. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  58. package/lib/esm/contracts/ContractContext.d.ts +1 -1
  59. package/lib/esm/contracts/ContractContext.js +1 -1
  60. package/lib/esm/contracts/ContractContext.js.map +1 -1
  61. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  62. package/lib/esm/contracts/crud/crud-contract.d.ts +15 -4
  63. package/lib/esm/contracts/crud/crud-contract.js +17 -3
  64. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  65. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +6 -2
  66. package/lib/esm/contracts/crud/serialized-crud-contract.js +58 -8
  67. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
  68. package/lib/esm/contracts/types.d.ts +2 -2
  69. package/lib/esm/shared/decorators.d.ts +6 -7
  70. package/lib/esm/shared/decorators.js +73 -58
  71. package/lib/esm/shared/decorators.js.map +1 -1
  72. package/lib/esm/shared/overrides/overrides.js +39 -38
  73. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  74. package/lib/esm/shared/types.d.ts +5 -9
  75. package/lib/esm/version.d.ts +1 -1
  76. package/lib/esm/version.js +1 -1
  77. package/lib/shared/decorators.cjs +69 -54
  78. package/lib/shared/decorators.d.ts +6 -7
  79. package/lib/shared/decorators.js.map +1 -1
  80. package/lib/shared/overrides/overrides.cjs +39 -38
  81. package/lib/shared/overrides/overrides.js.map +1 -1
  82. package/lib/shared/types.d.ts +5 -9
  83. package/lib/version.cjs +1 -1
  84. package/lib/version.d.ts +1 -1
  85. package/package.json +1 -1
  86. package/lib/client/types.cjs +0 -3
  87. package/lib/client/types.d.ts +0 -7
  88. package/lib/client/types.js.map +0 -1
  89. package/lib/esm/client/types.d.ts +0 -7
  90. package/lib/esm/client/types.js +0 -2
  91. package/lib/esm/client/types.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { AuthorizationError } from "@decaf-ts/core";
2
- import { InternalError, NotFoundError, onCreate, readonly, } from "@decaf-ts/db-decorators";
3
- import { Model, required } from "@decaf-ts/decorator-validation";
1
+ import { AuthorizationError, UnsupportedError, } from "@decaf-ts/core";
2
+ import { InternalError, NotFoundError, onCreate, onDelete, onRead, onUpdate, readonly, transient, } from "@decaf-ts/db-decorators";
3
+ import { required } from "@decaf-ts/decorator-validation";
4
4
  import { FabricModelKeys } from "./constants.js";
5
- import { apply, Decoration, Metadata, propMetadata, } from "@decaf-ts/decoration";
5
+ import { apply, Decoration, metadata, Metadata, propMetadata, } from "@decaf-ts/decoration";
6
6
  /**
7
7
  * Decorator for marking methods that require ownership authorization.
8
8
  * Checks the owner of the token before allowing the method to be executed.
@@ -78,18 +78,45 @@ export const ImplicitPrivateCollection = (model) => {
78
78
  export async function segregatedDataOnCreate(context, data, keys, model) {
79
79
  if (keys.length !== data.length)
80
80
  throw new InternalError(`Segregated data keys and metadata length mismatch`);
81
- let key, d;
82
- for (let i = 0; i < keys.length; i++) {
83
- key = keys[i];
84
- d = data[i];
85
- const collection = typeof d.collections === "function"
86
- ? d.collections(model)
87
- : d.collections;
88
- // await this.saveToCollection(context, collection, key, model[key]);
89
- }
90
- Model.segregate(model);
81
+ const collectionResolver = data[0].collections;
82
+ const collection = typeof collectionResolver === "string"
83
+ ? collectionResolver
84
+ : collectionResolver(model);
85
+ const rebuilt = keys.reduce((acc, k, i) => {
86
+ const c = typeof data[i].collections === "string"
87
+ ? data[i].collections
88
+ : data[i].collections(model);
89
+ if (c !== collection)
90
+ throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
91
+ acc[k] = model[k];
92
+ return acc;
93
+ }, {});
94
+ const toCreate = new this.class(rebuilt);
95
+ // const segregated = Model.segregate(model);
96
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
97
+ Object.assign(model, created);
98
+ }
99
+ export async function segregatedDataOnRead(context, data, keys, model) {
100
+ if (keys.length !== data.length)
101
+ throw new InternalError(`Segregated data keys and metadata length mismatch`);
102
+ const collectionResolver = data[0].collections;
103
+ const collection = typeof collectionResolver === "string"
104
+ ? collectionResolver
105
+ : collectionResolver(model);
106
+ const rebuilt = keys.reduce((acc, k, i) => {
107
+ const c = typeof data[i].collections === "string"
108
+ ? data[i].collections
109
+ : data[i].collections(model);
110
+ if (c !== collection)
111
+ throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
112
+ acc[k] = model[k];
113
+ return acc;
114
+ }, {});
115
+ const toCreate = new this.class(rebuilt);
116
+ // const segregated = Model.segregate(model);
117
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
118
+ Object.assign(model, created);
91
119
  }
92
- export async function segregatedDataOnRead(context, data, key, model) { }
93
120
  export async function segregatedDataOnUpdate(context, data, key, model, oldModel) { }
94
121
  export async function segregatedDataOnDelete(context, data, key, model) { }
95
122
  function segregated(collection, type) {
@@ -109,49 +136,37 @@ function segregated(collection, type) {
109
136
  meta.collections = [...collections];
110
137
  Metadata.set(constr, key, meta);
111
138
  }
112
- //
113
- // const decs = [
114
- // segregatedDec,
115
- // transient(),
116
- // onCreate(
117
- // segregatedDataOnCreate,
118
- // { collections: collection },
119
- // {
120
- // priority: 95,
121
- // group:
122
- // typeof collection === "string" ? collection : collection.toString(),
123
- // }
124
- // ),
125
- // onRead(
126
- // segregatedDataOnRead,
127
- // { collections: collection },
128
- // {
129
- // priority: 95,
130
- // group:
131
- // typeof collection === "string" ? collection : collection.toString(),
132
- // }
133
- // ),
134
- // onUpdate(
135
- // segregatedDataOnUpdate,
136
- // { collections: collection },
137
- // {
138
- // priority: 95,
139
- // group:
140
- // typeof collection === "string" ? collection : collection.toString(),
141
- // }
142
- // ),
143
- // onDelete(
144
- // segregatedDataOnDelete,
145
- // { collections: collection },
146
- // {
147
- // priority: 95,
148
- // group:
149
- // typeof collection === "string" ? collection : collection.toString(),
150
- // }
151
- // ),
152
- // ];
153
- // return apply(...decs)(target, propertyKey);
154
- return apply()(target, propertyKey);
139
+ const decs = [];
140
+ if (!propertyKey) {
141
+ // decorated at the class level
142
+ Metadata.properties(target)?.forEach((p) => segregated(collection, type)(target, p));
143
+ return metadata(type, true)(target);
144
+ }
145
+ else {
146
+ decs.push(transient(), segregatedDec, onCreate(segregatedDataOnCreate, { collections: collection }, {
147
+ priority: 95,
148
+ group: typeof collection === "string"
149
+ ? collection
150
+ : collection.toString(),
151
+ }), onRead(segregatedDataOnRead, { collections: collection }, {
152
+ priority: 95,
153
+ group: typeof collection === "string"
154
+ ? collection
155
+ : collection.toString(),
156
+ }), onUpdate(segregatedDataOnUpdate, { collections: collection }, {
157
+ priority: 95,
158
+ group: typeof collection === "string"
159
+ ? collection
160
+ : collection.toString(),
161
+ }), onDelete(segregatedDataOnDelete, { collections: collection }, {
162
+ priority: 95,
163
+ group: typeof collection === "string"
164
+ ? collection
165
+ : collection.toString(),
166
+ }));
167
+ }
168
+ return apply(...decs)(target, propertyKey);
169
+ // return apply()(target, propertyKey);
155
170
  };
156
171
  }
157
172
  export function privateData(collection = ImplicitPrivateCollection) {
@@ -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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"}
@@ -4,6 +4,7 @@ import { Metadata } from "@decaf-ts/decoration";
4
4
  // import { DBKeys } from "../model/constants";
5
5
  // import { SerializationError } from "../repository/errors";
6
6
  import { FabricModelKeys } from "./../constants.js";
7
+ import { DBKeys } from "@decaf-ts/db-decorators";
7
8
  Model.prototype.isShared = function isShared() {
8
9
  return Model.isShared(this.constructor);
9
10
  };
@@ -13,45 +14,45 @@ Model.prototype.isPrivate = function isPrivate() {
13
14
  Model.prototype.segregate = function segregate() {
14
15
  return Model.segregate(this);
15
16
  };
16
- //
17
- // (Model as any).toTransient = function toTransient<M extends Model>(model: M) {
18
- // if (!Metadata.isTransient(model)) return { model: model };
19
- // const decoratedProperties = Metadata.validatableProperties(
20
- // model.constructor as any
21
- // );
22
- //
23
- // const transientProps = Metadata.get(
24
- // model.constructor as any,
25
- // DBKeys.TRANSIENT
26
- // );
27
- //
28
- // const result = {
29
- // model: {} as Record<string, any>,
30
- // transient: {} as Record<string, any>,
31
- // };
32
- // for (const key of decoratedProperties) {
33
- // const isTransient = Object.keys(transientProps).includes(key);
34
- // if (isTransient) {
35
- // result.transient = result.transient || {};
36
- // try {
37
- // result.transient[key] = model[key as keyof M];
38
- // } catch (e: unknown) {
39
- // throw new SerializationError(
40
- // `Failed to serialize transient property ${key}: ${e}`
41
- // );
42
- // }
43
- // } else {
44
- // result.model = result.model || {};
45
- // result.model[key] = (model as Record<string, any>)[key];
46
- // }
47
- // }
48
- //
49
- // result.model = Model.build(result.model, model.constructor.name);
50
- // return result as { model: M; transient?: Record<string, any> };
51
- // };
52
- const seg = Model.segregate;
53
17
  Model.segregate = function segregate(model) {
54
- return seg.call(Model, model);
18
+ if (!Model.isTransient(model))
19
+ return { model: model };
20
+ const decoratedProperties = Metadata.validatableProperties(model.constructor);
21
+ const transientProps = Metadata.get(model.constructor, DBKeys.TRANSIENT);
22
+ const privateProperties = Metadata.get(model.constructor, FabricModelKeys.PRIVATE);
23
+ const sharedProperties = Metadata.get(model.constructor, FabricModelKeys.PRIVATE);
24
+ const result = {
25
+ model: {},
26
+ transient: {},
27
+ private: {},
28
+ shared: {},
29
+ };
30
+ const transientKeys = Object.keys(transientProps);
31
+ const privateKeys = Object.keys(privateProperties);
32
+ const sharedKeys = Object.keys(sharedProperties);
33
+ for (const key of decoratedProperties) {
34
+ const isTransient = transientKeys.includes(key);
35
+ const isPrivate = privateKeys.includes(key);
36
+ const isShared = sharedKeys.includes(key);
37
+ if (isTransient) {
38
+ result.transient = result.transient || {};
39
+ result.transient[key] = model[key];
40
+ if (isPrivate) {
41
+ result.private = result.private || {};
42
+ result.private[key] = model[key];
43
+ }
44
+ if (isShared) {
45
+ result.shared = result.shared || {};
46
+ result.shared[key] = model[key];
47
+ }
48
+ }
49
+ else {
50
+ result.model = result.model || {};
51
+ result.model[key] = model[key];
52
+ }
53
+ }
54
+ result.model = Model.build(result.model, model.constructor.name);
55
+ return result;
55
56
  }.bind(Model);
56
57
  Model.isPrivate = function isPrivate(model) {
57
58
  return !!Metadata.get(typeof model !== "function" ? model.constructor : model, FabricModelKeys.PRIVATE);
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,yDAAyD;AACzD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,+CAA+C;AAC/C,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,0BAAqB;AAG/C,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ;IAG1C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,EAAE;AACF,iFAAiF;AACjF,+DAA+D;AAC/D,gEAAgE;AAChE,+BAA+B;AAC/B,OAAO;AACP,EAAE;AACF,yCAAyC;AACzC,gCAAgC;AAChC,uBAAuB;AACvB,OAAO;AACP,EAAE;AACF,qBAAqB;AACrB,wCAAwC;AACxC,4CAA4C;AAC5C,OAAO;AACP,6CAA6C;AAC7C,qEAAqE;AACrE,yBAAyB;AACzB,mDAAmD;AACnD,cAAc;AACd,yDAAyD;AACzD,+BAA+B;AAC/B,wCAAwC;AACxC,kEAAkE;AAClE,aAAa;AACb,UAAU;AACV,eAAe;AACf,2CAA2C;AAC3C,iEAAiE;AACjE,QAAQ;AACR,MAAM;AACN,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,KAAK;AAEL,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;AAE3B,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAQ;IAER,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAuB,CAAC;AACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,OAAO,CACxB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,QAAgB,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAC5C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,MAAM,CACvB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,yDAAyD;AACzD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,+CAA+C;AAC/C,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,0BAAqB;AAE/C,OAAO,EAAE,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAErE,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ;IAG1C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAED,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAQ;IAER,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,qBAAqB,CACxD,KAAK,CAAC,WAAkB,CACzB,CAAC;IAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CACjC,KAAK,CAAC,WAAkB,EACxB,MAAM,CAAC,SAAS,CACjB,CAAC;IACF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CACpC,KAAK,CAAC,WAAkB,EACxB,eAAe,CAAC,OAAO,CACxB,CAAC;IACF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CACnC,KAAK,CAAC,WAAkB,EACxB,eAAe,CAAC,OAAO,CACxB,CAAC;IAEF,MAAM,MAAM,GAAuB;QACjC,KAAK,EAAE,EAA0B;QACjC,SAAS,EAAE,EAA0B;QACrC,OAAO,EAAE,EAA0B;QACnC,MAAM,EAAE,EAA0B;KACnC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEjD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAK,EAAU,CAAC;YAClD,MAAM,CAAC,SAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YACvD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAK,EAAU,CAAC;gBAC9C,MAAM,CAAC,OAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAK,EAAU,CAAC;gBAC5C,MAAM,CAAC,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,CAAC,KAAa,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,MAA4B,CAAC;AACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,OAAO,CACxB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,QAAgB,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAC5C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,MAAM,CACvB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
- import { RepositoryFlags } from "@decaf-ts/db-decorators";
2
1
  import { TLSOptions } from "fabric-ca-client";
3
2
  import { Model } from "@decaf-ts/decorator-validation";
3
+ import { AdapterFlags } from "@decaf-ts/core";
4
+ import { Logger } from "@decaf-ts/logging";
4
5
  export type HSMOptions = {
5
6
  library: string;
6
7
  slot?: number;
@@ -48,14 +49,6 @@ export type PeerConfig = {
48
49
  channel: string;
49
50
  hsm?: HSMOptions;
50
51
  };
51
- /**
52
- * @description Flags for Fabric operations
53
- * @summary Combines repository flags with peer configuration overrides
54
- * @interface FabricFlags
55
- * @extends {RepositoryFlags}
56
- * @memberOf module:for-fabric.shared
57
- */
58
- export type FabricFlags = RepositoryFlags;
59
52
  /**
60
53
  * @description Configuration for connecting to a Hyperledger Fabric peer
61
54
  * @summary Contains all the necessary parameters to establish a connection to a Fabric peer and interact with chaincode
@@ -94,3 +87,6 @@ export type SegregatedModel<M extends Model> = {
94
87
  private?: Record<keyof M, any>;
95
88
  shared?: Record<keyof M, any>;
96
89
  };
90
+ export type FabricFlags<LOG extends Logger = Logger> = AdapterFlags<LOG> & {
91
+ segregated?: string;
92
+ };
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.21";
1
+ export declare const VERSION = "0.1.22";
2
2
  export declare const PACKAGE_NAME = "@decaf-ts/for-fabric";
@@ -1,5 +1,5 @@
1
1
  import { Metadata } from "@decaf-ts/decoration";
2
- export const VERSION = "0.1.21";
2
+ export const VERSION = "0.1.22";
3
3
  export const PACKAGE_NAME = "@decaf-ts/for-fabric";
4
4
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
5
5
  //# sourceMappingURL=version.js.map
@@ -92,18 +92,45 @@ exports.ImplicitPrivateCollection = ImplicitPrivateCollection;
92
92
  async function segregatedDataOnCreate(context, data, keys, model) {
93
93
  if (keys.length !== data.length)
94
94
  throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
95
- let key, d;
96
- for (let i = 0; i < keys.length; i++) {
97
- key = keys[i];
98
- d = data[i];
99
- const collection = typeof d.collections === "function"
100
- ? d.collections(model)
101
- : d.collections;
102
- // await this.saveToCollection(context, collection, key, model[key]);
103
- }
104
- decorator_validation_1.Model.segregate(model);
95
+ const collectionResolver = data[0].collections;
96
+ const collection = typeof collectionResolver === "string"
97
+ ? collectionResolver
98
+ : collectionResolver(model);
99
+ const rebuilt = keys.reduce((acc, k, i) => {
100
+ const c = typeof data[i].collections === "string"
101
+ ? data[i].collections
102
+ : data[i].collections(model);
103
+ if (c !== collection)
104
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
105
+ acc[k] = model[k];
106
+ return acc;
107
+ }, {});
108
+ const toCreate = new this.class(rebuilt);
109
+ // const segregated = Model.segregate(model);
110
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
111
+ Object.assign(model, created);
112
+ }
113
+ async function segregatedDataOnRead(context, data, keys, model) {
114
+ if (keys.length !== data.length)
115
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
116
+ const collectionResolver = data[0].collections;
117
+ const collection = typeof collectionResolver === "string"
118
+ ? collectionResolver
119
+ : collectionResolver(model);
120
+ const rebuilt = keys.reduce((acc, k, i) => {
121
+ const c = typeof data[i].collections === "string"
122
+ ? data[i].collections
123
+ : data[i].collections(model);
124
+ if (c !== collection)
125
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
126
+ acc[k] = model[k];
127
+ return acc;
128
+ }, {});
129
+ const toCreate = new this.class(rebuilt);
130
+ // const segregated = Model.segregate(model);
131
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
132
+ Object.assign(model, created);
105
133
  }
106
- async function segregatedDataOnRead(context, data, key, model) { }
107
134
  async function segregatedDataOnUpdate(context, data, key, model, oldModel) { }
108
135
  async function segregatedDataOnDelete(context, data, key, model) { }
109
136
  function segregated(collection, type) {
@@ -123,49 +150,37 @@ function segregated(collection, type) {
123
150
  meta.collections = [...collections];
124
151
  decoration_1.Metadata.set(constr, key, meta);
125
152
  }
126
- //
127
- // const decs = [
128
- // segregatedDec,
129
- // transient(),
130
- // onCreate(
131
- // segregatedDataOnCreate,
132
- // { collections: collection },
133
- // {
134
- // priority: 95,
135
- // group:
136
- // typeof collection === "string" ? collection : collection.toString(),
137
- // }
138
- // ),
139
- // onRead(
140
- // segregatedDataOnRead,
141
- // { collections: collection },
142
- // {
143
- // priority: 95,
144
- // group:
145
- // typeof collection === "string" ? collection : collection.toString(),
146
- // }
147
- // ),
148
- // onUpdate(
149
- // segregatedDataOnUpdate,
150
- // { collections: collection },
151
- // {
152
- // priority: 95,
153
- // group:
154
- // typeof collection === "string" ? collection : collection.toString(),
155
- // }
156
- // ),
157
- // onDelete(
158
- // segregatedDataOnDelete,
159
- // { collections: collection },
160
- // {
161
- // priority: 95,
162
- // group:
163
- // typeof collection === "string" ? collection : collection.toString(),
164
- // }
165
- // ),
166
- // ];
167
- // return apply(...decs)(target, propertyKey);
168
- return (0, decoration_1.apply)()(target, propertyKey);
153
+ const decs = [];
154
+ if (!propertyKey) {
155
+ // decorated at the class level
156
+ decoration_1.Metadata.properties(target)?.forEach((p) => segregated(collection, type)(target, p));
157
+ return (0, decoration_1.metadata)(type, true)(target);
158
+ }
159
+ else {
160
+ decs.push((0, db_decorators_1.transient)(), segregatedDec, (0, db_decorators_1.onCreate)(segregatedDataOnCreate, { collections: collection }, {
161
+ priority: 95,
162
+ group: typeof collection === "string"
163
+ ? collection
164
+ : collection.toString(),
165
+ }), (0, db_decorators_1.onRead)(segregatedDataOnRead, { collections: collection }, {
166
+ priority: 95,
167
+ group: typeof collection === "string"
168
+ ? collection
169
+ : collection.toString(),
170
+ }), (0, db_decorators_1.onUpdate)(segregatedDataOnUpdate, { collections: collection }, {
171
+ priority: 95,
172
+ group: typeof collection === "string"
173
+ ? collection
174
+ : collection.toString(),
175
+ }), (0, db_decorators_1.onDelete)(segregatedDataOnDelete, { collections: collection }, {
176
+ priority: 95,
177
+ group: typeof collection === "string"
178
+ ? collection
179
+ : collection.toString(),
180
+ }));
181
+ }
182
+ return (0, decoration_1.apply)(...decs)(target, propertyKey);
183
+ // return apply()(target, propertyKey);
169
184
  };
170
185
  }
171
186
  function privateData(collection = exports.ImplicitPrivateCollection) {
@@ -1,7 +1,6 @@
1
- import { Repo } from "@decaf-ts/core";
2
- import { Context } from "@decaf-ts/db-decorators";
1
+ import { Repo, Context, Repository } from "@decaf-ts/core";
3
2
  import { Model } from "@decaf-ts/decorator-validation";
4
- import { FabricContractContext, FabricContractRepository } from "../contracts/index";
3
+ import { FabricFlags } from "./types";
5
4
  /**
6
5
  * Decorator for marking methods that require ownership authorization.
7
6
  * Checks the owner of the token before allowing the method to be executed.
@@ -27,9 +26,9 @@ export declare const ImplicitPrivateCollection: CollectionResolver;
27
26
  export type SegregatedDataMetadata = {
28
27
  collections: string | CollectionResolver;
29
28
  };
30
- export declare function segregatedDataOnCreate<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
31
- export declare function segregatedDataOnRead<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], key: (keyof M)[], model: M): Promise<void>;
32
- export declare function segregatedDataOnUpdate<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], key: keyof M[], model: M, oldModel: M): Promise<void>;
33
- export declare function segregatedDataOnDelete<M extends Model, R extends FabricContractRepository<M>, V extends SegregatedDataMetadata>(this: R, context: FabricContractContext, data: V[], key: keyof M[], model: M): Promise<void>;
29
+ export declare function segregatedDataOnCreate<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
30
+ export declare function segregatedDataOnRead<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
31
+ export declare function segregatedDataOnUpdate<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], key: keyof M[], model: M, oldModel: M): Promise<void>;
32
+ export declare function segregatedDataOnDelete<M extends Model, R extends Repository<M, any>, V extends SegregatedDataMetadata>(this: R, context: Context<FabricFlags>, data: V[], key: keyof M[], model: M): Promise<void>;
34
33
  export declare function privateData(collection?: string | CollectionResolver): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
35
34
  export declare function sharedData(collection: string | CollectionResolver): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -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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"}