UNPKG

ts-onvif

Version:

Client to ONVIF devices

168 lines (167 loc) 6.83 kB
/** * Credential ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/credential/wsdl/credential.wsdl */ import { Onvif } from './onvif'; import Service from './service'; import { AddToBlacklist, AddToWhitelist, Capabilities, CreateCredential, CreateCredentialResponse, CredentialState, DeleteCredential, DeleteCredentialAccessProfiles, DeleteCredentialIdentifier, DisableCredential, EnableCredential, GetBlacklist, GetBlacklistResponse, GetCredentialAccessProfiles, GetCredentialAccessProfilesResponse, GetCredentialIdentifiers, GetCredentialIdentifiersResponse, GetCredentialInfo, GetCredentialInfoList, GetCredentialInfoListResponse, GetCredentialInfoResponse, GetCredentialList, GetCredentialListResponse, GetCredentials, GetCredentialsResponse, GetCredentialState, GetSupportedFormatTypes, GetSupportedFormatTypesResponse, GetWhitelist, GetWhitelistResponse, ModifyCredential, RemoveFromBlacklist, RemoveFromWhitelist, ResetAntipassbackViolation, SetCredential, SetCredentialAccessProfiles, SetCredentialIdentifier } from './interfaces/credential'; /** * Credential service * @example * ```ts * const list = await cam.credential.getCredentialInfoList(); * const token = list.credentialInfo![0].token; * console.log((await cam.credential.getCredentialState({ token })).enabled); * await cam.credential.enableCredential({ token }); * ``` */ export default class Credential extends Service { constructor(onvif: Onvif); private static attributeToBuild; private static credentialIdentifierTypeToBuild; private static credentialIdentifierToBuild; private static credentialIdentifierItemToBuild; private static credentialAccessProfileToBuild; private static credentialStateToBuild; private static credentialInfoToBuild; private static credentialToBuild; private static credentialDataToBuild; /** * Returns the capabilities of the credential service. */ getServiceCapabilities(): Promise<Capabilities>; /** * Returns supported format types for a credential identifier type. * @param options */ getSupportedFormatTypes({ credentialIdentifierTypeName, }: GetSupportedFormatTypes): Promise<GetSupportedFormatTypesResponse['formatTypeInfo']>; /** * Returns credential info items for the requested tokens. * @param options */ getCredentialInfo({ token }: GetCredentialInfo): Promise<GetCredentialInfoResponse>; /** * Returns a list of credential info items. * @param options */ getCredentialInfoList(options?: GetCredentialInfoList): Promise<GetCredentialInfoListResponse>; /** * Returns credential items for the requested tokens. * @param options */ getCredentials({ token }: GetCredentials): Promise<GetCredentialsResponse>; /** * Returns a list of credential items. * @param options */ getCredentialList(options?: GetCredentialList): Promise<GetCredentialListResponse>; /** * Creates a new credential. * @param options */ createCredential({ credential, state }: CreateCredential): Promise<CreateCredentialResponse['token']>; /** * Creates or replaces a credential (requires ClientSuppliedTokenSupported). * @param options */ setCredential({ credentialData }: SetCredential): Promise<void>; /** * Modifies an existing credential. * @param options */ modifyCredential({ credential }: ModifyCredential): Promise<void>; /** * Deletes a credential. * @param options */ deleteCredential({ token }: DeleteCredential): Promise<void>; /** * Returns the current state of a credential. * @param options */ getCredentialState({ token }: GetCredentialState): Promise<CredentialState>; /** * Enables a credential. * @param options */ enableCredential({ token, reason }: EnableCredential): Promise<void>; /** * Disables a credential. * @param options */ disableCredential({ token, reason }: DisableCredential): Promise<void>; /** * Resets an anti-passback violation for a credential. * @param options */ resetAntipassbackViolation({ credentialToken }: ResetAntipassbackViolation): Promise<void>; /** * Returns identifiers of a credential. * @param options */ getCredentialIdentifiers({ credentialToken, }: GetCredentialIdentifiers): Promise<GetCredentialIdentifiersResponse['credentialIdentifier']>; /** * Sets a credential identifier. * @param options */ setCredentialIdentifier({ credentialToken, credentialIdentifier }: SetCredentialIdentifier): Promise<void>; /** * Deletes a credential identifier by type name. * @param options */ deleteCredentialIdentifier({ credentialToken, credentialIdentifierTypeName, }: DeleteCredentialIdentifier): Promise<void>; /** * Returns access profiles associated with a credential. * @param options */ getCredentialAccessProfiles({ credentialToken, }: GetCredentialAccessProfiles): Promise<GetCredentialAccessProfilesResponse['credentialAccessProfile']>; /** * Sets access profiles associated with a credential. * @param options */ setCredentialAccessProfiles({ credentialToken, credentialAccessProfile, }: SetCredentialAccessProfiles): Promise<void>; /** * Deletes access profiles associated with a credential. * @param options */ deleteCredentialAccessProfiles({ credentialToken, accessProfileToken, }: DeleteCredentialAccessProfiles): Promise<void>; /** * Returns whitelisted credential identifiers. * @param options */ getWhitelist(options?: GetWhitelist): Promise<GetWhitelistResponse>; /** * Adds credential identifiers to the whitelist. * @param options */ addToWhitelist({ identifier }: AddToWhitelist): Promise<void>; /** * Removes credential identifiers from the whitelist. * @param options */ removeFromWhitelist({ identifier }: RemoveFromWhitelist): Promise<void>; /** * Deletes all whitelisted credential identifiers. */ deleteWhitelist(): Promise<void>; /** * Returns blacklisted credential identifiers. * @param options */ getBlacklist(options?: GetBlacklist): Promise<GetBlacklistResponse>; /** * Adds credential identifiers to the blacklist. * @param options */ addToBlacklist({ identifier }: AddToBlacklist): Promise<void>; /** * Removes credential identifiers from the blacklist. * @param options */ removeFromBlacklist({ identifier }: RemoveFromBlacklist): Promise<void>; /** * Deletes all blacklisted credential identifiers. */ deleteBlacklist(): Promise<void>; }