UNPKG

ts-onvif

Version:

Client to ONVIF devices

68 lines (67 loc) 2.67 kB
/** * AccessRules ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/accessrules/wsdl/accessrules.wsdl */ import { Onvif } from './onvif'; import Service from './service'; import { Capabilities, CreateAccessProfile, CreateAccessProfileResponse, DeleteAccessProfile, GetAccessProfileInfo, GetAccessProfileInfoList, GetAccessProfileInfoListResponse, GetAccessProfileInfoResponse, GetAccessProfileList, GetAccessProfileListResponse, GetAccessProfiles, GetAccessProfilesResponse, ModifyAccessProfile, SetAccessProfile } from './interfaces/accessrules'; /** * AccessRules service * @example * ```ts * const list = await cam.accessRules.getAccessProfileInfoList(); * const token = list.accessProfileInfo![0].token; * console.log((await cam.accessRules.getAccessProfiles({ token: [token] })).accessProfile); * ``` */ export default class AccessRules extends Service { constructor(onvif: Onvif); private static accessPolicyToBuild; private static accessProfileInfoToBuild; private static accessProfileToBuild; /** * Returns the capabilities of the access rules service. */ getServiceCapabilities(): Promise<Capabilities>; /** * Returns access profile info items for the requested tokens. * @param options */ getAccessProfileInfo({ token }: GetAccessProfileInfo): Promise<GetAccessProfileInfoResponse>; /** * Returns a list of access profile info items. * @param options */ getAccessProfileInfoList(options?: GetAccessProfileInfoList): Promise<GetAccessProfileInfoListResponse>; /** * Returns access profile items for the requested tokens. * @param options */ getAccessProfiles({ token }: GetAccessProfiles): Promise<GetAccessProfilesResponse>; /** * Returns a list of access profile items. * @param options */ getAccessProfileList(options?: GetAccessProfileList): Promise<GetAccessProfileListResponse>; /** * Creates a new access profile. * @param options */ createAccessProfile({ accessProfile }: CreateAccessProfile): Promise<CreateAccessProfileResponse['token']>; /** * Creates or replaces an access profile (requires ClientSuppliedTokenSupported). * @param options */ setAccessProfile({ accessProfile }: SetAccessProfile): Promise<void>; /** * Modifies an existing access profile. * @param options */ modifyAccessProfile({ accessProfile }: ModifyAccessProfile): Promise<void>; /** * Deletes an access profile. * @param options */ deleteAccessProfile({ token }: DeleteAccessProfile): Promise<void>; }