UNPKG

ts-onvif

Version:

Client to ONVIF devices

146 lines (145 loc) 5.6 kB
/** * AccessControl ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/accesscontrol/wsdl/accesscontrol.wsdl */ import { Onvif } from './onvif'; import Service from './service'; import { AccessPointState, Capabilities, CreateAccessPoint, CreateAccessPointResponse, CreateArea, CreateAreaResponse, DeleteAccessPoint, DeleteAccessPointAuthenticationProfile, DeleteArea, DisableAccessPoint, EnableAccessPoint, ExternalAuthorization, Feedback, GetAccessPointInfo, GetAccessPointInfoList, GetAccessPointInfoListResponse, GetAccessPointInfoResponse, GetAccessPointList, GetAccessPointListResponse, GetAccessPoints, GetAccessPointsResponse, GetAccessPointState, GetAreaInfo, GetAreaInfoList, GetAreaInfoListResponse, GetAreaInfoResponse, GetAreaList, GetAreaListResponse, GetAreas, GetAreasResponse, ModifyAccessPoint, ModifyArea, SetAccessPoint, SetAccessPointAuthenticationProfile, SetArea } from './interfaces/accesscontrol'; /** * AccessControl service * @example * ```ts * const list = await cam.accessControl.getAccessPointInfoList(); * const token = list.accessPointInfo![0].token; * console.log((await cam.accessControl.getAccessPointState({ token })).enabled); * await cam.accessControl.disableAccessPoint({ token }); * ``` */ export default class AccessControl extends Service { constructor(onvif: Onvif); private static accessPointCapabilitiesToBuild; private static accessPointInfoToBuild; private static accessPointToBuild; private static areaInfoToBuild; private static areaToBuild; /** * Returns the capabilities of the access control service. */ getServiceCapabilities(): Promise<Capabilities>; /** * Returns a list of access point info items. * @param options */ getAccessPointInfoList(options?: GetAccessPointInfoList): Promise<GetAccessPointInfoListResponse>; /** * Returns access point info items for the requested tokens. * @param options */ getAccessPointInfo({ token }: GetAccessPointInfo): Promise<GetAccessPointInfoResponse>; /** * Returns a list of access point items. * @param options */ getAccessPointList(options?: GetAccessPointList): Promise<GetAccessPointListResponse>; /** * Returns access point items for the requested tokens. * @param options */ getAccessPoints({ token }: GetAccessPoints): Promise<GetAccessPointsResponse>; /** * Creates a new access point. * @param options */ createAccessPoint({ accessPoint }: CreateAccessPoint): Promise<CreateAccessPointResponse['token']>; /** * Creates or replaces an access point (requires ClientSuppliedTokenSupported). * @param options */ setAccessPoint({ accessPoint }: SetAccessPoint): Promise<void>; /** * Modifies an existing access point. * @param options */ modifyAccessPoint({ accessPoint }: ModifyAccessPoint): Promise<void>; /** * Deletes an access point. * @param options */ deleteAccessPoint({ token }: DeleteAccessPoint): Promise<void>; /** * Sets the authentication profile of an access point. * @param options */ setAccessPointAuthenticationProfile({ token, authenticationProfileToken, }: SetAccessPointAuthenticationProfile): Promise<void>; /** * Deletes the authentication profile reference from an access point. * @param options */ deleteAccessPointAuthenticationProfile({ token }: DeleteAccessPointAuthenticationProfile): Promise<void>; /** * Returns a list of area info items. * @param options */ getAreaInfoList(options?: GetAreaInfoList): Promise<GetAreaInfoListResponse>; /** * Returns area info items for the requested tokens. * @param options */ getAreaInfo({ token }: GetAreaInfo): Promise<GetAreaInfoResponse>; /** * Returns a list of area items. * @param options */ getAreaList(options?: GetAreaList): Promise<GetAreaListResponse>; /** * Returns area items for the requested tokens. * @param options */ getAreas({ token }: GetAreas): Promise<GetAreasResponse>; /** * Creates a new area. * @param options */ createArea({ area }: CreateArea): Promise<CreateAreaResponse['token']>; /** * Creates or replaces an area (requires ClientSuppliedTokenSupported). * @param options */ setArea({ area }: SetArea): Promise<void>; /** * Modifies an existing area. * @param options */ modifyArea({ area }: ModifyArea): Promise<void>; /** * Deletes an area. * @param options */ deleteArea({ token }: DeleteArea): Promise<void>; /** * Returns the current state of an access point. * @param options */ getAccessPointState({ token }: GetAccessPointState): Promise<AccessPointState>; /** * Enables an access point. * @param options */ enableAccessPoint({ token }: EnableAccessPoint): Promise<void>; /** * Disables an access point. * @param options */ disableAccessPoint({ token }: DisableAccessPoint): Promise<void>; /** * Informs the device about an external authorization decision. * @param options */ externalAuthorization({ accessPointToken, credentialToken, reason, decision, }: ExternalAuthorization): Promise<void>; /** * Provides feedback for an access point. * @param options */ feedback({ accessPointToken, feedbackType, recognitionType, textMessage }: Feedback): Promise<void>; }