resolveConfiguredGuard<TContext, TResponse> function
Resolves a generic auth guard from definition.
Returns null when a role guard has no roles to check.
Implementation
AuthGuard<TContext, TResponse>? resolveConfiguredGuard<TContext, TResponse>({
required GuardDefinition definition,
required AuthGuard<TContext, TResponse> Function(String realm)
authenticatedGuard,
required AuthGuard<TContext, TResponse> Function(List<String> roles, bool any)
rolesGuard,
}) {
switch (definition.type) {
case GuardType.authenticated:
final realm = definition.realm == null || definition.realm!.trim().isEmpty
? 'Restricted'
: definition.realm!;
return authenticatedGuard(realm);
case GuardType.roles:
if (definition.roles.isEmpty) {
return null;
}
return rolesGuard(definition.roles, definition.any);
}
}