EnrollmentDirectory class abstract

The atServer-backed directory of per-enrollment key packages.

Discovery of key packages lives behind this seam so the secret-sharing substrate above it is independent of the wire protocol and fully unit-testable with a fake. The concrete VerbEnrollmentDirectory talks to the gated enroll:listns and enroll:infons verbs; tests substitute their own implementation.

There is no registration method: a key package is conveyed into its enrollment record by riding enroll:request as opaque EnrollParams.metadata at enrollment time (there is no post-enrollment metadata write, and no enroll:metadata verb).

Implementers

Constructors

EnrollmentDirectory()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

lastRevokedAt(String namespace) → Future<DateTime?>
The latest moment a revocation touched an enrollment granted namespace that could hold its namespace key, null when none ever has.
listForNamespace(String namespace, {Set<String> excludeEnrollmentIds = const {}}) → Future<List<NamespaceMember>>
The enrollments authorised for namespace (the caller's own enrollment must hold at least read access — the atServer gates the verb), each with the key package to seal to. excludeEnrollmentIds drops revoked enrollments before they ever enter a roster.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited