UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

177 lines (176 loc) 7.59 kB
import { Observable } from 'rxjs'; import { JsonObject } from '../base/json'; import { PlainVersionedObject, VersionedObject, VersionedObjectConstructor, VersionedObjectHandlers } from '../base/versioned-object'; import { Rpc } from '../rpc/rpc'; import { GatewayConnection } from './gateway-connection'; export declare const enum BannerHideType { /** * Indicates banner is not hidden (unusual) */ None = 0, /** * Indicates banner is hidden for the current session */ Session = 1, /** * Indicates banner is hidden permanently */ Permanent = 2 } /** * Defines banner settings for the current user shared across the application */ export interface BannerUserSettings extends JsonObject { id: string; hideType: BannerHideType; } /** * The Versioned representation of the Shell User Settings * This object is used for settings that specific to the current user and to shell */ export declare class CommonUserSettings extends VersionedObject { private static propertyNames; /** * Getter for the latest version of the common user settings */ get latestVersion(): number; /** * Getter for the users preference on banner settings */ get banners(): BannerUserSettings[]; /** * Setter for the users preference on banner settings */ set banners(value: BannerUserSettings[]); constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers); /** * Attempts to upgrade the current version of the object at least one version toward the latest version. * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version * this is called iteratively until the current version is equal to the latest version */ protected upgrade(): void; } /** * Defines the common application settings object that is shared through the whole application. */ export declare class CommonApplicationSettings extends VersionedObject { private static propertyNames; /** * Getter for the latest version of the common application settings */ get latestVersion(): number; constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers); /** * Attempts to upgrade the current version of the object at least one version toward the latest version. * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version * this is called iteratively until the current version is equal to the latest version */ protected upgrade(): void; } /** * Defines the common admin settings object that is shared through the whole application. */ export declare class CommonAdminSettings extends VersionedObject { private static propertyNames; /** * Getter for the latest version of the common admin settings */ get latestVersion(): number; /** * Getter for the admin's preference on the connectivity level */ get connectivityLevel(): string; /** * Setter for the admin's preference on the connectivity level */ set connectivityLevel(value: string); get autoGatewayUpdate(): boolean; set autoGatewayUpdate(value: boolean); get autoExtensionsUpdate(): boolean; set autoExtensionsUpdate(value: boolean); get scheduledUpdateTime(): string; set scheduledUpdateTime(value: string); get updateRescheduled(): boolean; private sessionsExpirationMinutesCache; get sessionsExpirationMinutes(): number; set sessionsExpirationMinutes(value: number); private credentialsExpirationTimeInMsCache; /** * Get stored manage as credentials expiration time in milliseconds */ get credentialsExpirationTimeInMs(): number; /** * Store manage as credentials expiration time in milliseconds */ set credentialsExpirationTimeInMs(value: number); set updateRescheduled(value: boolean); constructor(objectWrapper: PlainVersionedObject, handlers: VersionedObjectHandlers, gatewayService: GatewayConnection); /** * Attempts to upgrade the current version of the object at least one version toward the latest version. * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version * this is called iteratively until the current version is equal to the latest version */ protected upgrade(): void; } /** * Defines the interface for the settings manager. */ export interface SettingsQuery { httpServerHeader: string; getCommonUserSettings(): Observable<CommonUserSettings>; getCommonApplicationSettings(): Observable<CommonApplicationSettings>; getCommonAdminSettings(): Observable<CommonAdminSettings>; getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; } /** * Manager for the settings. Provides an api for managing user and application settings. */ export declare class SettingsManager implements SettingsQuery { private rpc; private gatewayService; /** * Initializes a new instance of the SettingsManager class. * * @param rpc the RPC class instance. */ constructor(rpc: Rpc, gatewayService: GatewayConnection); /** * Gets the http server header if any. */ get httpServerHeader(): string; /** * Get common user settings. This is currently read-only */ getCommonUserSettings(): Observable<CommonUserSettings>; /** * Get common application settings. This is currently read-only */ getCommonApplicationSettings(): Observable<CommonApplicationSettings>; /** * Get common admin settings. This is currently read-only */ getCommonAdminSettings(): Observable<CommonAdminSettings>; /** * Get extension user settings * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor * example: if TestObject extends VersionedObject, then getExtensionUserSettings(TestObject) will return an Observable<TestObject> * you should only create 1 versioned object for your extensions user settings. */ getExtensionUserSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; /** * Get extension application settings * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor * example: if TestObject extends VersionedObject, then getExtensionApplicationSettings(TestObject) will return an * Observable<TestObject>. You should only create 1 versioned object for your extensions application settings. */ getExtensionApplicationSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; /** * Get extension admin settings * Extension settings objects must be an object that extends VersionedObject or implements the VersionedObjectConstructor * example: if TestObject extends VersionedObject, then getExtensionAdminSettings(TestObject) will return an * Observable<TestObject>. You should only create 1 versioned object for your extensions admin settings. */ getExtensionAdminSettings<T extends VersionedObject>(type: VersionedObjectConstructor<T>): Observable<T>; }