docs(authentication): update example

This commit is contained in:
2023-04-13 23:21:38 +02:00
parent 33cb4f6f06
commit 828c1ace6f
9 changed files with 101 additions and 39 deletions
@@ -22,6 +22,7 @@ import 'package:example_router/core/dependency_injection/get_it.dart';
import 'package:example_router/core/routes/router.dart';
import 'package:example_router/core/utils/custom_password.dart';
import 'package:example_router/core/utils/forms.dart';
import 'package:example_router/presentation/features/sign_up/blocs/custom_sign_up_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
@@ -30,30 +31,20 @@ import 'package:wyatt_form_bloc/wyatt_form_bloc.dart';
import 'package:wyatt_type_utils/wyatt_type_utils.dart';
import 'package:wyatt_architecture/wyatt_architecture.dart';
FutureOrResult<int?> onSignUpSuccess(
AuthenticationRepository<int> repo,
Account? account,
WyattForm form,
) async {
const id = -1;
final confirmedPassword =
form.valueOf<String?>(AppFormField.confirmedPassword);
debugPrint(
'onSignUpSuccess: $account, generatedId: $id, extraFormData: $confirmedPassword');
return const Ok<int, AppException>(id);
}
FutureOrResult<int?> onAccountChanges(
AuthenticationRepository<int> repo,
Account? account,
AuthChangeEvent? authEvent,
) async {
final id = Random().nextInt(1000);
final token =
await repo.getIdentityToken().fold((value) => value, (error) => 'null');
if (authEvent is SignInAuthChangeEvent || authEvent is RefreshAuthChangeEvent) {
final id = Random().nextInt(1000);
final token =
await repo.getIdentityToken().fold((value) => value, (error) => 'null');
debugPrint('onAccountChanges: $account, token: $token, generatedId: $id');
return Ok<int, AppException>(id);
debugPrint('onAccountChanges: ${authEvent?.account}, type: ${authEvent.runtimeType}, token: $token, generatedId: $id');
return Ok<int, AppException>(id);
} else {
return Err(ClientException('Not supported auth change logic'));
}
}
class App extends StatelessWidget {
@@ -61,7 +52,6 @@ class App extends StatelessWidget {
AuthenticationRepositoryImpl(
authenticationCacheDataSource: getIt<AuthenticationCacheDataSource<int>>(),
authenticationRemoteDataSource: getIt<AuthenticationRemoteDataSource>(),
onSignUpSuccess: onSignUpSuccess,
onAuthChange: onAccountChanges,
customPasswordValidator: const CustomPassword.pure(),
extraSignUpInputs: [
@@ -127,7 +117,7 @@ class App extends StatelessWidget {
value: authenticationCubit,
),
BlocProvider<SignUpCubit<int>>(
create: (_) => SignUpCubit(
create: (_) => CustomSignUpCubit(
authenticationRepository: authenticationRepository,
),
),