relatica/lib/models/connection.dart

51 wiersze
1.0 KiB
Dart

class Connection {
final ConnectionStatus status;
final String name;
final String id;
final Uri profileUrl;
final String network;
final Uri avatarUrl;
Connection(
{this.status = ConnectionStatus.none,
this.name = '',
this.id = '',
Uri? profileUrl,
this.network = '',
Uri? avatarUrl})
: profileUrl = profileUrl ?? Uri(),
avatarUrl = avatarUrl ?? Uri();
@override
String toString() {
return 'Connection{status: $status, name: $name, id: $id, profileUrl: $profileUrl, network: $network, avatar: $avatarUrl}';
}
}
enum ConnectionStatus {
youFollowThem,
theyFollowYou,
mutual,
none,
}
extension FriendStatusWriter on ConnectionStatus {
String name() {
switch (this) {
case ConnectionStatus.youFollowThem:
return "You Follow Them";
case ConnectionStatus.theyFollowYou:
return "They Follow You";
case ConnectionStatus.mutual:
return "Follow each other";
case ConnectionStatus.none:
return "Not connected";
}
}
}