@overture-stack/lyric
Version:
Data Submission system
34 lines (33 loc) • 1.75 kB
TypeScript
import type { BaseDependencies } from '../config/config.js';
import { type MigrationRecordWithRelations } from '../repository/dictionaryMigrationRepository.js';
import { type MigrationSummary } from '../utils/migrationResponseFormatter.js';
import { type AsyncResult, type PaginatedResult } from '../utils/result.js';
import type { MigrationAuditRecord, MigrationStatus, PaginationOptions } from '../utils/types.js';
declare const migrationService: (dependencies: BaseDependencies) => {
finalizeMigration: ({ migrationId, status, userName, }: {
migrationId: number;
status: Extract<MigrationStatus, "COMPLETED" | "FAILED">;
userName: string;
}) => AsyncResult<null, string>;
getActiveMigrationByCategoryId: (categoryId: number) => Promise<MigrationRecordWithRelations | null>;
getMigrationsByCategoryId: (categoryId: number, paginationOptions: PaginationOptions) => Promise<PaginatedResult<MigrationSummary>>;
getMigrationById: (migrationId: number) => Promise<MigrationSummary | null>;
getMigrationRecords: (migrationId: number, options: {
page: number;
pageSize: number;
entityNames?: string | string[];
organizations?: string | string[];
isInvalid?: boolean;
}) => Promise<PaginatedResult<MigrationAuditRecord>>;
initiateMigration: ({ categoryId, fromDictionaryId, toDictionaryId, userName, }: {
categoryId: number;
fromDictionaryId: number;
toDictionaryId: number;
userName: string;
}) => AsyncResult<number, string>;
performMigrationValidation: ({ migrationId, userName, }: {
migrationId: number;
userName: string;
}) => AsyncResult<null, string>;
};
export default migrationService;