mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-23 17:11:23 +00:00
30 lines
866 B
Dart
30 lines
866 B
Dart
import 'package:appflowy/generated/locale_keys.g.dart';
|
|
import 'package:appflowy_backend/protobuf/flowy-user/protobuf.dart';
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
extension AFRolePBExtension on AFRolePB {
|
|
bool get isOwner => this == AFRolePB.Owner;
|
|
|
|
bool get isMember => this == AFRolePB.Member;
|
|
|
|
bool get canInvite => isOwner;
|
|
|
|
bool get canDelete => isOwner;
|
|
|
|
bool get canUpdate => isOwner;
|
|
|
|
bool get canLeave => this != AFRolePB.Owner;
|
|
|
|
String get description {
|
|
switch (this) {
|
|
case AFRolePB.Owner:
|
|
return LocaleKeys.settings_appearance_members_owner.tr();
|
|
case AFRolePB.Member:
|
|
return LocaleKeys.settings_appearance_members_member.tr();
|
|
case AFRolePB.Guest:
|
|
return LocaleKeys.settings_appearance_members_guest.tr();
|
|
}
|
|
throw UnimplementedError('Unknown role: $this');
|
|
}
|
|
}
|