2023-01-18 04:03:50 +00:00
|
|
|
import 'package:result_monad/result_monad.dart';
|
|
|
|
|
2023-04-19 01:49:45 +00:00
|
|
|
import '../../models/connection.dart';
|
2023-01-18 04:03:50 +00:00
|
|
|
import '../../models/exec_error.dart';
|
|
|
|
import '../../models/group_data.dart';
|
|
|
|
|
2023-04-18 23:39:52 +00:00
|
|
|
abstract class IGroupsRepo {
|
2023-04-28 01:48:01 +00:00
|
|
|
void clear();
|
|
|
|
|
2023-04-18 23:39:52 +00:00
|
|
|
void addAllGroups(List<GroupData> groups);
|
|
|
|
|
2023-04-19 01:49:45 +00:00
|
|
|
void addConnectionToGroup(GroupData group, Connection connection);
|
|
|
|
|
2023-04-18 23:39:52 +00:00
|
|
|
void clearMyGroups();
|
|
|
|
|
|
|
|
void upsertGroup(GroupData group);
|
|
|
|
|
|
|
|
void deleteGroup(GroupData group);
|
|
|
|
|
|
|
|
List<GroupData> getMyGroups();
|
|
|
|
|
2023-04-19 01:49:45 +00:00
|
|
|
Result<List<Connection>, ExecError> getGroupMembers(GroupData group);
|
|
|
|
|
2023-04-18 23:39:52 +00:00
|
|
|
Result<List<GroupData>, ExecError> getGroupsForUser(String id);
|
|
|
|
|
|
|
|
bool updateConnectionGroupData(String id, List<GroupData> currentGroups);
|
2023-01-18 04:03:50 +00:00
|
|
|
}
|