@webiny/api-headless-cms-ddb-es
Version:
DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.
34 lines (33 loc) • 1.54 kB
TypeScript
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 {};