@decaf-ts/for-fabric 0.1.74 → 0.1.76

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 (141) 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/cli-module.cjs +43 -13
  6. package/lib/cli-module.js.map +1 -1
  7. package/lib/cli-utils.cjs +10 -4
  8. package/lib/cli-utils.d.ts +2 -2
  9. package/lib/cli-utils.js.map +1 -1
  10. package/lib/client/FabricClientAdapter.cjs +36 -1
  11. package/lib/client/FabricClientAdapter.d.ts +12 -1
  12. package/lib/client/FabricClientAdapter.js.map +1 -1
  13. package/lib/client/FabricClientRepository.cjs +36 -0
  14. package/lib/client/FabricClientRepository.d.ts +7 -0
  15. package/lib/client/FabricClientRepository.js.map +1 -1
  16. package/lib/client/FabricClientStatement.cjs +321 -18
  17. package/lib/client/FabricClientStatement.d.ts +52 -1
  18. package/lib/client/FabricClientStatement.js.map +1 -1
  19. package/lib/client/collections/generation.cjs +7 -0
  20. package/lib/client/collections/generation.d.ts +2 -0
  21. package/lib/client/collections/generation.js.map +1 -1
  22. package/lib/client/fabric-fs.d.ts +1 -1
  23. package/lib/client/indexes/generation.cjs +37 -79
  24. package/lib/client/indexes/generation.d.ts +5 -12
  25. package/lib/client/indexes/generation.js.map +1 -1
  26. package/lib/client/utils.d.ts +1 -1
  27. package/lib/contract/Product.cjs +1 -1
  28. package/lib/contract/Product.js.map +1 -1
  29. package/lib/contract/SegregatedPrivateDocumentContract.cjs +30 -0
  30. package/lib/contract/SegregatedPrivateDocumentContract.d.ts +5 -0
  31. package/lib/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  32. package/lib/contract/SegregatedSharedDocumentContract.cjs +30 -0
  33. package/lib/contract/SegregatedSharedDocumentContract.d.ts +5 -0
  34. package/lib/contract/SegregatedSharedDocumentContract.js.map +1 -0
  35. package/lib/contract/User.cjs +1 -1
  36. package/lib/contract/User.js.map +1 -1
  37. package/lib/contract/index.cjs +4 -0
  38. package/lib/contract/index.js.map +1 -1
  39. package/lib/contract/models/Market.cjs +1 -1
  40. package/lib/contract/models/Market.js.map +1 -1
  41. package/lib/contract/models/OtherProductShared.cjs +2 -2
  42. package/lib/contract/models/OtherProductShared.js.map +1 -1
  43. package/lib/contract/models/SegregatedDocument.cjs +94 -0
  44. package/lib/contract/models/SegregatedDocument.d.ts +18 -0
  45. package/lib/contract/models/SegregatedDocument.js.map +1 -0
  46. package/lib/contracts/ContractAdapter.cjs +177 -25
  47. package/lib/contracts/ContractAdapter.d.ts +8 -1
  48. package/lib/contracts/ContractAdapter.js.map +1 -1
  49. package/lib/contracts/ContractContext.cjs +29 -0
  50. package/lib/contracts/ContractContext.d.ts +16 -0
  51. package/lib/contracts/ContractContext.js.map +1 -1
  52. package/lib/contracts/FabricContractSequence.cjs +44 -0
  53. package/lib/contracts/FabricContractSequence.d.ts +10 -0
  54. package/lib/contracts/FabricContractSequence.js.map +1 -1
  55. package/lib/contracts/FabricContractStatement.cjs +1 -86
  56. package/lib/contracts/FabricContractStatement.d.ts +2 -4
  57. package/lib/contracts/FabricContractStatement.js.map +1 -1
  58. package/lib/contracts/crud/crud-contract.cjs +35 -0
  59. package/lib/contracts/crud/crud-contract.d.ts +7 -0
  60. package/lib/contracts/crud/crud-contract.js.map +1 -1
  61. package/lib/contracts/crud/serialized-crud-contract.cjs +63 -0
  62. package/lib/contracts/crud/serialized-crud-contract.d.ts +7 -0
  63. package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
  64. package/lib/contracts/types.d.ts +2 -1
  65. package/lib/esm/cli-module.js +45 -15
  66. package/lib/esm/cli-module.js.map +1 -1
  67. package/lib/esm/cli-utils.d.ts +2 -2
  68. package/lib/esm/cli-utils.js +10 -4
  69. package/lib/esm/cli-utils.js.map +1 -1
  70. package/lib/esm/client/FabricClientAdapter.d.ts +12 -1
  71. package/lib/esm/client/FabricClientAdapter.js +36 -1
  72. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  73. package/lib/esm/client/FabricClientRepository.d.ts +7 -0
  74. package/lib/esm/client/FabricClientRepository.js +36 -0
  75. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  76. package/lib/esm/client/FabricClientStatement.d.ts +52 -1
  77. package/lib/esm/client/FabricClientStatement.js +323 -20
  78. package/lib/esm/client/FabricClientStatement.js.map +1 -1
  79. package/lib/esm/client/collections/generation.d.ts +2 -0
  80. package/lib/esm/client/collections/generation.js +6 -0
  81. package/lib/esm/client/collections/generation.js.map +1 -1
  82. package/lib/esm/client/fabric-fs.d.ts +1 -1
  83. package/lib/esm/client/indexes/generation.d.ts +5 -12
  84. package/lib/esm/client/indexes/generation.js +36 -80
  85. package/lib/esm/client/indexes/generation.js.map +1 -1
  86. package/lib/esm/client/utils.d.ts +1 -1
  87. package/lib/esm/contract/Product.js +1 -1
  88. package/lib/esm/contract/Product.js.map +1 -1
  89. package/lib/esm/contract/SegregatedPrivateDocumentContract.d.ts +5 -0
  90. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +27 -0
  91. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  92. package/lib/esm/contract/SegregatedSharedDocumentContract.d.ts +5 -0
  93. package/lib/esm/contract/SegregatedSharedDocumentContract.js +27 -0
  94. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  95. package/lib/esm/contract/User.js +1 -1
  96. package/lib/esm/contract/User.js.map +1 -1
  97. package/lib/esm/contract/index.js +4 -0
  98. package/lib/esm/contract/index.js.map +1 -1
  99. package/lib/esm/contract/models/Market.js +1 -1
  100. package/lib/esm/contract/models/Market.js.map +1 -1
  101. package/lib/esm/contract/models/OtherProductShared.js +4 -4
  102. package/lib/esm/contract/models/OtherProductShared.js.map +1 -1
  103. package/lib/esm/contract/models/SegregatedDocument.d.ts +18 -0
  104. package/lib/esm/contract/models/SegregatedDocument.js +91 -0
  105. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  106. package/lib/esm/contracts/ContractAdapter.d.ts +8 -1
  107. package/lib/esm/contracts/ContractAdapter.js +178 -26
  108. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  109. package/lib/esm/contracts/ContractContext.d.ts +16 -0
  110. package/lib/esm/contracts/ContractContext.js +29 -0
  111. package/lib/esm/contracts/ContractContext.js.map +1 -1
  112. package/lib/esm/contracts/FabricContractSequence.d.ts +10 -0
  113. package/lib/esm/contracts/FabricContractSequence.js +44 -0
  114. package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
  115. package/lib/esm/contracts/FabricContractStatement.d.ts +2 -4
  116. package/lib/esm/contracts/FabricContractStatement.js +1 -86
  117. package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
  118. package/lib/esm/contracts/crud/crud-contract.d.ts +7 -0
  119. package/lib/esm/contracts/crud/crud-contract.js +35 -0
  120. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  121. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +7 -0
  122. package/lib/esm/contracts/crud/serialized-crud-contract.js +63 -0
  123. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
  124. package/lib/esm/contracts/types.d.ts +2 -1
  125. package/lib/esm/shared/decorators.d.ts +23 -4
  126. package/lib/esm/shared/decorators.js +147 -53
  127. package/lib/esm/shared/decorators.js.map +1 -1
  128. package/lib/esm/shared/overrides/overrides.js +20 -13
  129. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  130. package/lib/esm/shared/types.d.ts +2 -0
  131. package/lib/esm/version.d.ts +1 -1
  132. package/lib/esm/version.js +1 -1
  133. package/lib/shared/decorators.cjs +149 -53
  134. package/lib/shared/decorators.d.ts +23 -4
  135. package/lib/shared/decorators.js.map +1 -1
  136. package/lib/shared/overrides/overrides.cjs +20 -13
  137. package/lib/shared/overrides/overrides.js.map +1 -1
  138. package/lib/shared/types.d.ts +2 -0
  139. package/lib/version.cjs +1 -1
  140. package/lib/version.d.ts +1 -1
  141. package/package.json +3 -5
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FabricClientStatement = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
6
+ const for_couchdb_1 = require("@decaf-ts/for-couchdb");
5
7
  const logging_1 = require("@decaf-ts/logging");
