@overture-stack/lyric
Version:
Data Submission system
43 lines (42 loc) • 1.99 kB
TypeScript
import { Submission } from '@overture-stack/lyric-data-model/models';
import { BaseDependencies } from '../../config/config.js';
import { CommitSubmissionResult, type CreateSubmissionResult, type PaginationOptions, type SubmissionActionType, SubmissionSummaryResponse } from '../../utils/types.js';
declare const service: (dependencies: BaseDependencies) => {
commitSubmission: (categoryId: number, submissionId: number, username: string) => Promise<CommitSubmissionResult>;
deleteActiveSubmissionById: (submissionId: number, username: string) => Promise<Submission | undefined>;
deleteActiveSubmissionEntity: (submissionId: number, username: string, filter: {
actionType: SubmissionActionType;
entityName: string;
index: number | null;
}) => Promise<Submission | undefined>;
getSubmissionsByCategory: (categoryId: number, paginationOptions: PaginationOptions, filterOptions: {
onlyActive: boolean;
username?: string;
organization?: string;
}) => Promise<{
result: SubmissionSummaryResponse[];
metadata: {
totalRecords: number;
errorMessage?: string;
};
}>;
getSubmissionById: (submissionId: number) => Promise<import("../../utils/types.js").SubmissionResponse | undefined>;
getActiveSubmissionByOrganization: ({ categoryId, username, organization, }: {
categoryId: number;
username: string;
organization: string;
}) => Promise<SubmissionSummaryResponse | undefined>;
getOrCreateActiveSubmission: (params: {
username: string;
categoryId: number;
organization: string;
}) => Promise<Submission>;
submit: ({ records, entityName, categoryId, organization, username, }: {
records: Record<string, unknown>[];
entityName: string;
categoryId: number;
organization: string;
username: string;
}) => Promise<CreateSubmissionResult>;
};
export default service;