-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathactivity_repository.dart
35 lines (29 loc) · 1.08 KB
/
activity_repository.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import 'package:adventure_quest/activity/data/datasource/activity_local_datasource.dart';
import 'package:adventure_quest/activity/data/datasource/activity_remote_datasource.dart';
import 'package:adventure_quest/database/app_database.dart';
abstract class ActivityRepository {
// fetch, get, delete, save, basic crud with api calls too
Future<ActivityData> fetchActivity();
Future<List<ActivityData>> getActivity();
Future<void> saveActivity(activity);
void deleteActivity(int id);
}
class ActivityRepositoryImpl implements ActivityRepository {
@override
void deleteActivity(int id) {
return activityLocalDataSource.deleteActivity(id);
}
@override
Future<ActivityData> fetchActivity() async {
return activityRemoteDataSource.fetchActivity();
}
@override
Future<List<ActivityData>> getActivity() {
return activityLocalDataSource.getActivity();
}
@override
Future<void> saveActivity(activityCompanion) async {
return await activityLocalDataSource.addActivity(activityCompanion);
}
}
ActivityRepository activityRepository = ActivityRepositoryImpl();