@boostercloud/framework-provider-azure 0.26.10 → 0.26.11

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.
@@ -1,3 +1,3 @@
1
1
  import { CosmosClient } from '@azure/cosmos';
2
- import { BoosterConfig, FilterFor, Logger, ReadModelListResult } from '@boostercloud/framework-types';
3
- export declare function search(cosmosDb: CosmosClient, config: BoosterConfig, logger: Logger, containerName: string, filters: FilterFor<unknown>, limit?: number, afterCursor?: Record<string, string> | undefined, paginatedVersion?: boolean, order?: Record<string, string>): Promise<Array<any> | ReadModelListResult<any>>;
2
+ import { BoosterConfig, FilterFor, Logger, ReadModelListResult, SortFor } from '@boostercloud/framework-types';
3
+ export declare function search(cosmosDb: CosmosClient, config: BoosterConfig, logger: Logger, containerName: string, filters: FilterFor<unknown>, limit?: number | undefined, afterCursor?: Record<string, string> | undefined, paginatedVersion?: boolean, order?: SortFor<unknown>): Promise<Array<any> | ReadModelListResult<any>>;
@@ -149,12 +149,25 @@ function buildAttributeValue(propName, filter = {}, usedPlaceholders) {
149
149
  });
150
150
  return attributeValues;
151
151
  }
152
- function buildOrderExpression(order) {
153
- if (!order || !Object.keys(order).length)
152
+ function buildOrderExpression(sortFor) {
153
+ var _a;
154
+ if (!sortFor || !Object.keys(sortFor).length)
154
155
  return '';
155
- let orderQuery = ' ORDER BY';
156
- orderQuery += Object.entries(order)
157
- .map(([key, value]) => ` c.${key} ${value}`)
158
- .join(',');
156
+ let orderQuery = ' ORDER BY ';
157
+ orderQuery += (_a = toLocalSortFor(sortFor)) === null || _a === void 0 ? void 0 : _a.join(', ');
159
158
  return orderQuery;
160
159
  }
160
+ function toLocalSortFor(sortBy, parentKey = '', sortedList = []) {
161
+ if (!sortBy || Object.keys(sortBy).length === 0)
162
+ return;
163
+ const elements = sortBy;
164
+ Object.entries(elements).forEach(([key, value]) => {
165
+ if (typeof value === 'string') {
166
+ sortedList.push(`c.${parentKey}${key} ${value}`);
167
+ }
168
+ else {
169
+ toLocalSortFor(value, `${parentKey}${key}.`, sortedList);
170
+ }
171
+ });
172
+ return sortedList;
173
+ }
@@ -1,3 +1,3 @@
1
1
  import { CosmosClient } from '@azure/cosmos';
2
- import { BoosterConfig, Logger, FilterFor, ReadModelListResult } from '@boostercloud/framework-types';
3
- export declare function searchReadModel(cosmosDb: CosmosClient, config: BoosterConfig, logger: Logger, readModelName: string, filters: FilterFor<unknown>, limit?: number, afterCursor?: Record<string, string> | undefined, paginatedVersion?: boolean): Promise<Array<any> | ReadModelListResult<any>>;
2
+ import { BoosterConfig, FilterFor, Logger, ReadModelListResult, SortFor } from '@boostercloud/framework-types';
3
+ export declare function searchReadModel(cosmosDb: CosmosClient, config: BoosterConfig, logger: Logger, readModelName: string, filters: FilterFor<unknown>, sortBy?: SortFor<unknown>, limit?: number, afterCursor?: Record<string, string> | undefined, paginatedVersion?: boolean): Promise<Array<any> | ReadModelListResult<any>>;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.searchReadModel = void 0;
4
- const query_helper_1 = require("../helpers/query-helper");
5
- async function searchReadModel(cosmosDb, config, logger, readModelName, filters, limit, afterCursor, paginatedVersion = false) {
6
- return await query_helper_1.search(cosmosDb, config, logger, config.resourceNames.forReadModel(readModelName), filters, limit, afterCursor, paginatedVersion);
4
+ const queryHelper = require("../helpers/query-helper");
5
+ async function searchReadModel(cosmosDb, config, logger, readModelName, filters, sortBy, limit, afterCursor, paginatedVersion = false) {
6
+ return await queryHelper.search(cosmosDb, config, logger, config.resourceNames.forReadModel(readModelName), filters, limit, afterCursor, paginatedVersion, sortBy);
7
7
  }
8
8
  exports.searchReadModel = searchReadModel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boostercloud/framework-provider-azure",
3
- "version": "0.26.10",
3
+ "version": "0.26.11",
4
4
  "description": "Handle Booster's integration with Azure",
5
5
  "keywords": [
6
6
  "framework-provider-azure"
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@azure/cosmos": "3.7.3",
24
24
  "@azure/functions": "^1.2.2",
25
- "@boostercloud/framework-types": "^0.26.10",
25
+ "@boostercloud/framework-types": "^0.26.11",
26
26
  "chai": "4.2.0",
27
27
  "chai-as-promised": "7.1.1",
28
28
  "mocha": "8.4.0",
@@ -41,5 +41,5 @@
41
41
  "bugs": {
42
42
  "url": "https://github.com/boostercloud/booster/issues"
43
43
  },
44
- "gitHead": "14df9c9fa68129755244b41793c3cc5d8361e07f"
44
+ "gitHead": "7b47cd3b9e3f5acdedad16342ffc6b9728d491b9"
45
45
  }