ts-onvif
Version:
Client to ONVIF devices
168 lines (167 loc) • 6.83 kB
TypeScript
/**
* 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>;
}