@webiny/api-headless-cms-ddb-es
Version:
DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.
30 lines (29 loc) • 2.18 kB
TypeScript
import type { PluginsContainer } from "@webiny/plugins";
import type { CmsEntryListParams, CmsEntryListWhere, CmsModel } from "@webiny/api-headless-cms/types/index.js";
import type { CmsEntryOpenSearchBodyModifier } from "../../../features/CmsEntryOpenSearchBodyModifier/index.js";
import type { CmsEntryOpenSearchSortModifier } from "../../../features/CmsEntryOpenSearchSortModifier/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 { PrimitiveValue, SearchBody } from "@webiny/api-opensearch/types.js";
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/features/graphql/index.js";
import { CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
import type { CmsEntryOpenSearchFilterRegistry } from "../../../features/CmsEntryOpenSearchFilter/index.js";
interface ICreateElasticsearchBodyParams {
plugins: PluginsContainer;
model: CmsModel;
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
bodyModifiers: CmsEntryOpenSearchBodyModifier.Interface[];
sortModifiers: CmsEntryOpenSearchSortModifier.Interface[];
queryModifiers: CmsEntryOpenSearchQueryModifier.Interface[];
valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface;
fullTextSearches: CmsEntryOpenSearchFullTextSearch.Interface[];
filterRegistry: CmsEntryOpenSearchFilterRegistry.Interface;
params: Omit<CmsEntryListParams, "where" | "after"> & {
where: CmsEntryListWhere;
after?: PrimitiveValue[];
};
}
export declare const createElasticsearchBody: ({ plugins, model, params, fieldRegistry, fieldIndexRegistry, bodyModifiers, sortModifiers, queryModifiers, valueSearchRegistry, fullTextSearches, filterRegistry }: ICreateElasticsearchBodyParams) => SearchBody;
export {};