6
8
  const db_decorators_1 = require("@decaf-ts/db-decorators");
9
+ const decoration_1 = require("@decaf-ts/decoration");
7
10
  class FabricClientStatement extends core_1.Statement {
8
11
  constructor(adapter, overrides) {
9
12
  super(adapter, overrides);
@@ -63,30 +66,330 @@ class FabricClientStatement extends core_1.Statement {
63
66
  }
64
67
  if (this.selectSelector)
65
68
  method.push(core_1.QueryClause.SELECT, this.selectSelector.join(` ${core_1.QueryClause.AND.toLowerCase()} `));
66
- if (this.orderBySelector) {
67
- method.push(core_1.QueryClause.ORDER_BY, this.orderBySelector[0]);
68
- args.push(this.orderBySelector[1]);
69
- }
70
- // if (this.groupBySelector)
71
- // method.push(QueryClause.GROUP_BY, this.groupBySelector as string);
72
- // if (this.limitSelector) params.limit = this.limitSelector;
73
- // if (this.offsetSelector) {
74
- // params.skip = this.offsetSelector;
75
- // }
69
+ if (this.orderBySelectors?.length) {
70
+ method.push(core_1.QueryClause.ORDER_BY, this.orderBySelectors[0][0]);
71
+ args.push(this.orderBySelectors[0][1]);
72
+ }
76
73
  prepared.method = (0, logging_1.toCamelCase)(method.join(" "));
77
74
  prepared.params = params;
78
75
  this.prepared = prepared;
79
76
  return this;
80
77
  }
78
+ /**
79
+ * @description Processes a record from CouchDB/Fabric
80
+ * @summary Extracts the ID from a CouchDB document and reverts it to a model instance
81
+ */
82
+ processRecord(r, pkAttr, sequenceType, ctx) {
83
+ if (r[for_couchdb_1.CouchDBKeys.ID]) {
84
+ const [, ...keyArgs] = r[for_couchdb_1.CouchDBKeys.ID].split(for_couchdb_1.CouchDBKeys.SEPARATOR);
85
+ const id = keyArgs.join("_");
86
+ return this.adapter.revert(r, this.fromSelector, core_1.Sequence.parseValue(sequenceType, id), undefined, ctx);
87
+ }
88
+ return r;
89
+ }
90
+ /**
91
+ * @description Executes a raw Mango query
92
+ * @summary Sends a raw Mango query to Fabric and processes the results
93
+ */
94
+ async raw(rawInput, ...args) {
95
+ const { ctx } = this.logCtx(args, this.raw);
96
+ const aggregator = rawInput?.aggregateInfo;
97
+ if (rawInput?.aggregate && aggregator) {
98
+ return this.executeAggregate(aggregator, ctx);
99
+ }
100
+ const results = await this.adapter.raw(rawInput, true, this.fromSelector, ctx);
101
+ const pkAttr = decorator_validation_1.Model.pk(this.fromSelector);
102
+ const type = decoration_1.Metadata.get(this.fromSelector, decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, pkAttr))?.type;
103
+ if (!this.selectSelector)
104
+ return results.map((r) => this.processRecord(r, pkAttr, type, ctx));
105
+ return results;
106
+ }
107
+ /**
108
+ * @description Builds a CouchDB Mango query from the statement
109
+ * @summary Converts the statement's conditions, selectors, and options into a CouchDB Mango query
110
+ */
81
111
  build() {
82
- throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required`);
83
- }
84
- parseCondition(
85
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
86
- condition,
87
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
88
- ...args) {
89
- throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required`);
112
+ const log = this.log.for(this.build);
113
+ const aggregateQuery = this.buildAggregateQuery();
114
+ if (aggregateQuery)
115
+ return aggregateQuery;
116
+ const selectors = {};
117
+ selectors[for_couchdb_1.CouchDBKeys.TABLE] = {};
118
+ selectors[for_couchdb_1.CouchDBKeys.TABLE] = decorator_validation_1.Model.tableName(this.fromSelector);
119
+ const query = { selector: selectors };
120
+ if (this.selectSelector)
121
+ query.fields = this.selectSelector;
122
+ if (this.whereCondition) {
123
+ const condition = this.parseCondition(core_1.Condition.and(this.whereCondition, core_1.Condition.attribute(for_couchdb_1.CouchDBKeys.TABLE).eq(query.selector[for_couchdb_1.CouchDBKeys.TABLE]))).selector;
124
+ const selectorKeys = Object.keys(condition);
125
+ if (selectorKeys.length === 1 &&
126
+ Object.values(for_couchdb_1.CouchDBGroupOperator).indexOf(selectorKeys[0]) !== -1)
127
+ switch (selectorKeys[0]) {
128
+ case for_couchdb_1.CouchDBGroupOperator.AND:
129
+ condition[for_couchdb_1.CouchDBGroupOperator.AND] = [
130
+ ...Object.values(condition[for_couchdb_1.CouchDBGroupOperator.AND]).reduce((accum, val) => {
131
+ const keys = Object.keys(val);
132
+ if (keys.length !== 1)
133
+ throw new Error("Too many keys in query selector. should be one");
134
+ const k = keys[0];
135
+ if (k === for_couchdb_1.CouchDBGroupOperator.AND)
136
+ accum.push(...val[k]);
137
+ else
138
+ accum.push(val);
139
+ return accum;
140
+ }, []),
141
+ ];
142
+ query.selector = condition;
143
+ break;
144
+ case for_couchdb_1.CouchDBGroupOperator.OR: {
145
+ const s = {};
146
+ s[for_couchdb_1.CouchDBGroupOperator.AND] = [
147
+ condition,
148
+ ...Object.entries(query.selector).map(([key, val]) => {
149
+ const result = {};
150
+ result[key] = val;
151
+ return result;
152
+ }),
153
+ ];
154
+ query.selector = s;
155
+ break;
156
+ }
157
+ default:
158
+ throw new Error("This should be impossible");
159
+ }
160
+ else {
161
+ Object.entries(condition).forEach(([key, val]) => {
162
+ if (query.selector[key])
163
+ log.warn(`A ${key} query param is about to be overridden: ${query.selector[key]} by ${val}`);
164
+ query.selector[key] = val;
165
+ });
166
+ }
167
+ }
168
+ if (this.orderBySelectors?.length) {
169
+ query.sort = query.sort || [];
170
+ query.selector = query.selector || {};
171
+ for (const [selectorKey, direction] of this.orderBySelectors) {
172
+ const selector = selectorKey;
173
+ const rec = {};
174
+ rec[selector] = direction;
175
+ query.sort.push(rec);
176
+ if (!query.selector[selector]) {
177
+ query.selector[selector] = {};
178
+ query.selector[selector][for_couchdb_1.CouchDBOperator.BIGGER] =
179
+ null;
180
+ }
181
+ }
182
+ }
183
+ if (this.limitSelector) {
184
+ query.limit = this.limitSelector;
185
+ }
186
+ else {
187
+ log.warn(`No limit selector defined. Using default couchdb limit of ${for_couchdb_1.CouchDBQueryLimit}`);
188
+ query.limit = for_couchdb_1.CouchDBQueryLimit;
189
+ }
190
+ if (this.offsetSelector)
191
+ query.skip = this.offsetSelector;
192
+ return query;
193
+ }
194
+ /**
195
+ * @description Parses a condition into a CouchDB Mango query selector
196
+ * @summary Converts a Condition object into a CouchDB Mango query selector structure
197
+ */
198
+ parseCondition(condition) {
199
+ function merge(op, obj1, obj2) {
200
+ const result = { selector: {} };
201
+ result.selector[op] = [obj1, obj2];
202
+ return result;
203
+ }
204
+ const { attr1, operator, comparison } = condition;
205
+ if (operator === core_1.Operator.BETWEEN) {
206
+ const attr = attr1;
207
+ if (!Array.isArray(comparison) || comparison.length !== 2)
208
+ throw new core_1.QueryError("BETWEEN operator requires [min, max] comparison");
209
+ const [min, max] = comparison;
210
+ const opBetween = {};
211
+ opBetween[attr] = {};
212
+ opBetween[attr][(0, for_couchdb_1.translateOperators)(core_1.Operator.BIGGER_EQ)] = min;
213
+ opBetween[attr][(0, for_couchdb_1.translateOperators)(core_1.Operator.SMALLER_EQ)] = max;
214
+ return { selector: opBetween };
215
+ }
216
+ let op = {};
217
+ if ([core_1.GroupOperator.AND, core_1.GroupOperator.OR, core_1.Operator.NOT].indexOf(operator) === -1) {
218
+ op[attr1] = {};
219
+ op[attr1][(0, for_couchdb_1.translateOperators)(operator)] =
220
+ comparison;
221
+ }
222
+ else if (operator === core_1.Operator.NOT) {
223
+ op = this.parseCondition(attr1).selector;
224
+ op[(0, for_couchdb_1.translateOperators)(core_1.Operator.NOT)] = {};
225
+ op[(0, for_couchdb_1.translateOperators)(core_1.Operator.NOT)][attr1.attr1] = comparison;
226
+ }
227
+ else {
228
+ const op1 = this.parseCondition(attr1).selector;
229
+ const op2 = this.parseCondition(comparison).selector;
230
+ op = merge((0, for_couchdb_1.translateOperators)(operator), op1, op2).selector;
231
+ }
232
+ return { selector: op };
233
+ }
234
+ /**
235
+ * @description Builds an aggregate query if aggregation is requested
236
+ * @summary Checks for aggregate operations and returns a special MangoQuery for them
237
+ */
238
+ buildAggregateQuery() {
239
+ if (!this.fromSelector)
240
+ return undefined;
241
+ if (this.avgSelector) {
242
+ const attribute = String(this.avgSelector);
243
+ const sumInfo = this.createAggregateDescriptor("sum", attribute);
244
+ const countInfo = this.createAggregateDescriptor("count", attribute);
245
+ if (!sumInfo || !countInfo)
246
+ throw new core_1.QueryError(`Avg operation requires sum and count views for attribute ${attribute}`);
247
+ return this.createAggregateQuery({
248
+ kind: "avg",
249
+ attribute,
250
+ sumDescriptor: sumInfo.descriptor,
251
+ countDescriptor: countInfo.descriptor,
252
+ });
253
+ }
254
+ if (typeof this.countDistinctSelector !== "undefined") {
255
+ const attribute = this.countDistinctSelector == null
256
+ ? undefined
257
+ : String(this.countDistinctSelector);
258
+ const info = this.createAggregateDescriptor("distinct", attribute);
259
+ if (info) {
260
+ info.countDistinct = true;
261
+ return this.createAggregateQuery(info);
262
+ }
263
+ }
264
+ const aggregatorUsed = typeof this.countSelector !== "undefined" ||
265
+ typeof this.countDistinctSelector !== "undefined" ||
266
+ !!this.minSelector ||
267
+ !!this.maxSelector ||
268
+ !!this.sumSelector ||
269
+ !!this.distinctSelector;
270
+ const aggregatorChecks = [
271
+ [
272
+ "count",
273
+ (this.countSelector ?? undefined),
274
+ ],
275
+ ["max", this.maxSelector],
276
+ ["min", this.minSelector],
277
+ ["sum", this.sumSelector],
278
+ ["distinct", this.distinctSelector],
279
+ ];
280
+ for (const [kind, selector] of aggregatorChecks) {
281
+ const attribute = selector ? String(selector) : undefined;
282
+ const info = this.createAggregateDescriptor(kind, attribute);
283
+ if (info)
284
+ return this.createAggregateQuery(info);
285
+ }
286
+ if (aggregatorUsed) {
287
+ throw new core_1.QueryError(`No CouchDB view metadata found for table ${decorator_validation_1.Model.tableName(this.fromSelector)} aggregator`);
288
+ }
289
+ return undefined;
290
+ }
291
+ /**
292
+ * @description Creates an aggregate descriptor for a view-based aggregation
293
+ */
294
+ createAggregateDescriptor(kind, attribute) {
295
+ if (!this.fromSelector)
296
+ return undefined;
297
+ const metas = (0, for_couchdb_1.findViewMetadata)(this.fromSelector, kind, attribute);
298
+ if (!metas.length)
299
+ return undefined;
300
+ const meta = metas[0];
301
+ const tableName = decorator_validation_1.Model.tableName(this.fromSelector);
302
+ const viewName = (0, for_couchdb_1.generateViewName)(tableName, meta.attribute, kind, meta);
303
+ const ddoc = meta.ddoc || (0, for_couchdb_1.generateDesignDocName)(tableName, viewName);
304
+ const options = {
305
+ reduce: meta.reduce !== undefined ? true : !meta.returnDocs,
306
+ };
307
+ if (kind === "distinct" || kind === "groupBy")
308
+ options.group = true;
309
+ return {
310
+ kind,
311
+ meta,
312
+ descriptor: {
313
+ ddoc,
314
+ view: viewName,
315
+ options,
316
+ },
317
+ };
318
+ }
319
+ /**
320
+ * @description Creates the special aggregate MangoQuery marker
321
+ */
322
+ createAggregateQuery(info) {
323
+ return {
324
+ selector: {},
325
+ aggregate: true,
326
+ aggregateInfo: info,
327
+ };
328
+ }
329
+ /**
330
+ * @description Gets the adapter cast to FabricClientAdapter for view access
331
+ */
332
+ getFabricAdapter() {
333
+ return this.adapter;
334
+ }
335
+ /**
336
+ * @description Executes an aggregate query via adapter's view method
337
+ */
338
+ async executeAggregate(info, ctx) {
339
+ if (!this.isViewAggregate(info)) {
340
+ return this.handleAverage(info, ctx);
341
+ }
342
+ const fabricAdapter = this.getFabricAdapter();
343
+ const viewInfo = info;
344
+ const response = await fabricAdapter.view(viewInfo.descriptor.ddoc, viewInfo.descriptor.view, viewInfo.descriptor.options, ctx);
345
+ return this.processViewResponse(info, response);
346
+ }
347
+ /**
348
+ * @description Handles average calculation from sum and count views
349
+ */
350
+ async handleAverage(info, ctx) {
351
+ if (info.kind !== "avg")
352
+ throw new core_1.QueryError("Average descriptor is not valid");
353
+ const fabricAdapter = this.getFabricAdapter();
354
+ const [sumDesc, countDesc] = [info.sumDescriptor, info.countDescriptor];
355
+ const [sumResponse, countResponse] = await Promise.all([
356
+ fabricAdapter.view(sumDesc.ddoc, sumDesc.view, sumDesc.options, ctx),
357
+ fabricAdapter.view(countDesc.ddoc, countDesc.view, countDesc.options, ctx),
358
+ ]);
359
+ const sum = sumResponse.rows?.[0]?.value ?? 0;
360
+ const count = countResponse.rows?.[0]?.value ?? 0;
361
+ if (!count)
362
+ return 0;
363
+ return (sum / count);
364
+ }
365
+ /**
366
+ * @description Processes the view response based on aggregate kind
367
+ */
368
+ processViewResponse(info, response) {
369
+ if (info.kind === "avg")
370
+ throw new core_1.QueryError("Average results should be handled before processing rows");
371
+ const rows = response.rows || [];
372
+ const viewInfo = info;
373
+ const meta = viewInfo.meta;
374
+ if (viewInfo.countDistinct) {
375
+ return (rows.length || 0);
376
+ }
377
+ if (viewInfo.kind === "distinct" || viewInfo.kind === "groupBy") {
378
+ return rows.map((row) => row.key ?? row.value);
379
+ }
380
+ if (meta.returnDocs) {
381
+ return rows.map((row) => row.value ?? row.doc ?? row);
382
+ }
383
+ if (!rows.length) {
384
+ return (viewInfo.kind === "count" ? 0 : null);
385
+ }
386
+ return (rows[0].value ?? rows[0].key ?? null);
387
+ }
388
+ /**
389
+ * @description Type guard to check if info is a view-based aggregate
390
+ */
391
+ isViewAggregate(info) {
392
+ return info.kind !== "avg";
90
393
  }
