diff --git a/src/router/index.ts b/src/router/index.ts index 78c4a8a49..bc8e609e2 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -31,8 +31,8 @@ import ListTeamsComponent from '../views/teams/ListTeams.vue' import ListLabelsComponent from '../views/labels/ListLabels.vue' import NewLabelComponent from '../views/labels/NewLabel.vue' // Migration -import MigrationComponent from '../views/migrator/Migrate.vue' -import MigrateServiceComponent from '../views/migrator/MigrateService.vue' +const MigrationComponent = () => import('@/views/migrate/Migration.vue') +const MigrationHandlerComponent = () => import('@/views/migrate/MigrationHandler.vue') // List Views import ListList from '../views/list/ListList.vue' const ListGantt = () => import('../views/list/ListGantt.vue') @@ -445,7 +445,11 @@ const router = createRouter({ { path: '/migrate/:service', name: 'migrate.service', - component: MigrateServiceComponent, + component: MigrationHandlerComponent, + props: route => ({ + service: route.params.service as string, + code: route.params.code as string, + }), }, { path: '/filters/new', diff --git a/src/services/migrator/abstractMigration.ts b/src/services/migrator/abstractMigration.ts index f5a7ce728..b3051c43b 100644 --- a/src/services/migrator/abstractMigration.ts +++ b/src/services/migrator/abstractMigration.ts @@ -1,11 +1,13 @@ import AbstractService from '../abstractService' +export type MigrationConfig = { code: string } + // This service builds on top of the abstract service and basically just hides away method names. // It enables migration services to be created with minimal overhead and even better method names. -export default class AbstractMigrationService extends AbstractService { +export default class AbstractMigrationService extends AbstractService { serviceUrlKey = '' - constructor(serviceUrlKey) { + constructor(serviceUrlKey: string) { super({ update: '/migration/' + serviceUrlKey + '/migrate', }) @@ -20,7 +22,7 @@ export default class AbstractMigrationService extends AbstractService { return this.getM('/migration/' + this.serviceUrlKey + '/status') } - migrate(data) { + migrate(data: MigrationConfig) { return this.update(data) } } \ No newline at end of file diff --git a/src/services/migrator/abstractMigrationFile.ts b/src/services/migrator/abstractMigrationFile.ts index 2b1cf39e1..2b240d47b 100644 --- a/src/services/migrator/abstractMigrationFile.ts +++ b/src/services/migrator/abstractMigrationFile.ts @@ -1,4 +1,3 @@ -import type {IFile} from '@/modelTypes/IFile' import AbstractService from '../abstractService' // This service builds on top of the abstract service and basically just hides away method names. @@ -21,7 +20,7 @@ export default class AbstractMigrationFileService extends AbstractService { return false } - migrate(file: IFile) { + migrate(file: File) { return this.uploadFile( this.paths.create, file, diff --git a/src/views/migrator/Migrate.vue b/src/views/migrate/Migration.vue similarity index 100% rename from src/views/migrator/Migrate.vue rename to src/views/migrate/Migration.vue diff --git a/src/views/migrator/MigrateService.vue b/src/views/migrate/MigrationHandler.vue similarity index 57% rename from src/views/migrator/MigrateService.vue rename to src/views/migrate/MigrationHandler.vue index a5e3b0741..30c7ff59c 100644 --- a/src/views/migrator/MigrateService.vue +++ b/src/views/migrate/MigrationHandler.vue @@ -14,9 +14,9 @@ type="file" /> {{ $t('migrate.upload') }} @@ -57,129 +57,118 @@
- + {{ message }} - + {{ $t('misc.refresh') }}
- created() { - this.initMigration() - }, +