Prometheus Entity Management API
    Preparing search index...

    Wire one entity type into list+detail+forms: remote list via useEntityView, optional detail fetch, and create/update/delete callbacks. Mutations call cascadeInvalidation on success so related lists/entities refresh per registered schemas.

    interface CRUDOptions<TEntity extends object> {
        clearSelectionAfterDelete?: boolean;
        createDefaults?: Partial<TEntity>;
        detailFetch?: (id: string) => Promise<TEntity>;
        initialView?: ViewDescriptor;
        listFetch: (params: ViewFetchParams) => Promise<ListResponse<TEntity>>;
        listQueryKey: unknown[];
        normalize: (raw: TEntity) => { data: TEntity; id: string };
        onCreate?: (data: Partial<TEntity>) => Promise<TEntity>;
        onCreateSuccess?: (entity: TEntity) => void;
        onDelete?: (id: string) => Promise<void>;
        onDeleteSuccess?: (id: string) => void;
        onError?: (op: "update" | "delete" | "create", error: Error) => void;
        onUpdate?: (id: string, patch: Partial<TEntity>) => Promise<TEntity>;
        onUpdateSuccess?: (entity: TEntity) => void;
        selectAfterCreate?: boolean;
        type: string;
    }

    Type Parameters

    • TEntity extends object
    Index
    clearSelectionAfterDelete?: boolean
    createDefaults?: Partial<TEntity>
    detailFetch?: (id: string) => Promise<TEntity>
    initialView?: ViewDescriptor
    listFetch: (params: ViewFetchParams) => Promise<ListResponse<TEntity>>
    listQueryKey: unknown[]
    normalize: (raw: TEntity) => { data: TEntity; id: string }
    onCreate?: (data: Partial<TEntity>) => Promise<TEntity>
    onCreateSuccess?: (entity: TEntity) => void
    onDelete?: (id: string) => Promise<void>
    onDeleteSuccess?: (id: string) => void
    onError?: (op: "update" | "delete" | "create", error: Error) => void
    onUpdate?: (id: string, patch: Partial<TEntity>) => Promise<TEntity>
    onUpdateSuccess?: (entity: TEntity) => void
    selectAfterCreate?: boolean
    type: string