Files
Kifi/kifi-app/lib/features/projects/providers/project_provider.dart

27 lines
987 B
Dart

import '../../../core/network/dio_client.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../auth/providers/auth_provider.dart';
import '../data/project_repository.dart';
import '../domain/project.dart';
import '../domain/project_task.dart';
import '../domain/project_task_comment.dart';
final projectRepositoryProvider = Provider<ProjectRepository>((ref) {
return ProjectRepository(DioClient().dio);
});
final projectsProvider = FutureProvider<List<Project>>((ref) async {
final repo = ref.watch(projectRepositoryProvider);
return repo.getProjects();
});
final projectTasksProvider = FutureProvider.family<List<ProjectTask>, int>((ref, projectId) async {
final repo = ref.watch(projectRepositoryProvider);
return repo.getTasks(projectId);
});
final projectTaskCommentsProvider = FutureProvider.family<List<ProjectTaskComment>, int>((ref, taskId) async {
final repo = ref.watch(projectRepositoryProvider);
return repo.getComments(taskId);
});