mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-24 17:23:05 -05:00
Adding database backup and accounts page to migration wizard (#13764)
* Added localized strings Created a db backup page added radio buttons * created components for database backup page * Added account selection page * Added accounts page * Some more work done - Added page validations - Almost done with db backup except for a few api calls. * Some more progress added graph api for storage account * Finished hooking up all the endpoints on db page. * Some code fixed and refactoring * Fixed a ton of validation bugs * Added common localized strings to the constants file * some code cleanup * changed method name to makeHttpGetRequest * change http result class name * Added return types and return values to the functions * removed void returns * Added more return types and values * Storing accounts in the map with ids as key Fixed a bug in case of no subscriptions found * cleaning up the code * Fixed localized strings * Added comments to get request api Added validation logic to database backup page removed unnecessary page validations. * Added some get resource functions in azure core * Changed thenable to promise * Added arm calls for file shares and blob storage * Added field specific validation error message * Added examples in validation error message. * Fixed some typings and localized string * Added live validations to dropdowns * Fixed method name to getSQLVMservers * Using older storage package * Update typings/namings (#13767) * Update typings * more typings fixes * switched fileshares and blobcontainers api to http requests * removed the extra line * Adding resource graph documentation link as a comment * remove makeHttpRequest api from azurecore Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
This commit is contained in:
@@ -26,11 +26,51 @@ export enum State {
|
||||
EXIT,
|
||||
}
|
||||
|
||||
export enum MigrationCutover {
|
||||
MANUAL,
|
||||
AUTOMATIC
|
||||
}
|
||||
|
||||
export enum NetworkContainerType {
|
||||
FILE_SHARE,
|
||||
BLOB_CONTAINER,
|
||||
NETWORK_SHARE
|
||||
}
|
||||
|
||||
export interface NetworkShare {
|
||||
networkShareLocation: string;
|
||||
windowsUser: string;
|
||||
password: string;
|
||||
storageSubscriptionId: string;
|
||||
storageAccountId: string;
|
||||
}
|
||||
|
||||
export interface BlobContainer {
|
||||
subscriptionId: string;
|
||||
storageAccountId: string;
|
||||
containerId: string;
|
||||
}
|
||||
|
||||
export interface FileShare {
|
||||
subscriptionId: string;
|
||||
storageAccountId: string;
|
||||
fileShareId: string;
|
||||
resourceGroupId: string;
|
||||
}
|
||||
export interface DatabaseBackupModel {
|
||||
emailNotification: boolean;
|
||||
migrationCutover: MigrationCutover;
|
||||
networkContainerType: NetworkContainerType;
|
||||
networkContainer: NetworkShare | BlobContainer | FileShare;
|
||||
azureSecurityToken: string;
|
||||
}
|
||||
export interface Model {
|
||||
readonly sourceConnection: azdata.connection.Connection;
|
||||
readonly currentState: State;
|
||||
gatheringInformationError: string | undefined;
|
||||
skuRecommendations: SKURecommendations | undefined;
|
||||
azureAccount: azdata.Account | undefined;
|
||||
databaseBackup: DatabaseBackupModel | undefined;
|
||||
}
|
||||
|
||||
export interface StateChangeEvent {
|
||||
@@ -44,6 +84,8 @@ export class MigrationStateModel implements Model, vscode.Disposable {
|
||||
private _gatheringInformationError: string | undefined;
|
||||
private _skuRecommendations: SKURecommendations | undefined;
|
||||
private _assessmentResults: mssql.SqlMigrationAssessmentResultItem[] | undefined;
|
||||
private _azureAccount!: azdata.Account;
|
||||
private _databaseBackup!: DatabaseBackupModel;
|
||||
|
||||
constructor(
|
||||
private readonly _extensionContext: vscode.ExtensionContext,
|
||||
@@ -51,6 +93,23 @@ export class MigrationStateModel implements Model, vscode.Disposable {
|
||||
public readonly migrationService: mssql.ISqlMigrationService
|
||||
) {
|
||||
this._currentState = State.INIT;
|
||||
this.databaseBackup = {} as DatabaseBackupModel;
|
||||
}
|
||||
|
||||
public get azureAccount(): azdata.Account {
|
||||
return this._azureAccount;
|
||||
}
|
||||
|
||||
public set azureAccount(account: azdata.Account) {
|
||||
this._azureAccount = account;
|
||||
}
|
||||
|
||||
public get databaseBackup(): DatabaseBackupModel {
|
||||
return this._databaseBackup;
|
||||
}
|
||||
|
||||
public set databaseBackup(dbBackup: DatabaseBackupModel) {
|
||||
this._databaseBackup = dbBackup;
|
||||
}
|
||||
|
||||
public get sourceConnection(): azdata.connection.Connection {
|
||||
|
||||
Reference in New Issue
Block a user