Migraiton enhancements v: 0.1.1 (#15570)

* adding filters and cards for failed migrations

* Added card and filter for completing cutover

* Fixing blob container support and some ux enhancements

* Enabling eastus2 and canada central regions

* Increasing height of container to accomodate newer cards and cleaning up database backup page

* vbump migration

* Removing unused code
This commit is contained in:
Aasim Khan
2021-05-25 18:00:30 -07:00
committed by GitHub
parent 730367494b
commit e49dd12951
16 changed files with 561 additions and 309 deletions

View File

@@ -4,6 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import { DAYS, HRS, MINUTE, SEC } from '../constants/strings';
import { AdsMigrationStatus } from '../dialog/migrationStatus/migrationStatusDialogModel';
import { MigrationContext } from '../models/migrationLocalStorage';
export function deepClone<T>(obj: T): T {
if (!obj || typeof obj !== 'object') {
@@ -83,3 +85,38 @@ export function convertTimeDifferenceToDuration(startTime: Date, endTime: Date):
return DAYS(parseFloat(days));
}
}
export function filterMigrations(databaseMigrations: MigrationContext[], statusFilter: string, databaseNameFilter?: string): MigrationContext[] {
let filteredMigration: MigrationContext[] = [];
if (statusFilter === AdsMigrationStatus.ALL) {
filteredMigration = databaseMigrations;
} else if (statusFilter === AdsMigrationStatus.ONGOING) {
filteredMigration = databaseMigrations.filter((value) => {
const status = value.migrationContext.properties.migrationStatus;
const provisioning = value.migrationContext.properties.provisioningState;
return status === 'InProgress' || status === 'Creating' || provisioning === 'Creating';
});
} else if (statusFilter === AdsMigrationStatus.SUCCEEDED) {
filteredMigration = databaseMigrations.filter((value) => {
const status = value.migrationContext.properties.migrationStatus;
return status === 'Succeeded';
});
} else if (statusFilter === AdsMigrationStatus.FAILED) {
filteredMigration = databaseMigrations.filter((value) => {
const status = value.migrationContext.properties.migrationStatus;
const provisioning = value.migrationContext.properties.provisioningState;
return status === 'Failed' || provisioning === 'Failed';
});
} else if (statusFilter === AdsMigrationStatus.COMPLETING) {
filteredMigration = databaseMigrations.filter((value) => {
const status = value.migrationContext.properties.migrationStatus;
return status === 'Completing';
});
}
if (databaseNameFilter) {
filteredMigration = filteredMigration.filter((value) => {
return value.migrationContext.name.toLowerCase().includes(databaseNameFilter.toLowerCase());
});
}
return filteredMigration;
}