Line data Source code
1 : import 'package:freezed_annotation/freezed_annotation.dart';
2 :
3 : import '../../../types.dart';
4 : import 'id_token_result.dart';
5 :
6 : part 'auth_state.freezed.dart';
7 : part 'auth_state.g.dart';
8 :
9 : @freezed
10 : class AuthState with _$AuthState {
11 : factory AuthState(
12 : {required EmailAuthVM emailVM,
13 : AuthUserData? userData,
14 : IdTokenResult? idTokenResult,
15 : required LinkAccountsViewModel linking,
16 : required AuthStepEnum step}) = _AuthState;
17 :
18 : // Initial state is null user data and waiting for input
19 0 : factory AuthState.init() => AuthState(
20 0 : emailVM: EmailAuthVM(),
21 : step: AuthStepEnum.waitingForInput,
22 0 : linking: LinkAccountsViewModel.init());
23 :
24 2 : factory AuthState.fromJson(JsonMap json) => _$AuthStateFromJson(json);
25 : }
|