@decaf-ts/for-fabric 0.5.6 → 0.7.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.
Files changed (826) hide show
  1. package/dist/for-fabric.cjs +2 -3796
  2. package/dist/for-fabric.cjs.map +1 -0
  3. package/dist/for-fabric.js +2 -3900
  4. package/dist/for-fabric.js.map +1 -0
  5. package/lib/cjs/bin/cli.cjs +9 -0
  6. package/lib/cjs/bin/cli.js.map +1 -0
  7. package/lib/cjs/cli-module.cjs +479 -0
  8. package/lib/cjs/cli-module.js.map +1 -0
  9. package/lib/cjs/cli-utils.cjs +309 -0
  10. package/lib/cjs/cli-utils.js.map +1 -0
  11. package/lib/cjs/client/FabricClientAdapter.cjs +1362 -0
  12. package/lib/cjs/client/FabricClientAdapter.js.map +1 -0
  13. package/lib/cjs/client/FabricClientDispatch.cjs +290 -0
  14. package/lib/cjs/client/FabricClientDispatch.js.map +1 -0
  15. package/lib/cjs/client/FabricClientPaginator.cjs +21 -0
  16. package/lib/cjs/client/FabricClientPaginator.js.map +1 -0
  17. package/lib/cjs/client/FabricClientRepository.cjs +259 -0
  18. package/lib/cjs/client/FabricClientRepository.js.map +1 -0
  19. package/lib/cjs/client/FabricClientStatement.cjs +451 -0
  20. package/lib/cjs/client/FabricClientStatement.js.map +1 -0
  21. package/lib/cjs/client/collections/generation.cjs +113 -0
  22. package/lib/cjs/client/collections/generation.js.map +1 -0
  23. package/lib/{client/indexes → cjs/client/collections}/index.cjs +1 -1
  24. package/lib/cjs/client/collections/index.js.map +1 -0
  25. package/lib/cjs/client/constants.cjs +16 -0
  26. package/lib/cjs/client/constants.js.map +1 -0
  27. package/lib/cjs/client/crypto.cjs +368 -0
  28. package/lib/cjs/client/crypto.js.map +1 -0
  29. package/lib/{esm/client/erc20/FabricERC20ClientRepository.d.ts → cjs/client/erc20/FabricERC20ClientRepository.cjs} +139 -30
  30. package/lib/cjs/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  31. package/lib/{client → cjs/client}/erc20/index.cjs +1 -1
  32. package/lib/cjs/client/erc20/index.js.map +1 -0
  33. package/lib/cjs/client/fabric-fs.cjs +234 -0
  34. package/lib/cjs/client/fabric-fs.js.map +1 -0
  35. package/lib/cjs/client/fabric-hsm.cjs +165 -0
  36. package/lib/cjs/client/fabric-hsm.js.map +1 -0
  37. package/lib/cjs/client/ids/id-extraction.cjs +30 -0
  38. package/lib/cjs/client/ids/id-extraction.js.map +1 -0
  39. package/lib/{client → cjs/client}/ids/index.cjs +1 -1
  40. package/lib/cjs/client/ids/index.js.map +1 -0
  41. package/lib/{client → cjs/client}/index.cjs +1 -1
  42. package/lib/cjs/client/index.js.map +1 -0
  43. package/lib/cjs/client/indexes/generation.cjs +95 -0
  44. package/lib/cjs/client/indexes/generation.js.map +1 -0
  45. package/lib/{client/collections → cjs/client/indexes}/index.cjs +1 -1
  46. package/lib/cjs/client/indexes/index.js.map +1 -0
  47. package/lib/{esm/client/logging.d.ts → cjs/client/logging.cjs} +51 -9
  48. package/lib/cjs/client/logging.js.map +1 -0
  49. package/lib/cjs/client/services/FabricEnrollmentService.cjs +363 -0
  50. package/lib/cjs/client/services/FabricEnrollmentService.js.map +1 -0
  51. package/lib/cjs/client/services/FabricIdentityService.cjs +324 -0
  52. package/lib/cjs/client/services/FabricIdentityService.js.map +1 -0
  53. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +91 -0
  54. package/lib/cjs/client/services/RegistrationRequestBuilder.js.map +1 -0
  55. package/lib/{esm/client/services/constants.d.ts → cjs/client/services/constants.cjs} +10 -5
  56. package/lib/cjs/client/services/constants.js.map +1 -0
  57. package/lib/cjs/client/services/index.cjs +21 -0
  58. package/lib/cjs/client/services/index.js.map +1 -0
  59. package/lib/cjs/client/types.cjs +3 -0
  60. package/lib/cjs/client/types.js.map +1 -0
  61. package/lib/cjs/client/utils.cjs +262 -0
  62. package/lib/cjs/client/utils.js.map +1 -0
  63. package/lib/{contract → cjs/contract}/Address.cjs +1 -1
  64. package/lib/cjs/contract/Address.js.map +1 -0
  65. package/lib/{contract → cjs/contract}/AddressContract.cjs +1 -1
  66. package/lib/cjs/contract/AddressContract.js.map +1 -0
  67. package/lib/{contract → cjs/contract}/AuditContract.cjs +1 -1
  68. package/lib/cjs/contract/AuditContract.js.map +1 -0
  69. package/lib/{contract → cjs/contract}/BatchContract.cjs +1 -1
  70. package/lib/cjs/contract/BatchContract.js.map +1 -0
  71. package/lib/{contract → cjs/contract}/MarketContract.cjs +1 -1
  72. package/lib/cjs/contract/MarketContract.js.map +1 -0
  73. package/lib/{contract → cjs/contract}/OtherAuditContract.cjs +1 -1
  74. package/lib/cjs/contract/OtherAuditContract.js.map +1 -0
  75. package/lib/{contract → cjs/contract}/OtherBatchContract.cjs +1 -1
  76. package/lib/cjs/contract/OtherBatchContract.js.map +1 -0
  77. package/lib/{contract → cjs/contract}/OtherMarketContract.cjs +1 -1
  78. package/lib/cjs/contract/OtherMarketContract.js.map +1 -0
  79. package/lib/{contract → cjs/contract}/OtherProductContract.cjs +1 -1
  80. package/lib/cjs/contract/OtherProductContract.js.map +1 -0
  81. package/lib/{contract → cjs/contract}/OtherProductImageContract.cjs +1 -1
  82. package/lib/cjs/contract/OtherProductImageContract.js.map +1 -0
  83. package/lib/{contract → cjs/contract}/OtherProductSharedContract.cjs +1 -1
  84. package/lib/cjs/contract/OtherProductSharedContract.js.map +1 -0
  85. package/lib/{contract → cjs/contract}/OtherProductStrengthContract.cjs +1 -1
  86. package/lib/cjs/contract/OtherProductStrengthContract.js.map +1 -0
  87. package/lib/{contract → cjs/contract}/Product.cjs +1 -1
  88. package/lib/cjs/contract/Product.js.map +1 -0
  89. package/lib/{contract → cjs/contract}/ProductContract.cjs +1 -1
  90. package/lib/cjs/contract/ProductContract.js.map +1 -0
  91. package/lib/{contract → cjs/contract}/ProductStrengthContract.cjs +1 -1
  92. package/lib/cjs/contract/ProductStrengthContract.js.map +1 -0
  93. package/lib/{contract → cjs/contract}/SegregatedPrivateDocumentContract.cjs +1 -1
  94. package/lib/cjs/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  95. package/lib/{contract → cjs/contract}/SegregatedSharedDocumentContract.cjs +1 -1
  96. package/lib/cjs/contract/SegregatedSharedDocumentContract.js.map +1 -0
  97. package/lib/{contract → cjs/contract}/User.cjs +1 -1
  98. package/lib/cjs/contract/User.js.map +1 -0
  99. package/lib/{contract → cjs/contract}/UserContract.cjs +1 -1
  100. package/lib/cjs/contract/UserContract.js.map +1 -0
  101. package/lib/cjs/contract/index.cjs +36 -0
  102. package/lib/cjs/contract/index.js.map +1 -0
  103. package/lib/cjs/contract/logging-context.cjs +77 -0
  104. package/lib/cjs/contract/logging-context.js.map +1 -0
  105. package/lib/cjs/contract/models/Audit.cjs +106 -0
  106. package/lib/cjs/contract/models/Audit.js.map +1 -0
  107. package/lib/{contract → cjs/contract}/models/BaseIdentifiedModel.cjs +1 -1
  108. package/lib/cjs/contract/models/BaseIdentifiedModel.js.map +1 -0
  109. package/lib/{contract → cjs/contract}/models/BaseModel.cjs +1 -1
  110. package/lib/cjs/contract/models/BaseModel.js.map +1 -0
  111. package/lib/cjs/contract/models/Batch.cjs +174 -0
  112. package/lib/cjs/contract/models/Batch.js.map +1 -0
  113. package/lib/cjs/contract/models/GtinOwner.cjs +59 -0
  114. package/lib/cjs/contract/models/GtinOwner.js.map +1 -0
  115. package/lib/cjs/contract/models/History.cjs +75 -0
  116. package/lib/cjs/contract/models/History.js.map +1 -0
  117. package/lib/cjs/contract/models/Leaflet.cjs +95 -0
  118. package/lib/cjs/contract/models/Leaflet.js.map +1 -0
  119. package/lib/cjs/contract/models/LeafletFile.cjs +58 -0
  120. package/lib/cjs/contract/models/LeafletFile.js.map +1 -0
  121. package/lib/cjs/contract/models/Market.cjs +75 -0
  122. package/lib/cjs/contract/models/Market.js.map +1 -0
  123. package/lib/cjs/contract/models/OtherAudit.cjs +118 -0
  124. package/lib/cjs/contract/models/OtherAudit.js.map +1 -0
  125. package/lib/cjs/contract/models/OtherBatchShared.cjs +127 -0
  126. package/lib/cjs/contract/models/OtherBatchShared.js.map +1 -0
  127. package/lib/cjs/contract/models/OtherLeaflet.cjs +115 -0
  128. package/lib/cjs/contract/models/OtherLeaflet.js.map +1 -0
  129. package/lib/cjs/contract/models/OtherLeafletFile.cjs +65 -0
  130. package/lib/cjs/contract/models/OtherLeafletFile.js.map +1 -0
  131. package/lib/cjs/contract/models/OtherMarket.cjs +84 -0
  132. package/lib/cjs/contract/models/OtherMarket.js.map +1 -0
  133. package/lib/cjs/contract/models/OtherProduct.cjs +77 -0
  134. package/lib/cjs/contract/models/OtherProduct.js.map +1 -0
  135. package/lib/cjs/contract/models/OtherProductImage.cjs +59 -0
  136. package/lib/cjs/contract/models/OtherProductImage.js.map +1 -0
  137. package/lib/cjs/contract/models/OtherProductShared.cjs +99 -0
  138. package/lib/cjs/contract/models/OtherProductShared.js.map +1 -0
  139. package/lib/cjs/contract/models/OtherProductStrength.cjs +87 -0
  140. package/lib/cjs/contract/models/OtherProductStrength.js.map +1 -0
  141. package/lib/cjs/contract/models/Product.cjs +78 -0
  142. package/lib/cjs/contract/models/Product.js.map +1 -0
  143. package/lib/cjs/contract/models/ProductStrength.cjs +78 -0
  144. package/lib/cjs/contract/models/ProductStrength.js.map +1 -0
  145. package/lib/{contract → cjs/contract}/models/SegregatedDocument.cjs +1 -1
  146. package/lib/cjs/contract/models/SegregatedDocument.js.map +1 -0
  147. package/lib/cjs/contract/models/constants.cjs +30 -0
  148. package/lib/cjs/contract/models/constants.js.map +1 -0
  149. package/lib/cjs/contract/models/decorators-private.cjs +158 -0
  150. package/lib/cjs/contract/models/decorators-private.js.map +1 -0
  151. package/lib/cjs/contract/models/decorators.cjs +182 -0
  152. package/lib/cjs/contract/models/decorators.js.map +1 -0
  153. package/lib/cjs/contract/models/gtin.cjs +88 -0
  154. package/lib/cjs/contract/models/gtin.js.map +1 -0
  155. package/lib/cjs/contract/models/history-dec.cjs +83 -0
  156. package/lib/cjs/contract/models/history-dec.js.map +1 -0
  157. package/lib/cjs/contracts/ContractAdapter.cjs +1193 -0
  158. package/lib/cjs/contracts/ContractAdapter.js.map +1 -0
  159. package/lib/cjs/contracts/ContractContext.cjs +157 -0
  160. package/lib/cjs/contracts/ContractContext.js.map +1 -0
  161. package/lib/cjs/contracts/FabricContractDispatch.cjs +79 -0
  162. package/lib/cjs/contracts/FabricContractDispatch.js.map +1 -0
  163. package/lib/{esm/contracts/FabricContractPaginator.d.ts → cjs/contracts/FabricContractPaginator.cjs} +77 -9
  164. package/lib/cjs/contracts/FabricContractPaginator.js.map +1 -0
  165. package/lib/cjs/contracts/FabricContractRepository.cjs +322 -0
  166. package/lib/cjs/contracts/FabricContractRepository.js.map +1 -0
  167. package/lib/{esm/contracts/FabricContractRepositoryObservableHandler.d.ts → cjs/contracts/FabricContractRepositoryObservableHandler.cjs} +42 -8
  168. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  169. package/lib/cjs/contracts/FabricContractSequence.cjs +338 -0
  170. package/lib/cjs/contracts/FabricContractSequence.js.map +1 -0
  171. package/lib/cjs/contracts/FabricContractStatement.cjs +180 -0
  172. package/lib/cjs/contracts/FabricContractStatement.js.map +1 -0
  173. package/lib/cjs/contracts/MigrationContract.cjs +147 -0
  174. package/lib/cjs/contracts/MigrationContract.js.map +1 -0
  175. package/lib/{contracts → cjs/contracts}/PrivateSequence.cjs +1 -1
  176. package/lib/cjs/contracts/PrivateSequence.js.map +1 -0
  177. package/lib/cjs/contracts/auth/decorators.cjs +84 -0
  178. package/lib/cjs/contracts/auth/decorators.js.map +1 -0
  179. package/lib/{contracts → cjs/contracts}/auth/index.cjs +1 -1
  180. package/lib/cjs/contracts/auth/index.js.map +1 -0
  181. package/lib/cjs/contracts/crud/crud-contract.cjs +416 -0
  182. package/lib/cjs/contracts/crud/crud-contract.js.map +1 -0
  183. package/lib/{contracts → cjs/contracts}/crud/index.cjs +1 -1
  184. package/lib/cjs/contracts/crud/index.js.map +1 -0
  185. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +284 -0
  186. package/lib/cjs/contracts/crud/serialized-crud-contract.js.map +1 -0
  187. package/lib/cjs/contracts/erc20/erc20contract.cjs +581 -0
  188. package/lib/cjs/contracts/erc20/erc20contract.js.map +1 -0
  189. package/lib/cjs/contracts/erc20/index.cjs +21 -0
  190. package/lib/cjs/contracts/erc20/index.js.map +1 -0
  191. package/lib/cjs/contracts/erc20/models.cjs +209 -0
  192. package/lib/cjs/contracts/erc20/models.js.map +1 -0
  193. package/lib/{contracts → cjs/contracts}/index.cjs +1 -1
  194. package/lib/cjs/contracts/index.js.map +1 -0
  195. package/lib/cjs/contracts/logging.cjs +118 -0
  196. package/lib/cjs/contracts/logging.js.map +1 -0
  197. package/lib/cjs/contracts/overrides.cjs +8 -0
  198. package/lib/cjs/contracts/overrides.js.map +1 -0
  199. package/lib/cjs/contracts/types.cjs +3 -0
  200. package/lib/cjs/contracts/types.js.map +1 -0
  201. package/lib/cjs/contracts/uuid.cjs +75 -0
  202. package/lib/cjs/contracts/uuid.js.map +1 -0
  203. package/lib/{index.cjs → cjs/index.cjs} +1 -1
  204. package/lib/cjs/index.js.map +1 -0
  205. package/lib/{shared/ClientSerializer.d.ts → cjs/shared/ClientSerializer.cjs} +35 -6
  206. package/lib/cjs/shared/ClientSerializer.js.map +1 -0
  207. package/lib/cjs/shared/DeterministicSerializer.cjs +106 -0
  208. package/lib/cjs/shared/DeterministicSerializer.js.map +1 -0
  209. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +69 -0
  210. package/lib/cjs/shared/SimpleDeterministicSerializer.js.map +1 -0
  211. package/lib/{shared/constants.d.ts → cjs/shared/constants.cjs} +18 -12
  212. package/lib/cjs/shared/constants.js.map +1 -0
  213. package/lib/cjs/shared/decorators.cjs +595 -0
  214. package/lib/cjs/shared/decorators.js.map +1 -0
  215. package/lib/{shared/erc20/erc20-constants.d.ts → cjs/shared/erc20/erc20-constants.cjs} +9 -4
  216. package/lib/cjs/shared/erc20/erc20-constants.js.map +1 -0
  217. package/lib/{shared → cjs/shared}/erc20/index.cjs +1 -1
  218. package/lib/cjs/shared/erc20/index.js.map +1 -0
  219. package/lib/cjs/shared/errors.cjs +190 -0
  220. package/lib/cjs/shared/errors.js.map +1 -0
  221. package/lib/{shared/events.d.ts → cjs/shared/events.cjs} +21 -7
  222. package/lib/cjs/shared/events.js.map +1 -0
  223. package/lib/cjs/shared/fabric-types.cjs +3 -0
  224. package/lib/cjs/shared/fabric-types.js.map +1 -0
  225. package/lib/{shared → cjs/shared}/index.cjs +1 -1
  226. package/lib/cjs/shared/index.js.map +1 -0
  227. package/lib/cjs/shared/interfaces/Checkable.cjs +3 -0
  228. package/lib/cjs/shared/interfaces/Checkable.js.map +1 -0
  229. package/lib/{shared → cjs/shared}/interfaces/index.cjs +1 -1
  230. package/lib/cjs/shared/interfaces/index.js.map +1 -0
  231. package/lib/cjs/shared/math.cjs +66 -0
  232. package/lib/cjs/shared/math.js.map +1 -0
  233. package/lib/{shared → cjs/shared}/model/FabricBaseModel.cjs +1 -1
  234. package/lib/cjs/shared/model/FabricBaseModel.js.map +1 -0
  235. package/lib/{shared → cjs/shared}/model/FabricIdentifiedBaseModel.cjs +1 -1
  236. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  237. package/lib/cjs/shared/model/Identity.cjs +71 -0
  238. package/lib/cjs/shared/model/Identity.js.map +1 -0
  239. package/lib/cjs/shared/model/IdentityCredentials.cjs +66 -0
  240. package/lib/cjs/shared/model/IdentityCredentials.js.map +1 -0
  241. package/lib/cjs/shared/model/index.cjs +21 -0
  242. package/lib/cjs/shared/model/index.js.map +1 -0
  243. package/lib/cjs/shared/overrides/Model.cjs +4 -0
  244. package/lib/cjs/shared/overrides/Model.js.map +1 -0
  245. package/lib/{shared → cjs/shared}/overrides/index.cjs +1 -1
  246. package/lib/cjs/shared/overrides/index.js.map +1 -0
  247. package/lib/cjs/shared/overrides/overrides.cjs +93 -0
  248. package/lib/cjs/shared/overrides/overrides.js.map +1 -0
  249. package/lib/cjs/shared/types.cjs +3 -0
  250. package/lib/cjs/shared/types.js.map +1 -0
  251. package/lib/cjs/version.cjs +8 -0
  252. package/lib/cjs/version.js.map +1 -0
  253. package/lib/esm/bin/cli.js +1 -1
  254. package/lib/esm/bin/cli.js.map +1 -0
  255. package/lib/esm/cli-module.js +1 -1
  256. package/lib/esm/cli-module.js.map +1 -0
  257. package/lib/esm/cli-utils.js +1 -1
  258. package/lib/esm/cli-utils.js.map +1 -0
  259. package/lib/esm/client/FabricClientAdapter.js +1 -1
  260. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  261. package/lib/esm/client/FabricClientDispatch.js +1 -1
  262. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  263. package/lib/esm/client/FabricClientPaginator.js +1 -1
  264. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  265. package/lib/esm/client/FabricClientRepository.js +1 -1
  266. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  267. package/lib/esm/client/FabricClientStatement.js +1 -1
  268. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  269. package/lib/esm/client/collections/generation.js +1 -1
  270. package/lib/esm/client/collections/generation.js.map +1 -0
  271. package/lib/esm/client/collections/index.js +1 -1
  272. package/lib/esm/client/collections/index.js.map +1 -0
  273. package/lib/esm/client/constants.js +1 -1
  274. package/lib/esm/client/constants.js.map +1 -0
  275. package/lib/esm/client/crypto.js +1 -1
  276. package/lib/esm/client/crypto.js.map +1 -0
  277. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  278. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  279. package/lib/esm/client/erc20/index.js +1 -1
  280. package/lib/esm/client/erc20/index.js.map +1 -0
  281. package/lib/esm/client/fabric-fs.js +1 -1
  282. package/lib/esm/client/fabric-fs.js.map +1 -0
  283. package/lib/esm/client/fabric-hsm.js +1 -1
  284. package/lib/esm/client/fabric-hsm.js.map +1 -0
  285. package/lib/esm/client/ids/id-extraction.js +1 -1
  286. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  287. package/lib/esm/client/ids/index.js +1 -1
  288. package/lib/esm/client/ids/index.js.map +1 -0
  289. package/lib/esm/client/index.js +1 -1
  290. package/lib/esm/client/index.js.map +1 -0
  291. package/lib/esm/client/indexes/generation.js +1 -1
  292. package/lib/esm/client/indexes/generation.js.map +1 -0
  293. package/lib/esm/client/indexes/index.js +1 -1
  294. package/lib/esm/client/indexes/index.js.map +1 -0
  295. package/lib/esm/client/logging.js +1 -1
  296. package/lib/esm/client/logging.js.map +1 -0
  297. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  298. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  299. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  300. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  301. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  302. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  303. package/lib/esm/client/services/constants.js +1 -1
  304. package/lib/esm/client/services/constants.js.map +1 -0
  305. package/lib/esm/client/services/index.js +1 -1
  306. package/lib/esm/client/services/index.js.map +1 -0
  307. package/lib/esm/client/types.js +1 -1
  308. package/lib/esm/client/types.js.map +1 -0
  309. package/lib/esm/client/utils.js +1 -1
  310. package/lib/esm/client/utils.js.map +1 -0
  311. package/lib/esm/contract/Address.js +1 -1
  312. package/lib/esm/contract/Address.js.map +1 -0
  313. package/lib/esm/contract/AddressContract.js +1 -1
  314. package/lib/esm/contract/AddressContract.js.map +1 -0
  315. package/lib/esm/contract/AuditContract.js +1 -1
  316. package/lib/esm/contract/AuditContract.js.map +1 -0
  317. package/lib/esm/contract/BatchContract.js +1 -1
  318. package/lib/esm/contract/BatchContract.js.map +1 -0
  319. package/lib/esm/contract/MarketContract.js +1 -1
  320. package/lib/esm/contract/MarketContract.js.map +1 -0
  321. package/lib/esm/contract/OtherAuditContract.js +1 -1
  322. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  323. package/lib/esm/contract/OtherBatchContract.js +1 -1
  324. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  325. package/lib/esm/contract/OtherMarketContract.js +1 -1
  326. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  327. package/lib/esm/contract/OtherProductContract.js +1 -1
  328. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  329. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  330. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  331. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  332. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  333. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  334. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  335. package/lib/esm/contract/Product.js +1 -1
  336. package/lib/esm/contract/Product.js.map +1 -0
  337. package/lib/esm/contract/ProductContract.js +1 -1
  338. package/lib/esm/contract/ProductContract.js.map +1 -0
  339. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  340. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  341. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  342. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  343. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  344. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  345. package/lib/esm/contract/User.js +1 -1
  346. package/lib/esm/contract/User.js.map +1 -0
  347. package/lib/esm/contract/UserContract.js +1 -1
  348. package/lib/esm/contract/UserContract.js.map +1 -0
  349. package/lib/esm/contract/index.js +1 -1
  350. package/lib/esm/contract/index.js.map +1 -0
  351. package/lib/esm/contract/logging-context.js +1 -1
  352. package/lib/esm/contract/logging-context.js.map +1 -0
  353. package/lib/esm/contract/models/Audit.js +1 -1
  354. package/lib/esm/contract/models/Audit.js.map +1 -0
  355. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  356. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  357. package/lib/esm/contract/models/BaseModel.js +1 -1
  358. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  359. package/lib/esm/contract/models/Batch.js +1 -1
  360. package/lib/esm/contract/models/Batch.js.map +1 -0
  361. package/lib/esm/contract/models/GtinOwner.js +1 -1
  362. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  363. package/lib/esm/contract/models/History.js +1 -1
  364. package/lib/esm/contract/models/History.js.map +1 -0
  365. package/lib/esm/contract/models/Leaflet.js +1 -1
  366. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  367. package/lib/esm/contract/models/LeafletFile.js +1 -1
  368. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  369. package/lib/esm/contract/models/Market.js +1 -1
  370. package/lib/esm/contract/models/Market.js.map +1 -0
  371. package/lib/esm/contract/models/OtherAudit.js +1 -1
  372. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  373. package/lib/esm/contract/models/OtherBatchShared.js +1 -1
  374. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  375. package/lib/esm/contract/models/OtherLeaflet.js +1 -1
  376. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  377. package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
  378. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  379. package/lib/esm/contract/models/OtherMarket.js +1 -1
  380. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  381. package/lib/esm/contract/models/OtherProduct.js +1 -1
  382. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  383. package/lib/esm/contract/models/OtherProductImage.js +1 -1
  384. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  385. package/lib/esm/contract/models/OtherProductShared.js +1 -1
  386. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  387. package/lib/esm/contract/models/OtherProductStrength.js +1 -1
  388. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  389. package/lib/esm/contract/models/Product.js +1 -1
  390. package/lib/esm/contract/models/Product.js.map +1 -0
  391. package/lib/esm/contract/models/ProductStrength.js +1 -1
  392. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  393. package/lib/esm/contract/models/SegregatedDocument.js +1 -1
  394. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  395. package/lib/esm/contract/models/constants.js +1 -1
  396. package/lib/esm/contract/models/constants.js.map +1 -0
  397. package/lib/esm/contract/models/decorators-private.js +1 -1
  398. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  399. package/lib/esm/contract/models/decorators.js +1 -1
  400. package/lib/esm/contract/models/decorators.js.map +1 -0
  401. package/lib/esm/contract/models/gtin.js +1 -1
  402. package/lib/esm/contract/models/gtin.js.map +1 -0
  403. package/lib/esm/contract/models/history-dec.js +1 -1
  404. package/lib/esm/contract/models/history-dec.js.map +1 -0
  405. package/lib/esm/contracts/ContractAdapter.js +1 -1
  406. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  407. package/lib/esm/contracts/ContractContext.js +1 -1
  408. package/lib/esm/contracts/ContractContext.js.map +1 -0
  409. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  410. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  411. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  412. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  413. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  414. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  415. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  416. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  417. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  418. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  419. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  420. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  421. package/lib/esm/contracts/MigrationContract.js +1 -1
  422. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  423. package/lib/esm/contracts/PrivateSequence.js +1 -1
  424. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  425. package/lib/esm/contracts/auth/decorators.js +1 -1
  426. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  427. package/lib/esm/contracts/auth/index.js +1 -1
  428. package/lib/esm/contracts/auth/index.js.map +1 -0
  429. package/lib/esm/contracts/crud/crud-contract.js +1 -1
  430. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  431. package/lib/esm/contracts/crud/index.js +1 -1
  432. package/lib/esm/contracts/crud/index.js.map +1 -0
  433. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  434. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  435. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  436. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  437. package/lib/esm/contracts/erc20/index.js +1 -1
  438. package/lib/esm/contracts/erc20/index.js.map +1 -0
  439. package/lib/esm/contracts/erc20/models.js +1 -1
  440. package/lib/esm/contracts/erc20/models.js.map +1 -0
  441. package/lib/esm/contracts/index.js +1 -1
  442. package/lib/esm/contracts/index.js.map +1 -0
  443. package/lib/esm/contracts/logging.js +1 -1
  444. package/lib/esm/contracts/logging.js.map +1 -0
  445. package/lib/esm/contracts/overrides.js +1 -1
  446. package/lib/esm/contracts/overrides.js.map +1 -0
  447. package/lib/esm/contracts/types.js +1 -1
  448. package/lib/esm/contracts/types.js.map +1 -0
  449. package/lib/esm/contracts/uuid.js +1 -1
  450. package/lib/esm/contracts/uuid.js.map +1 -0
  451. package/lib/esm/index.js +1 -1
  452. package/lib/esm/index.js.map +1 -0
  453. package/lib/esm/shared/ClientSerializer.js +1 -1
  454. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  455. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  456. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  457. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  458. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  459. package/lib/esm/shared/constants.js +1 -1
  460. package/lib/esm/shared/constants.js.map +1 -0
  461. package/lib/esm/shared/decorators.js +5 -3
  462. package/lib/esm/shared/decorators.js.map +1 -0
  463. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  464. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  465. package/lib/esm/shared/erc20/index.js +1 -1
  466. package/lib/esm/shared/erc20/index.js.map +1 -0
  467. package/lib/esm/shared/errors.js +1 -1
  468. package/lib/esm/shared/errors.js.map +1 -0
  469. package/lib/esm/shared/events.js +1 -1
  470. package/lib/esm/shared/events.js.map +1 -0
  471. package/lib/esm/shared/fabric-types.js +1 -1
  472. package/lib/esm/shared/fabric-types.js.map +1 -0
  473. package/lib/esm/shared/index.js +1 -1
  474. package/lib/esm/shared/index.js.map +1 -0
  475. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  476. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  477. package/lib/esm/shared/interfaces/index.js +1 -1
  478. package/lib/esm/shared/interfaces/index.js.map +1 -0
  479. package/lib/esm/shared/math.js +1 -1
  480. package/lib/esm/shared/math.js.map +1 -0
  481. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  482. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  483. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  484. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  485. package/lib/esm/shared/model/Identity.js +1 -1
  486. package/lib/esm/shared/model/Identity.js.map +1 -0
  487. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  488. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  489. package/lib/esm/shared/model/index.js +1 -1
  490. package/lib/esm/shared/model/index.js.map +1 -0
  491. package/lib/esm/shared/overrides/Model.js +1 -1
  492. package/lib/esm/shared/overrides/Model.js.map +1 -0
  493. package/lib/esm/shared/overrides/index.js +1 -1
  494. package/lib/esm/shared/overrides/index.js.map +1 -0
  495. package/lib/esm/shared/overrides/overrides.js +1 -1
  496. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  497. package/lib/esm/shared/types.js +1 -1
  498. package/lib/esm/shared/types.js.map +1 -0
  499. package/lib/esm/version.js +2 -2
  500. package/lib/esm/version.js.map +1 -0
  501. package/lib/{esm → types}/version.d.ts +1 -1
  502. package/package.json +22 -18
  503. package/lib/bin/cli.cjs +0 -9
  504. package/lib/cli-module.cjs +0 -479
  505. package/lib/cli-utils.cjs +0 -309
  506. package/lib/client/FabricClientAdapter.cjs +0 -1362
  507. package/lib/client/FabricClientDispatch.cjs +0 -290
  508. package/lib/client/FabricClientPaginator.cjs +0 -21
  509. package/lib/client/FabricClientRepository.cjs +0 -259
  510. package/lib/client/FabricClientStatement.cjs +0 -451
  511. package/lib/client/collections/generation.cjs +0 -113
  512. package/lib/client/constants.cjs +0 -16
  513. package/lib/client/crypto.cjs +0 -368
  514. package/lib/client/erc20/FabricERC20ClientRepository.cjs +0 -363
  515. package/lib/client/fabric-fs.cjs +0 -234
  516. package/lib/client/fabric-hsm.cjs +0 -165
  517. package/lib/client/ids/id-extraction.cjs +0 -30
  518. package/lib/client/indexes/generation.cjs +0 -95
  519. package/lib/client/logging.cjs +0 -102
  520. package/lib/client/services/FabricEnrollmentService.cjs +0 -363
  521. package/lib/client/services/FabricIdentityService.cjs +0 -324
  522. package/lib/client/services/RegistrationRequestBuilder.cjs +0 -91
  523. package/lib/client/services/constants.cjs +0 -20
  524. package/lib/client/services/index.cjs +0 -21
  525. package/lib/client/types.cjs +0 -3
  526. package/lib/client/utils.cjs +0 -262
  527. package/lib/contract/index.cjs +0 -36
  528. package/lib/contract/logging-context.cjs +0 -77
  529. package/lib/contract/models/Audit.cjs +0 -106
  530. package/lib/contract/models/Batch.cjs +0 -174
  531. package/lib/contract/models/GtinOwner.cjs +0 -59
  532. package/lib/contract/models/History.cjs +0 -75
  533. package/lib/contract/models/Leaflet.cjs +0 -95
  534. package/lib/contract/models/LeafletFile.cjs +0 -58
  535. package/lib/contract/models/Market.cjs +0 -75
  536. package/lib/contract/models/OtherAudit.cjs +0 -118
  537. package/lib/contract/models/OtherBatchShared.cjs +0 -127
  538. package/lib/contract/models/OtherLeaflet.cjs +0 -115
  539. package/lib/contract/models/OtherLeafletFile.cjs +0 -65
  540. package/lib/contract/models/OtherMarket.cjs +0 -84
  541. package/lib/contract/models/OtherProduct.cjs +0 -77
  542. package/lib/contract/models/OtherProductImage.cjs +0 -59
  543. package/lib/contract/models/OtherProductShared.cjs +0 -99
  544. package/lib/contract/models/OtherProductStrength.cjs +0 -87
  545. package/lib/contract/models/Product.cjs +0 -78
  546. package/lib/contract/models/ProductStrength.cjs +0 -78
  547. package/lib/contract/models/constants.cjs +0 -30
  548. package/lib/contract/models/decorators-private.cjs +0 -158
  549. package/lib/contract/models/decorators.cjs +0 -182
  550. package/lib/contract/models/gtin.cjs +0 -88
  551. package/lib/contract/models/history-dec.cjs +0 -83
  552. package/lib/contracts/ContractAdapter.cjs +0 -1193
  553. package/lib/contracts/ContractContext.cjs +0 -157
  554. package/lib/contracts/FabricContractDispatch.cjs +0 -79
  555. package/lib/contracts/FabricContractPaginator.cjs +0 -173
  556. package/lib/contracts/FabricContractRepository.cjs +0 -322
  557. package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +0 -96
  558. package/lib/contracts/FabricContractSequence.cjs +0 -338
  559. package/lib/contracts/FabricContractStatement.cjs +0 -180
  560. package/lib/contracts/MigrationContract.cjs +0 -147
  561. package/lib/contracts/auth/decorators.cjs +0 -84
  562. package/lib/contracts/crud/crud-contract.cjs +0 -416
  563. package/lib/contracts/crud/serialized-crud-contract.cjs +0 -284
  564. package/lib/contracts/erc20/erc20contract.cjs +0 -581
  565. package/lib/contracts/erc20/index.cjs +0 -21
  566. package/lib/contracts/erc20/models.cjs +0 -209
  567. package/lib/contracts/logging.cjs +0 -118
  568. package/lib/contracts/overrides.cjs +0 -8
  569. package/lib/contracts/types.cjs +0 -3
  570. package/lib/contracts/uuid.cjs +0 -75
  571. package/lib/esm/bin/cli.d.ts +0 -1
  572. package/lib/esm/cli-module.d.ts +0 -3
  573. package/lib/esm/cli-utils.d.ts +0 -21
  574. package/lib/esm/client/FabricClientAdapter.d.ts +0 -404
  575. package/lib/esm/client/FabricClientDispatch.d.ts +0 -133
  576. package/lib/esm/client/FabricClientPaginator.d.ts +0 -12
  577. package/lib/esm/client/FabricClientRepository.d.ts +0 -71
  578. package/lib/esm/client/FabricClientStatement.d.ts +0 -64
  579. package/lib/esm/client/collections/generation.d.ts +0 -46
  580. package/lib/esm/client/collections/index.d.ts +0 -1
  581. package/lib/esm/client/constants.d.ts +0 -2
  582. package/lib/esm/client/crypto.d.ts +0 -107
  583. package/lib/esm/client/erc20/index.d.ts +0 -1
  584. package/lib/esm/client/fabric-fs.d.ts +0 -92
  585. package/lib/esm/client/fabric-hsm.d.ts +0 -24
  586. package/lib/esm/client/ids/id-extraction.d.ts +0 -4
  587. package/lib/esm/client/ids/index.d.ts +0 -1
  588. package/lib/esm/client/index.d.ts +0 -23
  589. package/lib/esm/client/indexes/generation.d.ts +0 -10
  590. package/lib/esm/client/indexes/index.d.ts +0 -1
  591. package/lib/esm/client/services/FabricEnrollmentService.d.ts +0 -176
  592. package/lib/esm/client/services/FabricIdentityService.d.ts +0 -98
  593. package/lib/esm/client/services/RegistrationRequestBuilder.d.ts +0 -19
  594. package/lib/esm/client/services/index.d.ts +0 -4
  595. package/lib/esm/client/types.d.ts +0 -20
  596. package/lib/esm/client/utils.d.ts +0 -71
  597. package/lib/esm/contract/Address.d.ts +0 -13
  598. package/lib/esm/contract/AddressContract.d.ts +0 -5
  599. package/lib/esm/contract/AuditContract.d.ts +0 -5
  600. package/lib/esm/contract/BatchContract.d.ts +0 -5
  601. package/lib/esm/contract/MarketContract.d.ts +0 -5
  602. package/lib/esm/contract/OtherAuditContract.d.ts +0 -5
  603. package/lib/esm/contract/OtherBatchContract.d.ts +0 -5
  604. package/lib/esm/contract/OtherMarketContract.d.ts +0 -5
  605. package/lib/esm/contract/OtherProductContract.d.ts +0 -5
  606. package/lib/esm/contract/OtherProductImageContract.d.ts +0 -5
  607. package/lib/esm/contract/OtherProductSharedContract.d.ts +0 -5
  608. package/lib/esm/contract/OtherProductStrengthContract.d.ts +0 -5
  609. package/lib/esm/contract/Product.d.ts +0 -7
  610. package/lib/esm/contract/ProductContract.d.ts +0 -5
  611. package/lib/esm/contract/ProductStrengthContract.d.ts +0 -5
  612. package/lib/esm/contract/SegregatedPrivateDocumentContract.d.ts +0 -5
  613. package/lib/esm/contract/SegregatedSharedDocumentContract.d.ts +0 -5
  614. package/lib/esm/contract/User.d.ts +0 -7
  615. package/lib/esm/contract/UserContract.d.ts +0 -5
  616. package/lib/esm/contract/index.d.ts +0 -2
  617. package/lib/esm/contract/logging-context.d.ts +0 -8
  618. package/lib/esm/contract/models/Audit.d.ts +0 -13
  619. package/lib/esm/contract/models/BaseIdentifiedModel.d.ts +0 -7
  620. package/lib/esm/contract/models/BaseModel.d.ts +0 -7
  621. package/lib/esm/contract/models/Batch.d.ts +0 -18
  622. package/lib/esm/contract/models/GtinOwner.d.ts +0 -8
  623. package/lib/esm/contract/models/History.d.ts +0 -9
  624. package/lib/esm/contract/models/Leaflet.d.ts +0 -12
  625. package/lib/esm/contract/models/LeafletFile.d.ts +0 -9
  626. package/lib/esm/contract/models/Market.d.ts +0 -12
  627. package/lib/esm/contract/models/OtherAudit.d.ts +0 -15
  628. package/lib/esm/contract/models/OtherBatchShared.d.ts +0 -18
  629. package/lib/esm/contract/models/OtherLeaflet.d.ts +0 -16
  630. package/lib/esm/contract/models/OtherLeafletFile.d.ts +0 -10
  631. package/lib/esm/contract/models/OtherMarket.d.ts +0 -13
  632. package/lib/esm/contract/models/OtherProduct.d.ts +0 -12
  633. package/lib/esm/contract/models/OtherProductImage.d.ts +0 -9
  634. package/lib/esm/contract/models/OtherProductShared.d.ts +0 -18
  635. package/lib/esm/contract/models/OtherProductStrength.d.ts +0 -12
  636. package/lib/esm/contract/models/Product.d.ts +0 -15
  637. package/lib/esm/contract/models/ProductStrength.d.ts +0 -11
  638. package/lib/esm/contract/models/SegregatedDocument.d.ts +0 -18
  639. package/lib/esm/contract/models/constants.d.ts +0 -24
  640. package/lib/esm/contract/models/decorators-private.d.ts +0 -16
  641. package/lib/esm/contract/models/decorators.d.ts +0 -28
  642. package/lib/esm/contract/models/gtin.d.ts +0 -8
  643. package/lib/esm/contract/models/history-dec.d.ts +0 -6
  644. package/lib/esm/contracts/ContractAdapter.d.ts +0 -287
  645. package/lib/esm/contracts/ContractContext.d.ts +0 -89
  646. package/lib/esm/contracts/FabricContractDispatch.d.ts +0 -7
  647. package/lib/esm/contracts/FabricContractRepository.d.ts +0 -119
  648. package/lib/esm/contracts/FabricContractSequence.d.ts +0 -87
  649. package/lib/esm/contracts/FabricContractStatement.d.ts +0 -36
  650. package/lib/esm/contracts/MigrationContract.d.ts +0 -22
  651. package/lib/esm/contracts/PrivateSequence.d.ts +0 -15
  652. package/lib/esm/contracts/auth/decorators.d.ts +0 -6
  653. package/lib/esm/contracts/auth/index.d.ts +0 -1
  654. package/lib/esm/contracts/crud/crud-contract.d.ts +0 -199
  655. package/lib/esm/contracts/crud/index.d.ts +0 -2
  656. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +0 -42
  657. package/lib/esm/contracts/erc20/erc20contract.d.ts +0 -152
  658. package/lib/esm/contracts/erc20/index.d.ts +0 -2
  659. package/lib/esm/contracts/erc20/models.d.ts +0 -114
  660. package/lib/esm/contracts/index.d.ts +0 -19
  661. package/lib/esm/contracts/logging.d.ts +0 -54
  662. package/lib/esm/contracts/types.d.ts +0 -38
  663. package/lib/esm/contracts/uuid.d.ts +0 -2
  664. package/lib/esm/shared/overrides/overrides.d.ts +0 -1
  665. package/lib/index.d.ts +0 -8
  666. package/lib/shared/ClientSerializer.cjs +0 -81
  667. package/lib/shared/DeterministicSerializer.cjs +0 -106
  668. package/lib/shared/DeterministicSerializer.d.ts +0 -47
  669. package/lib/shared/SimpleDeterministicSerializer.cjs +0 -69
  670. package/lib/shared/SimpleDeterministicSerializer.d.ts +0 -7
  671. package/lib/shared/constants.cjs +0 -41
  672. package/lib/shared/decorators.cjs +0 -593
  673. package/lib/shared/decorators.d.ts +0 -81
  674. package/lib/shared/erc20/erc20-constants.cjs +0 -30
  675. package/lib/shared/erc20/index.d.ts +0 -1
  676. package/lib/shared/errors.cjs +0 -190
  677. package/lib/shared/errors.d.ts +0 -140
  678. package/lib/shared/events.cjs +0 -51
  679. package/lib/shared/fabric-types.cjs +0 -3
  680. package/lib/shared/fabric-types.d.ts +0 -32
  681. package/lib/shared/index.d.ts +0 -20
  682. package/lib/shared/interfaces/Checkable.cjs +0 -3
  683. package/lib/shared/interfaces/Checkable.d.ts +0 -23
  684. package/lib/shared/interfaces/index.d.ts +0 -1
  685. package/lib/shared/math.cjs +0 -66
  686. package/lib/shared/math.d.ts +0 -34
  687. package/lib/shared/model/FabricBaseModel.d.ts +0 -7
  688. package/lib/shared/model/FabricIdentifiedBaseModel.d.ts +0 -7
  689. package/lib/shared/model/Identity.cjs +0 -71
  690. package/lib/shared/model/Identity.d.ts +0 -42
  691. package/lib/shared/model/IdentityCredentials.cjs +0 -66
  692. package/lib/shared/model/IdentityCredentials.d.ts +0 -41
  693. package/lib/shared/model/index.cjs +0 -21
  694. package/lib/shared/model/index.d.ts +0 -4
  695. package/lib/shared/overrides/Model.cjs +0 -4
  696. package/lib/shared/overrides/Model.d.ts +0 -22
  697. package/lib/shared/overrides/index.d.ts +0 -2
  698. package/lib/shared/overrides/overrides.cjs +0 -93
  699. package/lib/shared/overrides/overrides.d.ts +0 -1
  700. package/lib/shared/types.cjs +0 -3
  701. package/lib/shared/types.d.ts +0 -125
  702. package/lib/version.cjs +0 -8
  703. package/lib/version.d.ts +0 -2
  704. /package/lib/{bin → types/bin}/cli.d.ts +0 -0
  705. /package/lib/{cli-module.d.ts → types/cli-module.d.ts} +0 -0
  706. /package/lib/{cli-utils.d.ts → types/cli-utils.d.ts} +0 -0
  707. /package/lib/{client → types/client}/FabricClientAdapter.d.ts +0 -0
  708. /package/lib/{client → types/client}/FabricClientDispatch.d.ts +0 -0
  709. /package/lib/{client → types/client}/FabricClientPaginator.d.ts +0 -0
  710. /package/lib/{client → types/client}/FabricClientRepository.d.ts +0 -0
  711. /package/lib/{client → types/client}/FabricClientStatement.d.ts +0 -0
  712. /package/lib/{client → types/client}/collections/generation.d.ts +0 -0
  713. /package/lib/{client → types/client}/collections/index.d.ts +0 -0
  714. /package/lib/{client → types/client}/constants.d.ts +0 -0
  715. /package/lib/{client → types/client}/crypto.d.ts +0 -0
  716. /package/lib/{client → types/client}/erc20/FabricERC20ClientRepository.d.ts +0 -0
  717. /package/lib/{client → types/client}/erc20/index.d.ts +0 -0
  718. /package/lib/{client → types/client}/fabric-fs.d.ts +0 -0
  719. /package/lib/{client → types/client}/fabric-hsm.d.ts +0 -0
  720. /package/lib/{client → types/client}/ids/id-extraction.d.ts +0 -0
  721. /package/lib/{client → types/client}/ids/index.d.ts +0 -0
  722. /package/lib/{client → types/client}/index.d.ts +0 -0
  723. /package/lib/{client → types/client}/indexes/generation.d.ts +0 -0
  724. /package/lib/{client → types/client}/indexes/index.d.ts +0 -0
  725. /package/lib/{client → types/client}/logging.d.ts +0 -0
  726. /package/lib/{client → types/client}/services/FabricEnrollmentService.d.ts +0 -0
  727. /package/lib/{client → types/client}/services/FabricIdentityService.d.ts +0 -0
  728. /package/lib/{client → types/client}/services/RegistrationRequestBuilder.d.ts +0 -0
  729. /package/lib/{client → types/client}/services/constants.d.ts +0 -0
  730. /package/lib/{client → types/client}/services/index.d.ts +0 -0
  731. /package/lib/{client → types/client}/types.d.ts +0 -0
  732. /package/lib/{client → types/client}/utils.d.ts +0 -0
  733. /package/lib/{contract → types/contract}/Address.d.ts +0 -0
  734. /package/lib/{contract → types/contract}/AddressContract.d.ts +0 -0
  735. /package/lib/{contract → types/contract}/AuditContract.d.ts +0 -0
  736. /package/lib/{contract → types/contract}/BatchContract.d.ts +0 -0
  737. /package/lib/{contract → types/contract}/MarketContract.d.ts +0 -0
  738. /package/lib/{contract → types/contract}/OtherAuditContract.d.ts +0 -0
  739. /package/lib/{contract → types/contract}/OtherBatchContract.d.ts +0 -0
  740. /package/lib/{contract → types/contract}/OtherMarketContract.d.ts +0 -0
  741. /package/lib/{contract → types/contract}/OtherProductContract.d.ts +0 -0
  742. /package/lib/{contract → types/contract}/OtherProductImageContract.d.ts +0 -0
  743. /package/lib/{contract → types/contract}/OtherProductSharedContract.d.ts +0 -0
  744. /package/lib/{contract → types/contract}/OtherProductStrengthContract.d.ts +0 -0
  745. /package/lib/{contract → types/contract}/Product.d.ts +0 -0
  746. /package/lib/{contract → types/contract}/ProductContract.d.ts +0 -0
  747. /package/lib/{contract → types/contract}/ProductStrengthContract.d.ts +0 -0
  748. /package/lib/{contract → types/contract}/SegregatedPrivateDocumentContract.d.ts +0 -0
  749. /package/lib/{contract → types/contract}/SegregatedSharedDocumentContract.d.ts +0 -0
  750. /package/lib/{contract → types/contract}/User.d.ts +0 -0
  751. /package/lib/{contract → types/contract}/UserContract.d.ts +0 -0
  752. /package/lib/{contract → types/contract}/index.d.ts +0 -0
  753. /package/lib/{contract → types/contract}/logging-context.d.ts +0 -0
  754. /package/lib/{contract → types/contract}/models/Audit.d.ts +0 -0
  755. /package/lib/{contract → types/contract}/models/BaseIdentifiedModel.d.ts +0 -0
  756. /package/lib/{contract → types/contract}/models/BaseModel.d.ts +0 -0
  757. /package/lib/{contract → types/contract}/models/Batch.d.ts +0 -0
  758. /package/lib/{contract → types/contract}/models/GtinOwner.d.ts +0 -0
  759. /package/lib/{contract → types/contract}/models/History.d.ts +0 -0
  760. /package/lib/{contract → types/contract}/models/Leaflet.d.ts +0 -0
  761. /package/lib/{contract → types/contract}/models/LeafletFile.d.ts +0 -0
  762. /package/lib/{contract → types/contract}/models/Market.d.ts +0 -0
  763. /package/lib/{contract → types/contract}/models/OtherAudit.d.ts +0 -0
  764. /package/lib/{contract → types/contract}/models/OtherBatchShared.d.ts +0 -0
  765. /package/lib/{contract → types/contract}/models/OtherLeaflet.d.ts +0 -0
  766. /package/lib/{contract → types/contract}/models/OtherLeafletFile.d.ts +0 -0
  767. /package/lib/{contract → types/contract}/models/OtherMarket.d.ts +0 -0
  768. /package/lib/{contract → types/contract}/models/OtherProduct.d.ts +0 -0
  769. /package/lib/{contract → types/contract}/models/OtherProductImage.d.ts +0 -0
  770. /package/lib/{contract → types/contract}/models/OtherProductShared.d.ts +0 -0
  771. /package/lib/{contract → types/contract}/models/OtherProductStrength.d.ts +0 -0
  772. /package/lib/{contract → types/contract}/models/Product.d.ts +0 -0
  773. /package/lib/{contract → types/contract}/models/ProductStrength.d.ts +0 -0
  774. /package/lib/{contract → types/contract}/models/SegregatedDocument.d.ts +0 -0
  775. /package/lib/{contract → types/contract}/models/constants.d.ts +0 -0
  776. /package/lib/{contract → types/contract}/models/decorators-private.d.ts +0 -0
  777. /package/lib/{contract → types/contract}/models/decorators.d.ts +0 -0
  778. /package/lib/{contract → types/contract}/models/gtin.d.ts +0 -0
  779. /package/lib/{contract → types/contract}/models/history-dec.d.ts +0 -0
  780. /package/lib/{contracts → types/contracts}/ContractAdapter.d.ts +0 -0
  781. /package/lib/{contracts → types/contracts}/ContractContext.d.ts +0 -0
  782. /package/lib/{contracts → types/contracts}/FabricContractDispatch.d.ts +0 -0
  783. /package/lib/{contracts → types/contracts}/FabricContractPaginator.d.ts +0 -0
  784. /package/lib/{contracts → types/contracts}/FabricContractRepository.d.ts +0 -0
  785. /package/lib/{contracts → types/contracts}/FabricContractRepositoryObservableHandler.d.ts +0 -0
  786. /package/lib/{contracts → types/contracts}/FabricContractSequence.d.ts +0 -0
  787. /package/lib/{contracts → types/contracts}/FabricContractStatement.d.ts +0 -0
  788. /package/lib/{contracts → types/contracts}/MigrationContract.d.ts +0 -0
  789. /package/lib/{contracts → types/contracts}/PrivateSequence.d.ts +0 -0
  790. /package/lib/{contracts → types/contracts}/auth/decorators.d.ts +0 -0
  791. /package/lib/{contracts → types/contracts}/auth/index.d.ts +0 -0
  792. /package/lib/{contracts → types/contracts}/crud/crud-contract.d.ts +0 -0
  793. /package/lib/{contracts → types/contracts}/crud/index.d.ts +0 -0
  794. /package/lib/{contracts → types/contracts}/crud/serialized-crud-contract.d.ts +0 -0
  795. /package/lib/{contracts → types/contracts}/erc20/erc20contract.d.ts +0 -0
  796. /package/lib/{contracts → types/contracts}/erc20/index.d.ts +0 -0
  797. /package/lib/{contracts → types/contracts}/erc20/models.d.ts +0 -0
  798. /package/lib/{contracts → types/contracts}/index.d.ts +0 -0
  799. /package/lib/{contracts → types/contracts}/logging.d.ts +0 -0
  800. /package/lib/{contracts → types/contracts}/overrides.d.ts +0 -0
  801. /package/lib/{contracts → types/contracts}/types.d.ts +0 -0
  802. /package/lib/{contracts → types/contracts}/uuid.d.ts +0 -0
  803. /package/lib/{esm → types}/index.d.ts +0 -0
  804. /package/lib/{esm → types}/shared/ClientSerializer.d.ts +0 -0
  805. /package/lib/{esm → types}/shared/DeterministicSerializer.d.ts +0 -0
  806. /package/lib/{esm → types}/shared/SimpleDeterministicSerializer.d.ts +0 -0
  807. /package/lib/{esm → types}/shared/constants.d.ts +0 -0
  808. /package/lib/{esm → types}/shared/decorators.d.ts +0 -0
  809. /package/lib/{esm → types}/shared/erc20/erc20-constants.d.ts +0 -0
  810. /package/lib/{esm → types}/shared/erc20/index.d.ts +0 -0
  811. /package/lib/{esm → types}/shared/errors.d.ts +0 -0
  812. /package/lib/{esm → types}/shared/events.d.ts +0 -0
  813. /package/lib/{esm → types}/shared/fabric-types.d.ts +0 -0
  814. /package/lib/{esm → types}/shared/index.d.ts +0 -0
  815. /package/lib/{esm → types}/shared/interfaces/Checkable.d.ts +0 -0
  816. /package/lib/{esm → types}/shared/interfaces/index.d.ts +0 -0
  817. /package/lib/{esm → types}/shared/math.d.ts +0 -0
  818. /package/lib/{esm → types}/shared/model/FabricBaseModel.d.ts +0 -0
  819. /package/lib/{esm → types}/shared/model/FabricIdentifiedBaseModel.d.ts +0 -0
  820. /package/lib/{esm → types}/shared/model/Identity.d.ts +0 -0
  821. /package/lib/{esm → types}/shared/model/IdentityCredentials.d.ts +0 -0
  822. /package/lib/{esm → types}/shared/model/index.d.ts +0 -0
  823. /package/lib/{esm → types}/shared/overrides/Model.d.ts +0 -0
  824. /package/lib/{esm → types}/shared/overrides/index.d.ts +0 -0
  825. /package/lib/{esm/contracts → types/shared/overrides}/overrides.d.ts +0 -0
  826. /package/lib/{esm → types}/shared/types.d.ts +0 -0
