manageengine-mdm
Version:
A TypeScript wrapper for the ManageEngine Mobile Device Manager Plus API
76 lines (75 loc) • 2.49 kB
TypeScript
export declare enum Scope {
INVENTORY_CREATE = "MDMOnDemand.MDMInventory.CREATE",
INVENTORY_UPDATE = "MDMOnDemand.MDMInventory.UPDATE",
INVENTORY_READ = "MDMOnDemand.MDMInventory.READ",
INVENTORY_DELETE = "MDMOnDemand.MDMInventory.DELETE",
INVENTORY_ALL = "MDMOnDemand.MDMInventory.ALL",
DEVICE_MGMT_CREATE = "MDMOnDemand.MDMDeviceMgmt.CREATE",
DEVICE_MGMT_UPDATE = "MDMOnDemand.MDMDeviceMgmt.UPDATE",
DEVICE_MGMT_READ = "MDMOnDemand.MDMDeviceMgmt.READ",
DEVICE_MGMT_DELETE = "MDMOnDemand.MDMDeviceMgmt.DELETE",
DEVICE_MGMT_ALL = "MDMOnDemand.MDMDeviceMgmt.ALL",
USER_CREATE = "MDMOnDemand.MDMUser.CREATE",
USER_UPDATE = "MDMOnDemand.MDMUser.UPDATE",
USER_READ = "MDMOnDemand.MDMUser.READ",
USER_DELETE = "MDMOnDemand.MDMUser.DELETE",
USER_ALL = "MDMOnDemand.MDMUser.ALL",
ADMIN_ALL = "MDMOnDemand.MDMAdmin.ALL",
ADMIN_CREATE = "MDMOnDemand.MDMAdmin.CREATE",
ADMIN_UPDATE = "MDMOnDemand.MDMAdmin.UPDATE",
ADMIN_READ = "MDMOnDemand.MDMAdmin.READ",
ADMIN_DELETE = "MDMOnDemand.MDMAdmin.DELETE"
}
export interface AuthConfig {
clientId: string;
clientSecret: string;
baseUrl: string;
redirectUri: string;
scope: Scope[];
tokenStorage?: TokenStorage;
}
export interface AuthCodeRequest {
clientId: string;
redirectUri: string;
scope: string[];
accessType?: 'online' | 'offline';
prompt?: 'consent';
}
export interface AuthCodeResponse {
code: string;
location: string;
accountsServer: string;
}
export interface TokenResponse {
access_token: string;
refresh_token?: string;
api_domain: string;
token_type: string;
expires_in: number;
}
export interface AuthState {
accessToken: string;
refreshToken?: string;
expiresAt: number;
apiDomain: string;
}
export interface TokenStorage {
/**
* Save token state to storage
*/
saveToken(accountsServer: string, state: AuthState): Promise<void>;
/**
* Get token state from storage
*/
getToken(accountsServer: string): Promise<AuthState | undefined>;
/**
* Clear token state from storage
*/
clearToken(accountsServer: string): Promise<void>;
}
export declare class InMemoryTokenStorage implements TokenStorage {
private tokens;
saveToken(accountsServer: string, state: AuthState): Promise<void>;
getToken(accountsServer: string): Promise<AuthState | undefined>;
clearToken(accountsServer: string): Promise<void>;
}