@firecms/core
Version:
Awesome Firebase/Firestore-based headless open-source CMS
42 lines (41 loc) • 1.63 kB
TypeScript
import { DataSource, Entity, EntityCollection, FireCMSContext, SaveEntityProps, User } from "../../types";
/**
* @group Hooks and utilities
*/
export type SaveEntityWithCallbacksProps<M extends Record<string, any>> = SaveEntityProps<M> & {
onSaveSuccess?: (updatedEntity: Entity<M>) => void;
onSaveFailure?: (e: Error) => void;
onPreSaveHookError?: (e: Error) => void;
onSaveSuccessHookError?: (e: Error) => void;
};
/**
* This function is in charge of saving an entity to the datasource.
* It will run all the save callbacks specified in the collection.
* It is also possible to attach callbacks on save success or error, and callback
* errors.
*
* If you just want to save the data without running the `onSaveSuccess`,
* `onSaveFailure` and `onPreSave` callbacks, you can use the `saveEntity` method
* in the datasource ({@link useDataSource}).
*
* @param collection
* @param path
* @param entityId
* @param callbacks
* @param values
* @param previousValues
* @param status
* @param dataSource
* @param context
* @param onSaveSuccess
* @param onSaveFailure
* @param onPreSaveHookError
* @param onSaveSuccessHookError
* @see useDataSource
* @group Hooks and utilities
*/
export declare function saveEntityWithCallbacks<M extends Record<string, any>, USER extends User>({ collection, path, entityId, values, previousValues, status, dataSource, context, onSaveSuccess, onSaveFailure, onPreSaveHookError, onSaveSuccessHookError }: SaveEntityWithCallbacksProps<M> & {
collection: EntityCollection<M, USER>;
dataSource: DataSource;
context: FireCMSContext;
}): Promise<void>;