Line data Source code
1 : import 'package:redux/redux.dart';
2 :
3 : import '../../auth/middleware/get_id_token_middleware.dart';
4 : import '../../auth/middleware/get_providers_for_email_middleware.dart';
5 : import '../../auth/middleware/observe_auth_state_middleware.dart';
6 : import '../../auth/middleware/sign_in_with_apple_middleware.dart';
7 : import '../../auth/middleware/sign_in_with_email_middleware.dart';
8 : import '../../auth/middleware/sign_in_with_git_hub.dart';
9 : import '../../auth/middleware/sign_in_with_google_middleware.dart';
10 : import '../../auth/middleware/sign_out_middleware.dart';
11 : import '../../auth/middleware/sign_up_with_email_middleware.dart';
12 : import '../../platform/middleware/detect_platform_middleware.dart';
13 : import '../../platform/middleware/launch_url_middleware.dart';
14 : import '../../types/red_fire_state.dart';
15 : import '../../utils/dev_tools_middleware.dart';
16 :
17 : /// Middleware is used for a variety of things that are performed when actions
18 : /// are dispatched to the Store. For example: Logging, Async calls (database,
19 : /// network), Calling to system frameworks.
20 : ///
21 : /// The middleawre can also perform another action using the [NextDispatcher]
22 0 : List<Middleware<T>> redfireMiddlewares<T extends RedFireState>() => [
23 : // Auth
24 0 : ObserveAuthStateMiddleware<T>(),
25 0 : SignInWithAppleMiddleware<T>(),
26 0 : SignInWithGoogleMiddleware<T>(),
27 0 : SignOutMiddleware<T>(),
28 0 : GetProvidersForEmailMiddleware<T>(),
29 0 : SignUpWithEmailMiddleware<T>(),
30 0 : SignInWithEmailMiddleware<T>(),
31 0 : SignInWithGitHubMiddleware<T>(),
32 0 : GetIdTokenMiddleware<T>(),
33 :
34 : // DevTools
35 0 : DevToolsMiddleware<T>(),
36 :
37 : // Platform
38 0 : DetectPlatformMiddleware<T>(),
39 0 : LaunchUrlMiddleware<T>(),
40 : ];
|