@digitalpersona/enrollment
Version:
DigitalPersona Enrollment API
54 lines (48 loc) • 1.77 kB
text/typescript
import { User, Credential, Ticket, CredentialId } from '@digitalpersona/core';
import { EnrollmentContext } from '..';
/** @internal */
export abstract class Enroller
{
constructor(
protected readonly context: EnrollmentContext,
){
if (!this.context)
throw new Error("context");
}
protected _canEnroll(credId: CredentialId): Promise<void>
{
return this.context.enrollService.IsEnrollmentAllowed(
new Ticket(this.context.securityOfficer || ""),
this.context.getUser(),
credId,
);
}
protected _enroll(credential: Credential): Promise<void>
{
if (this.context.user instanceof User) {
return this.context.enrollService.EnrollAltusUserCredentials(
new Ticket(this.context.securityOfficer || ""),
this.context.user,
credential);
} else {
return this.context.enrollService.EnrollUserCredentials(
new Ticket(this.context.securityOfficer || ""),
new Ticket(this.context.user),
credential);
}
}
protected _unenroll(credential: Credential): Promise<void>
{
if (this.context.user instanceof User) {
return this.context.enrollService.DeleteAltusUserCredentials(
new Ticket(this.context.securityOfficer || ""),
this.context.user,
credential);
} else {
return this.context.enrollService.DeleteUserCredentials(
new Ticket(this.context.securityOfficer || ""),
new Ticket(this.context.user),
credential);
}
}
}