2023-11-15 21:05:45 +00:00
|
|
|
import 'package:result_monad/result_monad.dart';
|
|
|
|
|
|
|
|
import '../../models/connection.dart';
|
|
|
|
import '../../models/exec_error.dart';
|
2024-08-28 15:23:44 +00:00
|
|
|
import '../../models/timeline_grouping_list_data.dart';
|
2023-11-15 21:05:45 +00:00
|
|
|
|
|
|
|
abstract class ICirclesRepo {
|
|
|
|
void clear();
|
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
void addAllCircles(List<TimelineGroupingListData> circles);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
void addConnectionToCircle(
|
|
|
|
TimelineGroupingListData circle, Connection connection);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2025-07-22 21:29:33 +00:00
|
|
|
void removeConnectionFromCircle(
|
|
|
|
TimelineGroupingListData circle, Connection connection);
|
|
|
|
|
2023-11-15 21:05:45 +00:00
|
|
|
void clearMyCircles();
|
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
void upsertCircle(TimelineGroupingListData circle);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
void deleteCircle(TimelineGroupingListData circle);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
List<TimelineGroupingListData> getMyCircles();
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
Result<List<Connection>, ExecError> getCircleMembers(
|
|
|
|
TimelineGroupingListData circle);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
Result<List<TimelineGroupingListData>, ExecError> getCirclesForUser(
|
|
|
|
String id);
|
2023-11-15 21:05:45 +00:00
|
|
|
|
2024-08-28 15:23:44 +00:00
|
|
|
bool updateConnectionCircleData(
|
2024-12-07 02:33:51 +00:00
|
|
|
String id, List<TimelineGroupingListData> currentCircles);
|
2023-11-15 21:05:45 +00:00
|
|
|
}
|