91
394
  }
92
395
  exports.FabricClientStatement = FabricClientStatement;
@@ -8,6 +8,57 @@ export declare class FabricClientStatement<M extends Model, R> extends Statement
8
8
  protected squash(ctx: Context<FabricClientFlags>): PreparedStatement<any> | undefined;
9
9
  protected executePrepared(...argz: MaybeContextualArg<Context<FabricClientFlags>>): Promise<R>;
10
10
  prepare(ctx?: Context<FabricClientFlags>): Promise<StatementExecutor<M, R>>;
11
+ /**
12
+ * @description Processes a record from CouchDB/Fabric
13
+ * @summary Extracts the ID from a CouchDB document and reverts it to a model instance
14
+ */
15
+ protected processRecord(r: any, pkAttr: keyof M, sequenceType: "Number" | "BigInt" | undefined, ctx: Context<FabricClientFlags>): any;
16
+ /**
17
+ * @description Executes a raw Mango query
18
+ * @summary Sends a raw Mango query to Fabric and processes the results
19
+ */
20
+ raw<R>(rawInput: MangoQuery, ...args: any[]): Promise<R>;
21
+ /**
22
+ * @description Builds a CouchDB Mango query from the statement
23
+ * @summary Converts the statement's conditions, selectors, and options into a CouchDB Mango query
24
+ */
11
25
  protected build(): MangoQuery;
