UNPKG

@overture-stack/lyric

Version:
54 lines (53 loc) 2.27 kB
import type { DataRecord } from '@overture-stack/lectern-client'; import type { SubmissionData, SubmissionDeleteData, SubmissionErrors, SubmissionInsertData, SubmissionRecordErrorDetails, SubmissionUpdateData } from '@overture-stack/lyric-data-model/models'; import { type PaginationOptions, type SubmissionActionType } from './types.js'; export declare const createBatchResponse: (schemaName: string, records: DataRecord[]) => SubmissionInsertData; export type FlattenedSubmissionData = { type: 'INSERTS'; entity: string; value: DataRecord; index: number; } | { type: 'UPDATES'; entity: string; value: SubmissionUpdateData; index: number; } | { type: 'DELETES'; entity: string; value: SubmissionDeleteData; index: number; }; /** * Filters and paginates submission `data` and `errors` based on specified action types and entity names. * Returns the paginated data along with the corresponding filtered errors. */ export declare const filterAndPaginateSubmissionData: ({ data, errors, filterOptions, paginationOptions, }: { data: SubmissionData; errors: SubmissionErrors; filterOptions: { actionTypes: SubmissionActionType[]; entityNames: string[]; }; paginationOptions: PaginationOptions; }) => { data: FlattenedSubmissionData[]; errors: SubmissionRecordErrorDetails[]; }; /** * Retrieves the set of submission data corresponding to a specific action type. */ export declare const getActionData: (data: SubmissionData, actionType: SubmissionActionType) => Record<string, SubmissionUpdateData[]> | Record<string, SubmissionDeleteData[]> | Record<string, SubmissionInsertData>; /** * Retrieves the set of submission errors corresponding to a specific action type. */ export declare const getActionErrors: (errors: SubmissionErrors, actionType: SubmissionActionType) => Record<string, SubmissionRecordErrorDetails[]>; /** * Filters submission errors based on specified action types, entity names, and record indices. */ export declare const getFilteredErrors: ({ errors, actionTypes, entityNames, indices, }: { errors: SubmissionErrors; actionTypes: SubmissionActionType[]; entityNames: string[]; indices: number[]; }) => SubmissionRecordErrorDetails[];