manageengine-mdm
Version:
A TypeScript wrapper for the ManageEngine Mobile Device Manager Plus API
70 lines (69 loc) • 2.56 kB
TypeScript
import { AuthManager } from '../auth/AuthManager';
import { Profile, ProfileListResponse, ProfileCreateRequest, ProfileUpdateRequest, ProfileDeleteRequest, ProfilePayloadsResponse, PayloadDetailsResponse, PayloadConfig, PayloadName } from './types';
export declare class ProfilesAPI {
private readonly baseUrl;
private readonly authManager;
private readonly accountsServer;
constructor(baseUrl: string, authManager: AuthManager, accountsServer: string);
private getHeaders;
/**
* Get a list of all profiles
*/
listProfiles(): Promise<ProfileListResponse>;
/**
* Create a new profile
*/
createProfile(profile: ProfileCreateRequest): Promise<Profile>;
/**
* Delete or trash profiles. First call moves to trash, second call deletes permanently.
*/
deleteProfiles(request: ProfileDeleteRequest): Promise<void>;
/**
* Get details of a specific profile
*/
getProfile(profileId: string): Promise<Profile>;
/**
* Update a profile's details
*/
updateProfile(profileId: string, profile: ProfileUpdateRequest): Promise<void>;
/**
* Get list of payloads in a profile
*/
getProfilePayloads(profileId: string): Promise<ProfilePayloadsResponse>;
/**
* Get payload details for a specific payload type
*/
getPayloadDetails(profileId: string, payloadName: string): Promise<PayloadDetailsResponse>;
/**
* Add a new payload to a profile
*/
addPayload<T extends PayloadName>(profileId: string, payloadName: T, config: PayloadConfig[T]): Promise<PayloadConfig[T] & {
payload_id: number;
}>;
/**
* Remove a payload type from a profile
*/
removePayload(profileId: string, payloadName: string): Promise<void>;
/**
* Get details of a specific payload item
*/
getPayloadItem<T extends PayloadName>(profileId: string, payloadName: T, payloadId: string): Promise<PayloadConfig[T]>;
/**
* Update a payload item
*/
updatePayloadItem<T extends PayloadName>(profileId: string, payloadName: T, payloadId: string, config: PayloadConfig[T]): Promise<PayloadConfig[T] & {
payload_id: number;
}>;
/**
* Remove a payload item
*/
removePayloadItem(profileId: string, payloadName: string, payloadId: string): Promise<void>;
/**
* Publish a profile
*/
publishProfile(profileId: string): Promise<void>;
/**
* Update a profile to all devices and groups
*/
updateProfileToAll(profileId: string): Promise<void>;
}