import { Entry } from 'contensis-management-api'; import ContentAssetsMigrationService from './ContentAssetsMigrationService'; import { MigrateModelsEntityResult, MigrateNode } from '../models'; import { MigrateRequest } from '../models/Operations'; import ContensisRepository from '../repositories/ContensisRepository'; import { EntryBuilder } from '../transformations/EntryBuilder'; declare class EntriesMigrationService extends ContentAssetsMigrationService { /** * Keep a note of the nodes we have migrated in this job separate from the entries migration count */ nodesMigration: { created: string[]; updated: string[]; deleted: string[]; }; isCopyOperation: boolean; constructor(payload: MigrateRequest, preview: boolean, download?: boolean); /** * Gets a list of entries from the Managemet API with the supplied query * @returns list of Entry, if requested with dependents these are included in the list of items */ GetEntries: ({ withDependents }?: { withDependents: boolean; }) => Promise; /** * Using SyncEntries means we migrate the entries to the targetProjects and then delete the entries from any other mentioned in syncProjects that are not in targetRepos so we can keep a number of projects in sync with one call that has differentiating targetProjects fed from webhook data * @returns EntriesResult */ SyncEntries: () => Promise; MigrateEntries: () => Promise; /** Loads all entries and dependencies (including nodes and tags) * from source and target repos into memory */ GetEntriesToMigrate: (logEntries?: boolean) => Promise; BuildNodesToMigrate: () => Promise; CommitEntries: () => Promise; QueueEntries: (target: ContensisRepository, firstPass?: boolean) => Promise; CommitEntry: (migrateEntry: EntryBuilder, firstPass: boolean, fromModel?: boolean) => Promise<[AppError | null, Entry | undefined]>; CommitNodes: (target: ContensisRepository) => Promise; CommitNode: (target: ContensisRepository, migrateNode: MigrateNode) => Promise; DeleteEntries: (recycle?: boolean, targets?: { [projectId: string]: ContensisRepository; }, isSync?: boolean) => Promise; GetEntriesToDelete: (recycle?: boolean, targets?: { [projectId: string]: ContensisRepository; }) => Promise; } export default EntriesMigrationService;