UNPKG

@webiny/api-headless-cms-ddb-es

Version:

DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.

33 lines (32 loc) 2.4 kB
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;