16 lines
479 B
Dart
16 lines
479 B
Dart
import '../session/session.dart';
|
|
|
|
/// Backend identity a feature needs. Modules and settings sections declare
|
|
/// these; anything whose requirements the session does not meet is hidden.
|
|
enum AccessRequirement {
|
|
nextcloud;
|
|
|
|
bool isMetBy(Session? session) => switch (this) {
|
|
AccessRequirement.nextcloud => session?.nextcloud != null,
|
|
};
|
|
}
|
|
|
|
extension AccessRequirements on Set<AccessRequirement> {
|
|
bool areMetBy(Session? session) => every((r) => r.isMetBy(session));
|
|
}
|