diff --git a/packages/wyatt_authentication_bloc/lib/src/data/models/account_model.dart b/packages/wyatt_authentication_bloc/lib/src/data/models/account_model.dart index 2405747d..d886d329 100644 --- a/packages/wyatt_authentication_bloc/lib/src/data/models/account_model.dart +++ b/packages/wyatt_authentication_bloc/lib/src/data/models/account_model.dart @@ -60,4 +60,28 @@ class AccountModel extends Account { this.phoneNumber, this.photoURL, }); + + AccountModel copyWith({ + String? uid, + String? email, + DateTime? creationTime, + bool? emailVerified, + bool? isAnonymous, + bool? isNewUser, + DateTime? lastSignInTime, + String? phoneNumber, + String? photoURL, + String? providerId, + }) => AccountModel( + uid: uid ?? this.uid, + email: email ?? this.email, + creationTime: creationTime ?? this.creationTime, + emailVerified: emailVerified ?? this.emailVerified, + isAnonymous: isAnonymous ?? this.isAnonymous, + isNewUser: isNewUser ?? this.isNewUser, + lastSignInTime: lastSignInTime ?? this.lastSignInTime, + phoneNumber: phoneNumber ?? this.phoneNumber, + photoURL: photoURL ?? this.photoURL, + providerId: providerId ?? this.providerId, + ); } diff --git a/packages/wyatt_authentication_bloc/lib/src/data/models/account_wrapper_model.dart b/packages/wyatt_authentication_bloc/lib/src/data/models/account_wrapper_model.dart index 69bffd98..e99b774e 100644 --- a/packages/wyatt_authentication_bloc/lib/src/data/models/account_wrapper_model.dart +++ b/packages/wyatt_authentication_bloc/lib/src/data/models/account_wrapper_model.dart @@ -1,3 +1,4 @@ +// ignore_for_file: public_member_api_docs, sort_constructors_first // Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // @@ -24,4 +25,12 @@ class AccountWrapperModel extends AccountWrapper { final T? data; AccountWrapperModel(this.account, this.data); + + AccountWrapperModel copyWith({ + Account? account, + T? data, + }) => AccountWrapperModel( + account ?? this.account, + data ?? this.data, + ); } diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart index 976be6be..5723d3a5 100644 --- a/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart +++ b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart @@ -73,4 +73,11 @@ abstract class Account extends Equatable implements Entity { providerId, isNewUser, ]; + + @override + String toString() => 'AccountModel(uid: $uid, email: $email, ' + 'creationTime: $creationTime, emailVerified: $emailVerified, ' + 'isAnonymous: $isAnonymous, isNewUser: $isNewUser, lastSignInTime: ' + '$lastSignInTime, phoneNumber: $phoneNumber, photoURL: $photoURL, ' + 'providerId: $providerId)'; } diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart index a83b1f80..0788e03e 100644 --- a/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart +++ b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart @@ -24,4 +24,7 @@ abstract class AccountWrapper extends Equatable implements Entity { @override List get props => [account, data]; + + @override + String toString() => 'AccountWrapper($account, data: $data)'; }