@webiny/api-headless-cms-ddb-es
Version:
DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.
33 lines (32 loc) • 2.4 kB
TypeScript
import type { Client } from "@webiny/api-opensearch";
import { type IOpenSearchEntity as IElasticsearchEntity } from "@webiny/api-opensearch";
import type { PluginsContainer } from "@webiny/plugins";
import type { CmsEntryStorageOperations } from "../../types.js";
import type { IEntryEntity } from "../../definitions/types.js";
import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
import { CompressionHandler } from "@webiny/utils/features/compression/abstractions/CompressionHandler.js";
import type { CmsEntryOpenSearchBodyModifier } from "../../features/CmsEntryOpenSearchBodyModifier/index.js";
import type { CmsEntryOpenSearchSortModifier } from "../../features/CmsEntryOpenSearchSortModifier/index.js";
import type { CmsEntryOpenSearchValuesModifier } from "../../features/CmsEntryOpenSearchValuesModifier/index.js";
import type { CmsEntryOpenSearchQueryModifier } from "../../features/CmsEntryOpenSearchQueryModifier/index.js";
import type { CmsEntryOpenSearchValueSearchRegistry } from "../../features/CmsEntryOpenSearchValueSearch/index.js";
import type { CmsEntryOpenSearchFullTextSearch } from "../../features/CmsEntryOpenSearchFullTextSearch/index.js";
import type { CmsEntryOpenSearchFieldIndexRegistry } from "../../features/CmsEntryOpenSearchFieldIndex/index.js";
import type { CmsEntryOpenSearchFilterRegistry } from "../../features/CmsEntryOpenSearchFilter/index.js";
export interface CreateEntriesStorageOperationsParams {
entity: IEntryEntity;
esEntity: IElasticsearchEntity;
elasticsearch: Client;
plugins: PluginsContainer;
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
compressionHandler: CompressionHandler.Interface;
bodyModifiers: CmsEntryOpenSearchBodyModifier.Interface[];
sortModifiers: CmsEntryOpenSearchSortModifier.Interface[];
queryModifiers: CmsEntryOpenSearchQueryModifier.Interface[];
valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface;
fullTextSearches: CmsEntryOpenSearchFullTextSearch.Interface[];
valuesModifiers: CmsEntryOpenSearchValuesModifier.Interface[];
filterRegistry: CmsEntryOpenSearchFilterRegistry.Interface;
}
export declare const createEntriesStorageOperations: (params: CreateEntriesStorageOperationsParams) => CmsEntryStorageOperations;