12
- protected parseCondition(condition: Condition<M>, ...args: any[]): MangoQuery;
26
+ /**
27
+ * @description Parses a condition into a CouchDB Mango query selector
28
+ * @summary Converts a Condition object into a CouchDB Mango query selector structure
29
+ */
30
+ protected parseCondition(condition: Condition<M>): MangoQuery;
31
+ /**
32
+ * @description Builds an aggregate query if aggregation is requested
33
+ * @summary Checks for aggregate operations and returns a special MangoQuery for them
34
+ */
35
+ private buildAggregateQuery;
36
+ /**
37
+ * @description Creates an aggregate descriptor for a view-based aggregation
38
+ */
39
+ private createAggregateDescriptor;
40
+ /**
41
+ * @description Creates the special aggregate MangoQuery marker
42
+ */
43
+ private createAggregateQuery;
44
+ /**
45
+ * @description Gets the adapter cast to FabricClientAdapter for view access
46
+ */
47
+ private getFabricAdapter;
48
+ /**
49
+ * @description Executes an aggregate query via adapter's view method
50
+ */
51
+ private executeAggregate;
52
+ /**
53
+ * @description Handles average calculation from sum and count views
54
+ */
55
+ private handleAverage;
56
+ /**
57
+ * @description Processes the view response based on aggregate kind
58
+ */
59
+ private processViewResponse;
60
+ /**
61
+ * @description Type guard to check if info is a view-based aggregate
62
+ */
63
+ private isViewAggregate;
13
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FabricClientStatement.js","sourceRoot":"","sources":["../../src/client/FabricClientStatement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FabricClientStatement.js","sourceRoot":"","sources":["../../src/client/FabricClientStatement.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ exports.privateCollectionFor = privateCollectionFor;
5
5
  exports.sharedCollectionFor = sharedCollectionFor;
