34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { AuthType } from "./AuthType";
|
|
import { AccessInputMetadata, DatabaseAccount } from "./Contracts/DataModels";
|
|
|
|
type HostedConfig = AAD | ConnectionString | EncryptedToken | ResourceToken;
|
|
export interface HostedExplorerChildFrame extends Window {
|
|
hostedConfig: HostedConfig;
|
|
}
|
|
|
|
export interface AAD {
|
|
authType: AuthType.AAD;
|
|
databaseAccount: DatabaseAccount;
|
|
authorizationToken: string;
|
|
}
|
|
|
|
export interface ConnectionString {
|
|
authType: AuthType.ConnectionString;
|
|
// Connection string uses still use encrypted token for Cassandra/Mongo APIs as they us the portal backend proxy
|
|
encryptedToken: string;
|
|
encryptedTokenMetadata: AccessInputMetadata;
|
|
// Master key is currently only used by Graph API. All other APIs use encrypted tokens and proxy with connection string
|
|
masterKey?: string;
|
|
}
|
|
|
|
export interface EncryptedToken {
|
|
authType: AuthType.EncryptedToken;
|
|
encryptedToken: string;
|
|
encryptedTokenMetadata: AccessInputMetadata;
|
|
}
|
|
|
|
export interface ResourceToken {
|
|
authType: AuthType.ResourceToken;
|
|
resourceToken: string;
|
|
}
|