install method

void install()

Makes these grants the framework's answer to dvStudioAccessAction: a signed-in session whose user was granted on the session's tenant. Anything else -- no session, an API key, a person nobody granted -- is refused.

Implementation

void install() {
  const DVAuthAuthorization().registerDeclaredAction(
    dvStudioAccessAction,
    (Object? caller, Object? _) async {
      final DVSessionPrincipal? principal =
          caller is DVSessionPrincipal ? caller : DVSessionPrincipal.current;
      if (principal == null) return false;
      return isGranted(principal.userId, tenant: principal.tenant);
    },
  );
}