@@ -0,0 +1,595 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEGREGATED_COLLECTION_EXTRACTION_PRIORITY = exports.ImplicitPrivateCollection = exports.ModelCollection = void 0;
4
+ exports.extractMspId = extractMspId;
5
+ exports.Owner = Owner;
6
+ exports.ownedByOnCreate = ownedByOnCreate;
7
+ exports.ownedBy = ownedBy;
8
+ exports.transactionIdOnCreate = transactionIdOnCreate;
9
+ exports.transactionId = transactionId;
10
+ exports.evalMirrorMetadata = evalMirrorMetadata;
11
+ exports.createMirrorHandler = createMirrorHandler;
12
+ exports.updateMirrorHandler = updateMirrorHandler;
13
+ exports.deleteMirrorHandler = deleteMirrorHandler;
14
+ exports.mirrorWriteGuard = mirrorWriteGuard;
15
+ exports.readMirrorHandler = readMirrorHandler;
16
+ exports.mirror = mirror;
17
+ exports.NamespaceCollection = NamespaceCollection;
18
+ exports.applySegregationFlags = applySegregationFlags;
19
+ exports.applyMirrorFlags = applyMirrorFlags;
20
+ exports.extractSegregatedCollections = extractSegregatedCollections;
21
+ exports.segregatedDataOnCreate = segregatedDataOnCreate;
22
+ exports.segregatedDataOnRead = segregatedDataOnRead;
23
+ exports.segregatedDataOnUpdate = segregatedDataOnUpdate;
24
+ exports.segregatedDataOnDelete = segregatedDataOnDelete;
25
+ exports.privateData = privateData;
26
+ exports.sharedData = sharedData;
27
+ const core_1 = require("@decaf-ts/core");
28
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
29
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
30
+ const constants_1 = require("./constants.cjs");
31
+ const decoration_1 = require("@decaf-ts/decoration");
32
+ const logging_1 = require("@decaf-ts/logging");
33
+ require("./overrides/index.cjs");
34
+ /**
35
+ * @description Extracts the MSP ID from either a string or ClientIdentity object
36
+ * @param identity - The identity value which can be a string MSP ID or ClientIdentity object
37
+ * @returns The MSP ID as a string, or undefined if not available
38
+ */
39
+ function extractMspId(identity) {
40
+ if (!identity)
41
+ return undefined;
42
+ if (typeof identity === "string")
43
+ return identity;
44
+ return identity.getMSPID();
45
+ }
46
+ /**
47
+ * Decorator for marking methods that require ownership authorization.
48
+ * Checks the owner of the token before allowing the method to be executed.
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * class TokenContract extends Contract {
53
+ * @Owner()
54
+ * async Mint(ctx: Context, amount: number) {
55
+ * // Mint token logic
56
+ * }
57
+ * }
58
+ * ```
59
+ *
60
+ * @returns {MethodDecorator} A method decorator that checks ownership authorization.
61
+ */
62
+ function Owner() {
63
+ return function (target, propertyKey, descriptor) {
64
+ const originalMethod = descriptor.value;
65
+ descriptor.value = async function (...args) {
66
+ const ctx = args[0];
67
+ const acountId = ctx.clientIdentity.getID();
68
+ const select = await this["tokenRepository"].select();
69
+ const tokens = await select.execute(ctx);
70
+ if (tokens.length == 0) {
71
+ throw new db_decorators_1.NotFoundError("No tokens avaialble");
72
+ }
73
+ if (tokens.length > 1) {
74
+ throw new db_decorators_1.NotFoundError(`To many token available : ${tokens.length}`);
75
+ }
76
+ if (tokens[0].owner != acountId) {
77
+ throw new core_1.AuthorizationError(`User not authorized to run ${propertyKey} on the token`);
78
+ }
79
+ return await originalMethod.apply(this, args);
80
+ };
81
+ return descriptor;
82
+ };
83
+ }
84
+ async function ownedByOnCreate(context, data, key, model) {
85
+ const { stub } = context;
86
+ const allowGenerationOverride = context.getOrUndefined("allowGenerationOverride") || false;
87
+ const creator = await stub.getCreator();
88
+ let owner = creator.mspid;
89
+ context.logger.info(`Expected mspid to be ${model[key]} | ${owner}. \n Using allowGenerationOverride: ${allowGenerationOverride}`);
90
+ if (allowGenerationOverride)
91
+ owner = model[key] ? model[key] : owner;
92
+ const setOwnedByKeyValue = function (target, propertyKey, value) {
93
+ Object.defineProperty(target, propertyKey, {
94
+ enumerable: true,
95
+ writable: false,
96
+ configurable: true,
97
+ value: value,
98
+ });
99
+ };
100
+ setOwnedByKeyValue(model, key, owner);
101
+ }
102
+ function ownedBy() {
103
+ function ownedBy() {
104
+ return function (obj, attribute) {
105
+ return (0, decoration_1.apply)((0, decorator_validation_1.required)(), (0, db_decorators_1.generated)(), (0, db_decorators_1.readonly)(), (0, db_decorators_1.onCreate)(ownedByOnCreate), (0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.FabricModelKeys.FABRIC, constants_1.FabricModelKeys.OWNED_BY), attribute))(obj, attribute);
106
+ };
107
+ }
108
+ return decoration_1.Decoration.for(constants_1.FabricModelKeys.OWNED_BY)
109
+ .define({
110
+ decorator: ownedBy,
111
+ args: [],
112
+ })
113
+ .apply();
114
+ }
115
+ async function transactionIdOnCreate(context, data, key, model) {
116
+ const { stub } = context;
117
+ model[key] = stub.getTxID();
118
+ }
119
+ function transactionId() {
120
+ function transactionId() {
121
+ return function (obj, attribute) {
122
+ 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);
123
+ };
124
+ }
125
+ return decoration_1.Decoration.for(constants_1.FabricModelKeys.TRANSACTION_ID)
126
+ .define({
127
+ decorator: transactionId,
128
+ args: [],
129
+ })
130
+ .apply();
131
+ }
132
+ async function evalMirrorMetadata(model, resolver, ctx) {
133
+ let collection = resolver;
134
+ if (typeof collection !== "string") {
135
+ try {
136
+ const owner = decorator_validation_1.Model.ownerOf(model) || ctx.get("stub").getCreator().toString();
137
+ if (resolver && typeof resolver === "function")
138
+ collection = await resolver(model, owner, ctx);
139
+ }
140
+ catch (e) {
141
+ throw new db_decorators_1.InternalError(`Failed to resolve collection mirror name: ${e}`);
142
+ }
143
+ }
144
+ if (!collection || typeof collection !== "string")
145
+ throw new db_decorators_1.InternalError(`No collection found model ${model.constructor.name}`);
146
+ return collection;
147
+ }
148
+ async function createMirrorHandler(context, data, key, model) {
149
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
150
+ const fabricCtx = context;
151
+ const sourceModel = model;
152
+ // Put mirror flags directly on context so adapter.prepare() and adapter.create() can see them
153
+ fabricCtx.put("mirror", true);
154
+ fabricCtx.put("mirrorCollection", collection);
155
+ try {
156
+ const repo = this.override(Object.assign({}, this._overrides, {
157
+ mirror: true,
158
+ mirrorCollection: collection,
159
+ ignoreValidation: true,
160
+ ignoreHandlers: true,
161
+ }));
162
+ const mirror = await repo.create(sourceModel, context);
163
+ context.logger.info(`Mirror for ${decorator_validation_1.Model.tableName(this.class)} created with ${decorator_validation_1.Model.pk(model)}: ${mirror[decorator_validation_1.Model.pk(model)]}`);
164
+ }
165
+ finally {
166
+ // Clean up mirror flags from context
167
+ fabricCtx.put("mirror", undefined);
168
+ fabricCtx.put("mirrorCollection", undefined);
169
+ }
170
+ }
171
+ async function updateMirrorHandler(context, data, key, model) {
172
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
173
+ const fabricCtx = context;
174
+ const sourceModel = model;
175
+ fabricCtx.put("mirror", true);
176
+ fabricCtx.put("mirrorCollection", collection);
177
+ try {
178
+ const repo = this.override(Object.assign({}, this._overrides, {
179
+ mirror: true,
180
+ mirrorCollection: collection,
181
+ ignoreValidation: true,
182
+ ignoreHandlers: true,
183
+ applyUpdateValidation: false,
184
+ mergeForUpdate: false,
185
+ }));
186
+ await repo.update(sourceModel, context);
187
+ context.logger.info(`Mirror for ${decorator_validation_1.Model.tableName(this.class)} updated: ${model[decorator_validation_1.Model.pk(model)]}`);
188
+ }
189
+ finally {
190
+ fabricCtx.put("mirror", undefined);
191
+ fabricCtx.put("mirrorCollection", undefined);
192
+ }
193
+ }
194
+ async function deleteMirrorHandler(context, data, key, model) {
195
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
196
+ const fabricCtx = context;
197
+ fabricCtx.put("mirror", true);
198
+ fabricCtx.put("mirrorCollection", collection);
199
+ fabricCtx.put("segregated", collection);
200
+ try {
201
+ const pkProp = decorator_validation_1.Model.pk(model);
202
+ const id = model[pkProp];
203
+ const repo = this.override(Object.assign({}, this._overrides, {
204
+ segregated: collection,
205
+ mirror: true,
206
+ ignoreValidation: true,
207
+ ignoreHandlers: true,
208
+ }));
209
+ try {
210
+ await repo.delete(id, context);
211
+ }
212
+ catch {
213
+ // May already be deleted by adapter.deleteSegregatedCollections
214
+ }
215
+ context.logger.info(`Mirror for ${decorator_validation_1.Model.tableName(this.class)} deleted: ${String(id)}`);
216
+ }
217
+ finally {
218
+ fabricCtx.put("mirror", undefined);
219
+ fabricCtx.put("mirrorCollection", undefined);
220
+ fabricCtx.put("segregated", undefined);
221
+ }
222
+ }
223
+ async function mirrorWriteGuard(context, data,
224
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
225
+ key,
226
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
227
+ model) {
228
+ const msp = extractMspId(context.get("identity"));
229
+ if (!msp)
230
+ return;
231
+ if (msp === data.mspId || (data.condition && data.condition(msp))) {
232
+ throw new core_1.AuthorizationError(`Organization ${msp} is not authorized to modify mirrored data`);
233
+ }
234
+ }
235
+ async function readMirrorHandler(context, data, key, model) {
236
+ const msp = extractMspId(context.get("identity"));
237
+ if (!msp)
238
+ return;
239
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
240
+ const fabricCtx = context;
241
+ const matches = msp === data.mspId || (data.condition && data.condition(msp));
242
+ if (matches) {
243
+ context.logger.info(`Mirror read: MSP ${msp} matches, routing reads to mirror collection ${collection}`);
244
+ // Route reads exclusively through the mirror collection
245
+ fabricCtx.put("mirror", true);
246
+ fabricCtx.put("mirrorCollection", collection);
247
+ fabricCtx.put("fullySegregated", true);
248
+ fabricCtx.readFrom(collection);
249
+ }
250
+ // When MSP does NOT match, normal read flow — all data is in public state
251
+ }
252
+ function mirror(collection, mspIdOrCondition, condition) {
253
+ const isConditionOnly = typeof mspIdOrCondition !== "string" && Boolean(mspIdOrCondition);
254
+ const mspId = isConditionOnly
255
+ ? undefined
256
+ : mspIdOrCondition;
257
+ const cond = isConditionOnly
258
+ ? mspIdOrCondition
259
+ : condition;
260
+ function mirror(resolver, mspId, condition) {
261
+ const meta = {
262
+ condition: condition,
263
+ mspId: mspId,
264
+ resolver: resolver,
265
+ };
266
+ return (0, decoration_1.apply)((0, decoration_1.metadata)(decoration_1.Metadata.key(constants_1.FabricModelKeys.FABRIC, constants_1.FabricModelKeys.MIRROR), meta),
267
+ // Read handler runs early (priority 30) to set up context before any reads
268
+ (0, db_decorators_1.onRead)(readMirrorHandler, meta, { priority: 30 }),
269
+ // Write guards — reject matching MSPs before any processing
270
+ (0, db_decorators_1.onCreate)(mirrorWriteGuard, meta, { priority: 20 }), (0, db_decorators_1.onUpdate)(mirrorWriteGuard, meta, { priority: 20 }), (0, db_decorators_1.onDelete)(mirrorWriteGuard, meta, { priority: 20 }),
271
+ // Mirror sync handlers — write full model after other handlers (priority 100)
272
+ (0, db_decorators_1.onCreate)(createMirrorHandler, meta, { priority: 100 }), (0, db_decorators_1.onUpdate)(updateMirrorHandler, meta, { priority: 100 }), (0, db_decorators_1.onDelete)(deleteMirrorHandler, meta, { priority: 100 }));
273
+ }
274
+ return decoration_1.Decoration.for(constants_1.FabricModelKeys.MIRROR)
275
+ .define({
276
+ decorator: mirror,
277
+ args: [collection, mspId, cond],
278
+ })
279
+ .apply();
280
+ }
281
+ const ModelCollection = (model, mspId) => {
282
+ const orgName = mspId || (typeof model !== "function" ? decorator_validation_1.Model.ownerOf(model) : undefined);
283
+ const constr = typeof model === "function" ? model : model.constructor;
284
+ if (!orgName)
285
+ throw new db_decorators_1.InternalError(`Model ${constr.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);
286
+ return `${(0, logging_1.toPascalCase)(constr.name)}${orgName ? (0, logging_1.toPascalCase)(orgName) : ""}`;
287
+ };
288
+ exports.ModelCollection = ModelCollection;
289
+ function NamespaceCollection(namespace) {
290
+ return (model, mspId) => {
291
+ const orgName = mspId || (typeof model !== "function" ? decorator_validation_1.Model.ownerOf(model) : undefined);
292
+ const constr = typeof model === "function" ? model : model.constructor;
293
+ if (!orgName)
294
+ throw new db_decorators_1.InternalError(`Model ${constr.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);
295
+ return `${namespace}${orgName ? (0, logging_1.toPascalCase)(orgName) : ""}`;
296
+ };
297
+ }
298
+ const ImplicitPrivateCollection = (model, mspId) => {
299
+ const orgName = mspId || (typeof model !== "function" ? decorator_validation_1.Model.ownerOf(model) : undefined);
300
+ if (!orgName)
301
+ throw new db_decorators_1.InternalError(`Model ${model.constructor.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);
302
+ return `__${(0, logging_1.toPascalCase)(orgName)}PrivateCollection`;
303
+ };
304
+ exports.ImplicitPrivateCollection = ImplicitPrivateCollection;
305
+ /**
306
+ * @description Priority for early collection extraction (before pk generation at priority 60)
307
+ * @summary This priority ensures collections are registered in context before any sequence
308
+ * operations occur, allowing sequences to be replicated to private/shared collections.
309
+ */
310
+ exports.SEGREGATED_COLLECTION_EXTRACTION_PRIORITY = 35;
311
+ function applySegregationFlags(clazz, collections, ctx) {
312
+ // Register collections early using readFrom - this allows sequence code
313
+ // to know which collections to replicate to during pk generation
314
+ if (collections.length > 0) {
315
+ ctx.readFrom(collections);
316
+ }
317
+ // Check if model is fully segregated (all non-pk properties are private/shared/transient).
318
+ // Use Model.segregate() which is the canonical way to determine what's transient,
319
+ // rather than reading DBKeys.TRANSIENT metadata which may not accumulate correctly
320
+ // when class-level @privateData applies decorators iteratively.
321
+ if (!ctx.isFullySegregated && collections.length) {
322
+ if (!hasPublicProperties(clazz.constructor)) {
323
+ ctx.markFullySegregated();
324
+ }
325
+ }
326
+ }
327
+ async function applyMirrorFlags(clazz, msp, ctx) {
328
+ if (!msp)
329
+ return;
330
+ const mirrorMeta = decorator_validation_1.Model.mirroredAt(clazz);
331
+ if (!mirrorMeta)
332
+ return;
333
+ const matches = msp === mirrorMeta.mspId ||
334
+ (mirrorMeta.condition && mirrorMeta.condition(msp));
335
+ if (!matches)
336
+ return;
337
+ const collection = await evalMirrorMetadata(new clazz(), mirrorMeta.resolver, ctx);
338
+ // Mirror MSP matches — route reads exclusively through the mirror
339
+ // collection. Clear any previously registered collections so queries
340
+ // go ONLY to the mirror, not to the regular private/shared ones.
341
+ ctx.put("segregateRead", undefined);
342
+ ctx.put("segregateReadStack", undefined);
343
+ ctx.put("fullySegregated", true);
344
+ ctx.put("mirror", true);
345
+ ctx.put("mirrorCollection", collection);
346
+ ctx.readFrom(collection);
347
+ }
348
+ function hasPublicProperties(clazz) {
349
+ const attributes = decoration_1.Metadata.getAttributes(clazz) || [];
350
+ const pk = decorator_validation_1.Model.pk(clazz);
351
+ const transientMeta = decoration_1.Metadata.get(clazz, db_decorators_1.DBKeys.TRANSIENT) || {};
352
+ const privateMeta = decoration_1.Metadata.get(clazz, decoration_1.Metadata.key(constants_1.FabricModelKeys.PRIVATE)) || {};
353
+ const sharedMeta = decoration_1.Metadata.get(clazz, decoration_1.Metadata.key(constants_1.FabricModelKeys.SHARED)) || {};
354
+ return attributes.some((attr) => {
355
+ if (attr === pk)
356
+ return false;
357
+ if (attr in transientMeta)
358
+ return false;
359
+ if (attr in privateMeta)
360
+ return false;
361
+ if (attr in sharedMeta)
362
+ return false;
363
+ return true;
364
+ });
365
+ }
366
+ /**
367
+ * @description Early handler to extract and register collections in context
368
+ * @summary Runs with priority < 40 to extract collection names before pk generation (priority 60).
369
+ * This allows FabricContractSequence to know which collections to replicate to.
370
+ * @template M - Type that extends Model
371
+ * @param {ContextOf<Repository<M, any>>} context - The execution context
372
+ * @param {SegregatedDataMetadata | SegregatedDataMetadata[]} data - The segregated data metadata
373
+ * @param {string | string[]} keys - The property key(s) being segregated
374
+ * @param {M} model - The model instance
375
+ * @return {Promise<void>}
376
+ */
377
+ async function extractSegregatedCollections(context, data, keys, model) {
378
+ const dataArray = (Array.isArray(data) ? data : [data]);
379
+ const m = context.getOrUndefined("allowGenerationOverride") || false
380
+ ? context.getOrUndefined("ownerOverride")
381
+ : undefined;
382
+ const msp = m || decorator_validation_1.Model.ownerOf(model) || extractMspId(context.get("identity"));
383
+ if (!msp) {
384
+ // Can't extract collections without MSP, will be caught by later handlers
385
+ return;
386
+ }
387
+ const collections = [];
388
+ for (const metadata of dataArray) {
389
+ const collectionResolver = metadata.collections;
390
+ const collection = typeof collectionResolver === "string"
391
+ ? collectionResolver
392
+ : collectionResolver(model, msp, context);
393
+ if (collection && !collections.includes(collection)) {
394
+ collections.push(collection);
395
+ }
396
+ }
397
+ applySegregationFlags(model, collections, context);
398
+ // Store segregation metadata per-sequence so FabricContractSequence can decide
399
+ // where to store/replicate sequence records (public vs private/shared).
400
+ //
401
+ // - `@pk()` sequences use the shared name `${table}_pk` (no id component).
402
+ // - `@sequence()` / persistent `@version(true)` sequences are per-model-instance:
403
+ // `${table}_${id}_${property}`.
404
+ const keyArray = (Array.isArray(keys) ? keys : [keys]);
405
+ const pkKey = decorator_validation_1.Model.pk(model.constructor);
406
+ const pkSeqName = decorator_validation_1.Model.sequenceName(model, "pk");
407
+ const idValue = model[pkKey];
408
+ const canBuildPerInstance = typeof idValue !== "undefined" && idValue !== null;
409
+ // Always union collections for the pk sequence when the model uses segregated data.
410
+ context.setSequenceSegregation(pkSeqName, context.isFullySegregated, collections);
411
+ // For per-property sequences, only register when we can compute an id-scoped name.
412
+ // This keeps sequences constrained to the collections the attribute exists in.
413
+ if (canBuildPerInstance) {
414
+ for (const k of keyArray) {
415
+ const propSeqName = decorator_validation_1.Model.sequenceName(model, String(idValue), String(k));
416
+ context.setSequenceSegregation(propSeqName, context.isFullySegregated, collections);
417
+ }
418
+ }
419
+ }
420
+ async function segregatedDataOnCreate(context, data, keys, model) {
421
+ const dataArray = (Array.isArray(data) ? data : [data]);
422
+ const keyArray = (Array.isArray(keys) ? keys : [keys]);
423
+ if (keyArray.length !== dataArray.length)
424
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
425
+ const msp = decorator_validation_1.Model.ownerOf(model) ||
426
+ extractMspId(context.get("identity"));
427
+ if (!msp)
428
+ throw new db_decorators_1.ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
429
+ const collectionResolver = dataArray[0].collections;
430
+ const collection = typeof collectionResolver === "string"
431
+ ? collectionResolver
432
+ : collectionResolver(model, msp, context);
433
+ // Validate all keys resolve to the same collection
434
+ keyArray.forEach((_k, i) => {
435
+ const c = typeof dataArray[i].collections === "string"
436
+ ? dataArray[i].collections
437
+ : dataArray[i].collections(model, msp, context);
438
+ if (c !== collection)
439
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
440
+ });
441
+ const keyStrings = keyArray.map((key) => String(key));
442
+ // Store the segregated model — prepare() will filter to collection-specific fields
443
+ context.writeTo(collection, keyStrings);
444
+ }
445
+ async function segregatedDataOnRead(context, data, keys, model) {
446
+ const dataArray = (Array.isArray(data) ? data : [data]);
447
+ const keyArray = (Array.isArray(keys) ? keys : [keys]);
448
+ if (keyArray.length !== dataArray.length)
449
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
450
+ const m = context.getOrUndefined("allowGenerationOverride") || false
451
+ ? context.getOrUndefined("ownerOverride")
452
+ : undefined;
453
+ const msp = m || decorator_validation_1.Model.ownerOf(model) || extractMspId(context.get("identity"));
454
+ if (!msp)
455
+ throw new db_decorators_1.ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
456
+ const collectionResolver = dataArray[0].collections;
457
+ const collection = typeof collectionResolver === "string"
458
+ ? collectionResolver
459
+ : await collectionResolver(model, msp, context);
460
+ context.readFrom(collection);
461
+ }
462
+ async function segregatedDataOnUpdate(context, data, key, model,
463
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
464
+ oldModel) {
465
+ const dataArray = (Array.isArray(data) ? data : [data]);
466
+ const keyArray = (Array.isArray(key) ? key : [key]);
467
+ if (keyArray.length !== dataArray.length)
468
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
469
+ const msp = decorator_validation_1.Model.ownerOf(model) ||
470
+ extractMspId(context.get("identity"));
471
+ if (!msp)
472
+ throw new db_decorators_1.ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
473
+ const collectionResolver = dataArray[0].collections;
474
+ const collection = typeof collectionResolver === "string"
475
+ ? collectionResolver
476
+ : collectionResolver(model, msp, context);
477
+ keyArray.forEach((k, i) => {
478
+ const c = typeof dataArray[i].collections === "string"
479
+ ? dataArray[i].collections
480
+ : dataArray[i].collections(model, msp, context);
481
+ if (c !== collection)
482
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
483
+ });
484
+ const keyStrings = keyArray.map((key) => String(key));
485
+ // Store the original model — prepare() will filter to collection-specific fields
486
+ context.writeTo(collection, keyStrings);
487
+ }
488
+ async function segregatedDataOnDelete(context, data, key, model) {
489
+ const dataArray = (Array.isArray(data) ? data : [data]);
490
+ const keyArray = (Array.isArray(key) ? key : [key]);
491
+ if (keyArray.length !== dataArray.length)
492
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
493
+ const m = context.getOrUndefined("allowGenerationOverride") || false
494
+ ? context.getOrUndefined("ownerOverride")
495
+ : undefined;
496
+ const msp = m ||
497
+ decorator_validation_1.Model.ownerOf(model) ||
498
+ extractMspId(context.get("identity"));
499
+ if (!msp)
500
+ throw new db_decorators_1.ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
501
+ const collectionResolver = dataArray[0].collections;
502
+ const collection = typeof collectionResolver === "string"
503
+ ? collectionResolver
504
+ : collectionResolver(model, msp, context);
505
+ context.readFrom(collection);
506
+ }
507
+ function segregated(collection, type, filter) {
508
+ return function innerSegregated(target, propertyKey) {
509
+ function segregatedDec(target, propertyKey) {
510
+ const key = decoration_1.Metadata.key(type, propertyKey);
511
+ const constr = target.constructor;
512
+ const meta = decoration_1.Metadata.get(constr, key) || {};
513
+ const collections = new Set(meta.collections || []);
514
+ collections.add(collection);
515
+ meta.collections = [...collections];
516
+ decoration_1.Metadata.set(constr, key, meta);
517
+ const constrMeta = decoration_1.Metadata.get(constr, type) || {};
518
+ const constrCollections = new Set(constrMeta.collections || []);
519
+ constrCollections.add(collection);
520
+ constrMeta.collections = [...constrCollections];
521
+ decoration_1.Metadata.set(constr, type, constrMeta);
522
+ const transientMeta = decoration_1.Metadata.get(constr, db_decorators_1.DBKeys.TRANSIENT) || {};
523
+ const updatedTransientMeta = {
524
+ ...transientMeta,
525
+ [propertyKey]: {},
526
+ };
527
+ decoration_1.Metadata.set(constr, db_decorators_1.DBKeys.TRANSIENT, updatedTransientMeta);
528
+ }
529
+ const decs = [];
530
+ if (!propertyKey) {
531
+ // decorated at the class level
532
+ const properties = decoration_1.Metadata.getAttributes(target);
533
+ properties?.forEach((p) => {
534
+ if (!filter || filter(p)) {
535
+ segregated(collection, type)(target.prototype, p);
536
+ }
537
+ });
538
+ return target;
539
+ }
540
+ else {
541
+ const groupName = typeof collection === "string" ? collection : collection.toString();
542
+ // Use different group names for extraction vs data handlers to prevent merging
543
+ const extractGroupName = `${groupName}:extract`;
544
+ const dataGroupName = `${groupName}:data`;
545
+ const earlyExtractionMeta = { collections: collection };
546
+ const earlyExtractionGroupSort = {
547
+ priority: exports.SEGREGATED_COLLECTION_EXTRACTION_PRIORITY,
548
+ group: extractGroupName,
549
+ };
550
+ decs.push((0, decoration_1.prop)(), (0, db_decorators_1.transient)(), segregatedDec,
551
+ // Early extraction handlers - run BEFORE pk generation (priority 60)
552
+ // This ensures collections are registered in context for sequence replication
553
+ // We register for each operation explicitly to ensure proper handler lookup
554
+ (0, db_decorators_1.on)(db_decorators_1.DBOperations.ALL, extractSegregatedCollections, earlyExtractionMeta, earlyExtractionGroupSort),
555
+ // Main handlers for segregated data operations (priority 95)
556
+ (0, db_decorators_1.onCreate)(segregatedDataOnCreate, { collections: collection }, {
557
+ priority: 95,
558
+ group: dataGroupName,
559
+ }), (0, db_decorators_1.onRead)(segregatedDataOnRead, { collections: collection }, {
560
+ priority: 95,
561
+ group: dataGroupName,
562
+ }), (0, db_decorators_1.onUpdate)(segregatedDataOnUpdate, { collections: collection }, {
563
+ priority: 95,
564
+ group: dataGroupName,
565
+ }), (0, db_decorators_1.onDelete)(segregatedDataOnDelete, { collections: collection }, {
566
+ priority: 95,
567
+ group: dataGroupName,
568
+ }));
569
+ }
570
+ return (0, decoration_1.apply)(...decs)(target, propertyKey);
571
+ };
572
+ }
573
+ function privateData(collection = exports.ImplicitPrivateCollection) {
574
+ function privateData(collection) {
575
+ return segregated(collection, constants_1.FabricModelKeys.PRIVATE);
576
+ }
577
+ return decoration_1.Decoration.for(constants_1.FabricModelKeys.PRIVATE)
578
+ .define({
579
+ decorator: privateData,
580
+ args: [collection],
581
+ })
582
+ .apply();
583
+ }
584
+ function sharedData(collection) {
585
+ function sharedData(collection) {
586
+ return segregated(collection, constants_1.FabricModelKeys.SHARED);
587
+ }
588
+ return decoration_1.Decoration.for(constants_1.FabricModelKeys.SHARED)
589
+ .define({
590
+ decorator: sharedData,
591
+ args: [collection],
592
+ })
593
+ .apply();
594
+ }
595
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/shared/decorators.ts"],"names":[],"mappings":"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"}