Skip to content

Commit

Permalink
Fix other space data shown on change space
Browse files Browse the repository at this point in the history
  • Loading branch information
cp-pratik-k committed Jul 18, 2023
1 parent 9de4c1e commit b3a293a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 16 deletions.
11 changes: 4 additions & 7 deletions lib/data/Repo/employee_repo.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import '../services/employee_service.dart';
class EmployeeRepo {
final EmployeeService _employeeService;
final UserStateNotifier _userStateNotifier;
final BehaviorSubject<List<Employee>> _employeeController =
BehaviorSubject<List<Employee>>();
late BehaviorSubject<List<Employee>> _employeeController;
StreamSubscription<List<Employee>>? _employeeStreamSubscription;

EmployeeRepo(this._employeeService, this._userStateNotifier) {
_employeeController = BehaviorSubject<List<Employee>>();
_employeeStreamSubscription = _employeeService
.employees(_userStateNotifier.currentSpaceId!)
.listen((value) {
Expand All @@ -38,6 +38,7 @@ class EmployeeRepo {
.toList());

Future<void> reset() async {
_employeeController = BehaviorSubject<List<Employee>>();
await _employeeStreamSubscription?.cancel();
_employeeStreamSubscription =
_employeeService.employees(_userStateNotifier.currentSpaceId!).listen(
Expand All @@ -47,13 +48,9 @@ class EmployeeRepo {
);
}

Future<void> cancel() async {
await _employeeStreamSubscription?.cancel();
}

@disposeMethod
Future<void> dispose() async {
await _employeeStreamSubscription?.cancel();
await _employeeController.close();
await _employeeStreamSubscription?.cancel();
}
}
11 changes: 4 additions & 7 deletions lib/data/Repo/leave_repo.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import 'package:rxdart/rxdart.dart';
@LazySingleton()
class LeaveRepo {
final LeaveService _leaveService;
final BehaviorSubject<List<Leave>> _leavesController =
BehaviorSubject<List<Leave>>();
late BehaviorSubject<List<Leave>> _leavesController;
StreamSubscription<List<Leave>>? _leavesStreamSubscription;

LeaveRepo(this._leaveService) {
_leavesController = BehaviorSubject<List<Leave>>();
_leavesStreamSubscription = _leaveService.leaves.listen((value) {
_leavesController.add(value);
}, onError: (e, s) async {
Expand All @@ -38,6 +38,7 @@ class LeaveRepo {
.toList());

Future<void> reset() async {
_leavesController = BehaviorSubject<List<Leave>>();
await _leavesStreamSubscription?.cancel();
_leavesStreamSubscription = _leaveService.leaves.listen(
(value) {
Expand All @@ -55,13 +56,9 @@ class LeaveRepo {
Stream<List<Leave>> userLeaves(String uid) => _leavesController.stream
.asyncMap((leaves) => leaves.where((leave) => leave.uid == uid).toList());

Future<void> cancel() async {
await _leavesStreamSubscription?.cancel();
}

@disposeMethod
Future<void> dispose() async {
await _leavesStreamSubscription?.cancel();
await _leavesController.close();
await _leavesStreamSubscription?.cancel();
}
}
4 changes: 2 additions & 2 deletions lib/data/provider/user_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ class UserStateNotifier with ChangeNotifier {
}

Future<void> removeEmployeeWithSpace() async {
await getIt<LeaveRepo>().cancel();
await getIt<EmployeeRepo>().cancel();
await getIt<LeaveRepo>().dispose();
await getIt<EmployeeRepo>().dispose();
await _userPreference.removeSpace();
await _userPreference.removeEmployee();
_userState = UserState.authenticated;
Expand Down

0 comments on commit b3a293a

Please sign in to comment.