6
6
  exports.extractCollections = extractCollections;
7
7
  exports.writeCollections = writeCollections;
8
+ exports.writeCollectionDesignDocs = writeCollectionDesignDocs;
8
9
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
9
10
  const db_decorators_1 = require("@decaf-ts/db-decorators");
11
+ const generation_1 = require("./../indexes/generation.cjs");
10
12
  function collectionFor(collectionName, policy, requiredPeerCount, maxPeerCount, blockToLive, memberOnlyRead, memberOnlyWrite) {
11
13
  return {
12
14
  name: collectionName,
@@ -99,4 +101,9 @@ function writeCollections(cols, p = process.cwd(), fileName = "collections_confi
99
101
  ensureDirectoryExistence(file);
100
102
  fs.writeFileSync(file, JSON.stringify(cols, undefined, 2));
101
103
  }
104
+ function writeCollectionDesignDocs(docs, p = process.cwd(), collection) {
105
+ if (!docs?.length)
106
+ return;
107
+ (0, generation_1.writeDesignDocs)(docs, p, collection);
108
+ }
102
109
  //# sourceMappingURL=generation.js.map
@@ -1,5 +1,6 @@
1
1
  import { OrderDirection } from "@decaf-ts/core";
2
2
  import { Constructor } from "@decaf-ts/decoration";
3
+ import { CouchDBDesignDoc } from "@decaf-ts/for-couchdb";
3
4
  import { Model } from "@decaf-ts/decorator-validation";
4
5
  export type Index = {
5
6
  index: {
@@ -53,3 +54,4 @@ export declare function extractCollections<M extends Model>(m: Constructor<M>, m
53
54
  shared: PrivateCollection[];
54
55
  }>;
55
56
  export declare function writeCollections(cols: PrivateCollection[], p?: string, fileName?: string): void;
57
+ export declare function writeCollectionDesignDocs(docs: CouchDBDesignDoc[], p?: string, collection?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"generation.js","sourceRoot":"","sources":["../../../src/client/collections/generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation.js","sourceRoot":"","sources":["../../../src/client/collections/generation.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export declare function contentOfLoadFile(contentOrPath: string | Uint8Array, fi
18
18
  * @function readFile
19
19
  * @memberOf module:for-fabric.client
20
20
  */
21
- export declare function readFile(contentOrPath: string | Buffer): Promise<Buffer<ArrayBufferLike>>;
21
+ export declare function readFile(contentOrPath: string | Buffer): Promise<NonSharedBuffer>;
22
22
  /**
23
23
  * @description Creates a Certificate Authority user
24
24
  * @summary Initializes a user with the given credentials for interacting with a Fabric CA