mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-21 01:41:31 +00:00
34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
import { FeedOptions, ItemDefinition, QueryIterator, Resource } from "@azure/cosmos";
|
|
import { LocalStorageUtility, StorageKey } from "../../Shared/StorageUtility";
|
|
import { Queries } from "../Constants";
|
|
import { client2 } from "../ReadRegionCosmosClient";
|
|
// import { client } from "../CosmosClient";
|
|
|
|
export const queryDocuments = (
|
|
databaseId: string,
|
|
containerId: string,
|
|
query: string,
|
|
options: FeedOptions,
|
|
): QueryIterator<ItemDefinition & Resource> => {
|
|
options = getCommonQueryOptions(options);
|
|
console.log(`${JSON.stringify(client2().getReadEndpoint())}`);
|
|
return client2().database(databaseId).container(containerId).items.query(query, options);
|
|
// return client().database(databaseId).container(containerId).items.query(query, options);
|
|
};
|
|
|
|
export const getCommonQueryOptions = (options: FeedOptions): FeedOptions => {
|
|
const storedItemPerPageSetting: number = LocalStorageUtility.getEntryNumber(StorageKey.ActualItemPerPage);
|
|
options = options || {};
|
|
options.populateQueryMetrics = true;
|
|
options.enableScanInQuery = options.enableScanInQuery || true;
|
|
if (!options.partitionKey) {
|
|
options.forceQueryPlan = true;
|
|
}
|
|
options.maxItemCount =
|
|
options.maxItemCount ||
|
|
(storedItemPerPageSetting !== undefined && storedItemPerPageSetting) ||
|
|
Queries.itemsPerPage;
|
|
options.maxDegreeOfParallelism = LocalStorageUtility.getEntryNumber(StorageKey.MaxDegreeOfParellism);
|
|
return options;
|
|
};
|