UNPKG

manageengine-mdm

Version:

A TypeScript wrapper for the ManageEngine Mobile Device Manager Plus API

70 lines (69 loc) 2.56 kB
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>; }