@boostercloud/framework-provider-azure 0.26.9 → 0.26.12
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?:
|
|
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>>;
|
|
@@ -56,7 +56,7 @@ function buildFilterExpression(filters, usedPlaceholders = []) {
|
|
|
56
56
|
}
|
|
57
57
|
function buildOperation(propName, filter = {}, usedPlaceholders, nested) {
|
|
58
58
|
const holder = placeholderBuilderFor(propName, usedPlaceholders);
|
|
59
|
-
propName = nested ? `${nested}
|
|
59
|
+
propName = nested ? `${nested}["${propName}"]` : `c["${propName}"]`;
|
|
60
60
|
return Object.entries(filter)
|
|
61
61
|
.map(([operation, value], index) => {
|
|
62
62
|
switch (operation) {
|
|
@@ -149,12 +149,25 @@ function buildAttributeValue(propName, filter = {}, usedPlaceholders) {
|
|
|
149
149
|
});
|
|
150
150
|
return attributeValues;
|
|
151
151
|
}
|
|
152
|
-
function buildOrderExpression(
|
|
153
|
-
|
|
152
|
+
function buildOrderExpression(sortFor) {
|
|
153
|
+
var _a;
|
|
154
|
+
if (!sortFor || !Object.keys(sortFor).length)
|
|
154
155
|
return '';
|
|
155
|
-
let orderQuery = ' ORDER BY';
|
|
156
|
-
orderQuery +=
|
|
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,
|
|
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
|
|
5
|
-
async function searchReadModel(cosmosDb, config, logger, readModelName, filters, limit, afterCursor, paginatedVersion = false) {
|
|
6
|
-
return await
|
|
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.
|
|
3
|
+
"version": "0.26.12",
|
|
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.
|
|
25
|
+
"@boostercloud/framework-types": "^0.26.12",
|
|
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": "
|
|
44
|
+
"gitHead": "1024e7cb64222cbb9beda28ff29912530212a3f4"
|
|
45
45
|
}
|