MultiAccessStrategy class final

MultiAccessStrategy — композиция из нескольких AccessStrategy.

Применяется, когда логика доступа разбита по нескольким источникам:

  • локальная стратегия (например, мок или кэш)
  • внешняя стратегия (например, из API, Firebase, Auth0)
  • временные заглушки

Проверка (hasPermission, hasRole, isFeatureEnabled) возвращает true, если хотя бы одна из стратегий даёт положительный ответ.

Используется по принципу "хоть кто-то разрешил — значит доступ есть".


Пример:

MultiAccessStrategy([
  LocalMockStrategy(),
  FirebasePermissionsStrategy(),
])
Implemented types
Annotations

Constructors

MultiAccessStrategy.new(List<AccessStrategy> strategies)
Создаёт объединённую стратегию доступа.
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
strategies List<AccessStrategy>
Список стратегий, по которым выполняется проверка.
final

Methods

hasPermission(BuildContext context, String permission) bool
Проверка пермишена (например, 'orders.edit')
override
hasRole(BuildContext context, String role) bool
Проверка роли (если используется)
override
isFeatureEnabled(BuildContext context, String flag) bool
Проверка feature-флага (например, 'new_ui')
override
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