Add support for Login and User management (#21981)

* initial commit

* leave only march release objects

* clean up

* login dialog

* localize and use background operation

* code cleanup

* remove tab

* support server role in login

* remove canEditName

* add user support

* comments and bug fixes

* remove hasDBAccess for now

* refactoring

* fix error

* user dialog UI

* telemetry, error handling and refactoring

* Fix references to dialogInfo (#21914)

* update telemetry

* Bump STS and use actual object management service

* add preview and handle no-change scenario

* fix merge issue

---------

Co-authored-by: Karl Burtram <karlb@microsoft.com>
This commit is contained in:
Alan Ren
2023-02-17 18:02:31 -08:00
committed by GitHub
parent 6231df85e0
commit b5ce7af090
16 changed files with 2169 additions and 13 deletions

View File

@@ -1191,3 +1191,100 @@ export namespace ExecutionPlanComparisonRequest {
}
// ------------------------------- < Execution Plan > ------------------------------------
// ------------------------------- < Object Management > ------------------------------------
export interface InitializeLoginViewRequestParams {
connectionUri: string;
contextId: string;
isNewObject: boolean;
name: string | undefined;
}
export namespace InitializeLoginViewRequest {
export const type = new RequestType<InitializeLoginViewRequestParams, mssql.ObjectManagement.LoginViewInfo, void, void>('objectManagement/initializeLoginView');
}
export interface CreateLoginRequestParams {
contextId: string;
login: mssql.ObjectManagement.Login;
}
export namespace CreateLoginRequest {
export const type = new RequestType<CreateLoginRequestParams, void, void, void>('objectManagement/createLogin');
}
export interface UpdateLoginRequestParams {
contextId: string;
login: mssql.ObjectManagement.Login;
}
export namespace UpdateLoginRequest {
export const type = new RequestType<UpdateLoginRequestParams, void, void, void>('objectManagement/updateLogin');
}
export interface DeleteLoginRequestParams {
connectionUri: string;
name: string;
}
export namespace DeleteLoginRequest {
export const type = new RequestType<DeleteLoginRequestParams, void, void, void>('objectManagement/deleteLogin');
}
export interface DisposeLoginViewRequestParams {
contextId: string;
}
export namespace DisposeLoginViewRequest {
export const type = new RequestType<DisposeLoginViewRequestParams, void, void, void>('objectManagement/disposeLoginView');
}
export interface InitializeUserViewRequestParams {
connectionUri: string;
contextId: string;
isNewObject: boolean;
database: string;
name: string | undefined;
}
export namespace InitializeUserViewRequest {
export const type = new RequestType<InitializeUserViewRequestParams, mssql.ObjectManagement.UserViewInfo, void, void>('objectManagement/initializeUserView');
}
export interface CreateUserRequestParams {
contextId: string;
user: mssql.ObjectManagement.User;
}
export namespace CreateUserRequest {
export const type = new RequestType<CreateUserRequestParams, void, void, void>('objectManagement/createUser');
}
export interface UpdateUserRequestParams {
contextId: string;
user: mssql.ObjectManagement.User;
}
export namespace UpdateUserRequest {
export const type = new RequestType<UpdateUserRequestParams, void, void, void>('objectManagement/updateUser');
}
export interface DeleteUserRequestParams {
connectionUri: string;
database: string;
name: string;
}
export namespace DeleteUserRequest {
export const type = new RequestType<DeleteUserRequestParams, void, void, void>('objectManagement/deleteUser');
}
export interface DisposeUserViewRequestParams {
contextId: string;
}
export namespace DisposeUserViewRequest {
export const type = new RequestType<DisposeUserViewRequestParams, void, void, void>('objectManagement/disposeUserView');
}
// ------------------------------- < Object Management > ------------------------------------