UNPKG

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

Version:

DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.

34 lines (33 loc) 1.54 kB
import { Plugin } from "@webiny/plugins"; import { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types"; interface CmsEntryElasticsearchValuesModifierCbParamsSetValuesCb<T = CmsEntryValues> { (prev: Partial<T>): Partial<T>; } interface CmsEntryElasticsearchValuesModifierCbParams<T = CmsEntryValues> { model: CmsModel; entry: CmsEntry<T>; values: T; setValues: (cb: CmsEntryElasticsearchValuesModifierCbParamsSetValuesCb<T>) => void; } export interface CmsEntryElasticsearchValuesModifierCb<T = CmsEntryValues> { (params: CmsEntryElasticsearchValuesModifierCbParams<T>): void; } export interface CmsEntryElasticsearchValuesModifierExecParams<T = CmsEntryValues> { model: CmsModel; entry: CmsEntry<T>; values: Partial<T>; } export type CmsEntryElasticsearchValuesModifierParams<T> = CmsEntryElasticsearchValuesModifierCb<T> | { models: string[]; modifier: CmsEntryElasticsearchValuesModifierCb<T>; }; export declare class CmsEntryElasticsearchValuesModifier<T = CmsEntryValues> extends Plugin { static readonly type: string; private readonly models?; private readonly cb; constructor(params: CmsEntryElasticsearchValuesModifierParams<T>); canModify(modelId: string): boolean; modify(params: CmsEntryElasticsearchValuesModifierExecParams<T>): Partial<T>; } export declare const createCmsEntryElasticsearchValuesModifier: <T = CmsEntryValues>(params: CmsEntryElasticsearchValuesModifierParams<T>) => CmsEntryElasticsearchValuesModifier<T>; export {};