diff --git a/packages/wyatt_authentication_bloc/lib/src/core/core.dart b/packages/wyatt_authentication_bloc/lib/src/core/core.dart new file mode 100644 index 00000000..658cbca0 --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/core/core.dart @@ -0,0 +1,19 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +export 'enums/enums.dart'; +export 'exceptions/exceptions.dart'; +export 'utils/utils.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/core/enums/authentication_status.dart b/packages/wyatt_authentication_bloc/lib/src/core/enums/authentication_status.dart new file mode 100644 index 00000000..af10ceae --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/core/enums/authentication_status.dart @@ -0,0 +1,21 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +enum AuthenticationStatus { + unknown, + authenticated, + unauthenticated, +} diff --git a/packages/wyatt_authentication_bloc/lib/src/core/enum/auth_cubit_status.dart b/packages/wyatt_authentication_bloc/lib/src/core/enums/enums.dart similarity index 92% rename from packages/wyatt_authentication_bloc/lib/src/core/enum/auth_cubit_status.dart rename to packages/wyatt_authentication_bloc/lib/src/core/enums/enums.dart index 37448fa1..67d107d6 100644 --- a/packages/wyatt_authentication_bloc/lib/src/core/enum/auth_cubit_status.dart +++ b/packages/wyatt_authentication_bloc/lib/src/core/enums/enums.dart @@ -1,20 +1,17 @@ // Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. -// +// // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. -// +// // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program. If not, see . -enum AuthCubitStatus { - started, - stoped, -} +export 'authentication_status.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions.dart b/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions.dart index 44f258f7..11e7835d 100644 --- a/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions.dart +++ b/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions.dart @@ -14,13 +14,18 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -abstract class AuthenticationFailureInterface implements Exception { - String code; - String message; +import 'package:wyatt_architecture/wyatt_architecture.dart'; - AuthenticationFailureInterface(this.code, this.message); +part 'exceptions_firebase.dart'; + +abstract class AuthenticationFailureInterface extends AppException + implements Exception { + String code; + String msg; + + AuthenticationFailureInterface(this.code, this.msg); AuthenticationFailureInterface.fromCode(this.code) - : message = 'An unknown error occurred.'; + : msg = 'An unknown error occurred.'; } /// {@template apply_action_code_failure} @@ -29,7 +34,7 @@ abstract class AuthenticationFailureInterface implements Exception { abstract class ApplyActionCodeFailureInterface extends AuthenticationFailureInterface { /// {@macro apply_action_code_failure} - ApplyActionCodeFailureInterface(super.code, super.message); + ApplyActionCodeFailureInterface(super.code, super.msg); /// {@macro apply_action_code_failure} ApplyActionCodeFailureInterface.fromCode(super.code) : super.fromCode(); @@ -41,7 +46,7 @@ abstract class ApplyActionCodeFailureInterface abstract class SignUpWithEmailAndPasswordFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_up_with_email_and_password_failure} - SignUpWithEmailAndPasswordFailureInterface(super.code, super.message); + SignUpWithEmailAndPasswordFailureInterface(super.code, super.msg); /// {@macro sign_up_with_email_and_password_failure} SignUpWithEmailAndPasswordFailureInterface.fromCode(super.code) @@ -54,7 +59,7 @@ abstract class SignUpWithEmailAndPasswordFailureInterface abstract class FetchSignInMethodsForEmailFailureInterface extends AuthenticationFailureInterface { /// {@macro fetch_sign_in_methods_failure} - FetchSignInMethodsForEmailFailureInterface(super.code, super.message); + FetchSignInMethodsForEmailFailureInterface(super.code, super.msg); /// {@macro fetch_sign_in_methods_failure} FetchSignInMethodsForEmailFailureInterface.fromCode(super.code) @@ -67,7 +72,7 @@ abstract class FetchSignInMethodsForEmailFailureInterface abstract class SignInWithCredentialFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_credential_failure} - SignInWithCredentialFailureInterface(super.code, super.message); + SignInWithCredentialFailureInterface(super.code, super.msg); /// {@macro sign_in_with_credential_failure} SignInWithCredentialFailureInterface.fromCode(super.code) : super.fromCode(); @@ -79,7 +84,7 @@ abstract class SignInWithCredentialFailureInterface abstract class SignInAnonymouslyFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_anonymously_failure} - SignInAnonymouslyFailureInterface(super.code, super.message); + SignInAnonymouslyFailureInterface(super.code, super.msg); /// {@macro sign_in_anonymously_failure} SignInAnonymouslyFailureInterface.fromCode(super.code) : super.fromCode(); @@ -91,7 +96,7 @@ abstract class SignInAnonymouslyFailureInterface abstract class SignInWithGoogleFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_google_failure} - SignInWithGoogleFailureInterface(super.code, super.message); + SignInWithGoogleFailureInterface(super.code, super.msg); /// {@macro sign_in_with_google_failure} SignInWithGoogleFailureInterface.fromCode(super.code) : super.fromCode(); @@ -103,7 +108,7 @@ abstract class SignInWithGoogleFailureInterface abstract class SignInWithFacebookFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_facebook_failure} - SignInWithFacebookFailureInterface(super.code, super.message); + SignInWithFacebookFailureInterface(super.code, super.msg); /// {@macro sign_in_with_facebook_failure} SignInWithFacebookFailureInterface.fromCode(super.code) : super.fromCode(); @@ -115,7 +120,7 @@ abstract class SignInWithFacebookFailureInterface abstract class SignInWithAppleFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_apple_failure} - SignInWithAppleFailureInterface(super.code, super.message); + SignInWithAppleFailureInterface(super.code, super.msg); /// {@macro sign_in_with_apple_failure} SignInWithAppleFailureInterface.fromCode(super.code) : super.fromCode(); @@ -127,7 +132,7 @@ abstract class SignInWithAppleFailureInterface abstract class SignInWithTwitterFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_twitter_failure} - SignInWithTwitterFailureInterface(super.code, super.message); + SignInWithTwitterFailureInterface(super.code, super.msg); /// {@macro sign_in_with_twitter_failure} SignInWithTwitterFailureInterface.fromCode(super.code) : super.fromCode(); @@ -139,7 +144,7 @@ abstract class SignInWithTwitterFailureInterface abstract class SignInWithEmailLinkFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_email_link_failure} - SignInWithEmailLinkFailureInterface(super.code, super.message); + SignInWithEmailLinkFailureInterface(super.code, super.msg); /// {@macro sign_in_with_email_link_failure} SignInWithEmailLinkFailureInterface.fromCode(super.code) : super.fromCode(); @@ -151,7 +156,7 @@ abstract class SignInWithEmailLinkFailureInterface abstract class SignInWithEmailAndPasswordFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_in_with_email_and_password_failure} - SignInWithEmailAndPasswordFailureInterface(super.code, super.message); + SignInWithEmailAndPasswordFailureInterface(super.code, super.msg); /// {@macro sign_in_with_email_and_password_failure} SignInWithEmailAndPasswordFailureInterface.fromCode(super.code) @@ -164,7 +169,7 @@ abstract class SignInWithEmailAndPasswordFailureInterface abstract class SendEmailVerificationFailureInterface extends AuthenticationFailureInterface { /// {@macro send_email_verification_failure} - SendEmailVerificationFailureInterface(super.code, super.message); + SendEmailVerificationFailureInterface(super.code, super.msg); /// {@macro send_email_verification_failure} SendEmailVerificationFailureInterface.fromCode(super.code) : super.fromCode(); @@ -176,7 +181,7 @@ abstract class SendEmailVerificationFailureInterface abstract class SendPasswordResetEmailFailureInterface extends AuthenticationFailureInterface { /// {@macro send_password_reset_email_failure} - SendPasswordResetEmailFailureInterface(super.code, super.message); + SendPasswordResetEmailFailureInterface(super.code, super.msg); /// {@macro send_password_reset_email_failure} SendPasswordResetEmailFailureInterface.fromCode(super.code) @@ -189,7 +194,7 @@ abstract class SendPasswordResetEmailFailureInterface abstract class SendSignInLinkEmailFailureInterface extends AuthenticationFailureInterface { /// {@macro send_sign_in_link_email_failure} - SendSignInLinkEmailFailureInterface(super.code, super.message); + SendSignInLinkEmailFailureInterface(super.code, super.msg); /// {@macro send_sign_in_link_email_failure} SendSignInLinkEmailFailureInterface.fromCode(super.code) : super.fromCode(); @@ -201,7 +206,7 @@ abstract class SendSignInLinkEmailFailureInterface abstract class ConfirmPasswordResetFailureInterface extends AuthenticationFailureInterface { /// {@macro confirm_password_reset_failure} - ConfirmPasswordResetFailureInterface(super.code, super.message); + ConfirmPasswordResetFailureInterface(super.code, super.msg); /// {@macro confirm_password_reset_failure} ConfirmPasswordResetFailureInterface.fromCode(super.code) : super.fromCode(); @@ -213,7 +218,7 @@ abstract class ConfirmPasswordResetFailureInterface abstract class VerifyPasswordResetCodeFailureInterface extends AuthenticationFailureInterface { /// {@macro verify_password_reset_code_failure} - VerifyPasswordResetCodeFailureInterface(super.code, super.message); + VerifyPasswordResetCodeFailureInterface(super.code, super.msg); /// {@macro verify_password_reset_code_failure} VerifyPasswordResetCodeFailureInterface.fromCode(super.code) @@ -225,7 +230,7 @@ abstract class VerifyPasswordResetCodeFailureInterface /// {@endtemplate} abstract class RefreshFailureInterface extends AuthenticationFailureInterface { /// {@macro refresh_failure} - RefreshFailureInterface(super.code, super.message); + RefreshFailureInterface(super.code, super.msg); /// {@macro refresh_failure} RefreshFailureInterface.fromCode(super.code) : super.fromCode(); @@ -236,7 +241,7 @@ abstract class RefreshFailureInterface extends AuthenticationFailureInterface { /// {@endtemplate} abstract class SignOutFailureInterface extends AuthenticationFailureInterface { /// {@macro sign_out_failure} - SignOutFailureInterface(super.code, super.message); + SignOutFailureInterface(super.code, super.msg); /// {@macro sign_out_failure} SignOutFailureInterface.fromCode(super.code) : super.fromCode(); diff --git a/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions_firebase.dart b/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions_firebase.dart index a2d2c108..42f410a2 100644 --- a/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions_firebase.dart +++ b/packages/wyatt_authentication_bloc/lib/src/core/exceptions/exceptions_firebase.dart @@ -14,133 +14,130 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:wyatt_authentication_bloc/src/core/exceptions/exceptions.dart'; +part of 'exceptions.dart'; class ApplyActionCodeFailureFirebase extends ApplyActionCodeFailureInterface { - ApplyActionCodeFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + ApplyActionCodeFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); ApplyActionCodeFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'expired-action-code': - message = 'Action code has expired.'; + msg = 'Action code has expired.'; break; case 'invalid-action-code': - message = 'Action code is invalid.'; + msg = 'Action code is invalid.'; break; case 'user-disabled': - message = - 'This user has been disabled. Please contact support for help.'; + msg = 'This user has been disabled. Please contact support for help.'; break; case 'user-not-found': - message = 'Email is not found, please create an account.'; + msg = 'Email is not found, please create an account.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class SignUpWithEmailAndPasswordFailureFirebase extends SignUpWithEmailAndPasswordFailureInterface { - SignUpWithEmailAndPasswordFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignUpWithEmailAndPasswordFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignUpWithEmailAndPasswordFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'invalid-email': - message = 'The email address is badly formatted.'; + msg = 'The email address is badly formatted.'; break; case 'user-disabled': - message = - 'This user has been disabled. Please contact support for help.'; + msg = 'This user has been disabled. Please contact support for help.'; break; case 'email-already-in-use': - message = 'An account already exists for that email.'; + msg = 'An account already exists for that email.'; break; case 'operation-not-allowed': - message = 'Operation is not allowed. Please contact support.'; + msg = 'Operation is not allowed. Please contact support.'; break; case 'weak-password': - message = 'Please enter a stronger password.'; + msg = 'Please enter a stronger password.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class FetchSignInMethodsForEmailFailureFirebase extends FetchSignInMethodsForEmailFailureInterface { - FetchSignInMethodsForEmailFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + FetchSignInMethodsForEmailFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); FetchSignInMethodsForEmailFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'invalid-email': - message = 'The email address is badly formatted.'; + msg = 'The email address is badly formatted.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class SignInAnonymouslyFailureFirebase extends SignInAnonymouslyFailureInterface { - SignInAnonymouslyFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignInAnonymouslyFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignInAnonymouslyFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'operation-not-allowed': - message = 'Operation is not allowed. Please contact support.'; + msg = 'Operation is not allowed. Please contact support.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class SignInWithCredentialFailureFirebase extends SignInWithCredentialFailureInterface { - SignInWithCredentialFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignInWithCredentialFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignInWithCredentialFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'account-exists-with-different-credential': - message = 'Account exists with different credentials.'; + msg = 'Account exists with different credentials.'; break; case 'invalid-credential': - message = 'The credential received is malformed or has expired.'; + msg = 'The credential received is malformed or has expired.'; break; case 'operation-not-allowed': - message = 'Operation is not allowed. Please contact support.'; + msg = 'Operation is not allowed. Please contact support.'; break; case 'user-disabled': - message = - 'This user has been disabled. Please contact support for help.'; + msg = 'This user has been disabled. Please contact support for help.'; break; case 'user-not-found': - message = 'Email is not found, please create an account.'; + msg = 'Email is not found, please create an account.'; break; case 'wrong-password': - message = 'Incorrect password, please try again.'; + msg = 'Incorrect password, please try again.'; break; case 'invalid-verification-code': - message = 'The credential verification code received is invalid.'; + msg = 'The credential verification code received is invalid.'; break; case 'invalid-verification-id': - message = 'The credential verification ID received is invalid.'; + msg = 'The credential verification ID received is invalid.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } @@ -148,130 +145,128 @@ class SignInWithCredentialFailureFirebase class SignInWithGoogleFailureFirebase extends SignInWithCredentialFailureFirebase implements SignInWithGoogleFailureInterface { - SignInWithGoogleFailureFirebase([super.code, super.message]); + SignInWithGoogleFailureFirebase([super.code, super.msg]); SignInWithGoogleFailureFirebase.fromCode(super.code) : super.fromCode(); } class SignInWithFacebookFailureFirebase extends SignInWithCredentialFailureFirebase implements SignInWithFacebookFailureInterface { - SignInWithFacebookFailureFirebase([super.code, super.message]); + SignInWithFacebookFailureFirebase([super.code, super.msg]); SignInWithFacebookFailureFirebase.fromCode(super.code) : super.fromCode(); } class SignInWithAppleFailureFirebase extends SignInWithCredentialFailureFirebase implements SignInWithAppleFailureInterface { - SignInWithAppleFailureFirebase([super.code, super.message]); + SignInWithAppleFailureFirebase([super.code, super.msg]); SignInWithAppleFailureFirebase.fromCode(super.code) : super.fromCode(); } class SignInWithTwitterFailureFirebase extends SignInWithCredentialFailureFirebase implements SignInWithAppleFailureInterface { - SignInWithTwitterFailureFirebase([super.code, super.message]); + SignInWithTwitterFailureFirebase([super.code, super.msg]); SignInWithTwitterFailureFirebase.fromCode(super.code) : super.fromCode(); } class SignInWithEmailLinkFailureFirebase extends SignInWithEmailLinkFailureInterface { - SignInWithEmailLinkFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignInWithEmailLinkFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignInWithEmailLinkFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'expired-action-code': - message = 'Action code has expired.'; + msg = 'Action code has expired.'; break; case 'invalid-email': - message = 'Email is not valid or badly formatted.'; + msg = 'Email is not valid or badly formatted.'; break; case 'user-disabled': - message = - 'This user has been disabled. Please contact support for help.'; + msg = 'This user has been disabled. Please contact support for help.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class SignInWithEmailAndPasswordFailureFirebase extends SignInWithEmailAndPasswordFailureInterface { - SignInWithEmailAndPasswordFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignInWithEmailAndPasswordFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignInWithEmailAndPasswordFailureFirebase.fromCode(String code) : super.fromCode(code) { switch (code) { case 'invalid-email': - message = 'Email is not valid or badly formatted.'; + msg = 'Email is not valid or badly formatted.'; break; case 'user-disabled': - message = - 'This user has been disabled. Please contact support for help.'; + msg = 'This user has been disabled. Please contact support for help.'; break; case 'user-not-found': - message = 'Email is not found, please create an account.'; + msg = 'Email is not found, please create an account.'; break; case 'wrong-password': - message = 'Incorrect password, please try again.'; + msg = 'Incorrect password, please try again.'; break; default: this.code = 'unknown'; - message = 'An unknown error occurred.'; + msg = 'An unknown error occurred.'; } } } class SendEmailVerificationFailureFirebase extends SendEmailVerificationFailureInterface { - SendEmailVerificationFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SendEmailVerificationFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SendEmailVerificationFailureFirebase.fromCode(super.code) : super.fromCode(); } class SendPasswordResetEmailFailureFirebase extends SendPasswordResetEmailFailureInterface { - SendPasswordResetEmailFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SendPasswordResetEmailFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SendPasswordResetEmailFailureFirebase.fromCode(super.code) : super.fromCode(); } class SendSignInLinkEmailFailureFirebase extends SendSignInLinkEmailFailureInterface { - SendSignInLinkEmailFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SendSignInLinkEmailFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SendSignInLinkEmailFailureFirebase.fromCode(super.code) : super.fromCode(); } class ConfirmPasswordResetFailureFirebase extends ConfirmPasswordResetFailureInterface { - ConfirmPasswordResetFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + ConfirmPasswordResetFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); ConfirmPasswordResetFailureFirebase.fromCode(super.code) : super.fromCode(); } class VerifyPasswordResetCodeFailureFirebase extends VerifyPasswordResetCodeFailureInterface { - VerifyPasswordResetCodeFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + VerifyPasswordResetCodeFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); VerifyPasswordResetCodeFailureFirebase.fromCode(super.code) : super.fromCode(); } class RefreshFailureFirebase extends RefreshFailureInterface { - RefreshFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + RefreshFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); RefreshFailureFirebase.fromCode(super.code) : super.fromCode(); } class SignOutFailureFirebase extends SignOutFailureInterface { - SignOutFailureFirebase([String? code, String? message]) - : super(code ?? 'unknown', message ?? 'An unknown error occurred.'); + SignOutFailureFirebase([String? code, String? msg]) + : super(code ?? 'unknown', msg ?? 'An unknown error occurred.'); SignOutFailureFirebase.fromCode(super.code) : super.fromCode(); } diff --git a/packages/wyatt_authentication_bloc/lib/src/core/utils/utils.dart b/packages/wyatt_authentication_bloc/lib/src/core/utils/utils.dart new file mode 100644 index 00000000..81005a25 --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/core/utils/utils.dart @@ -0,0 +1,17 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +export 'cryptography.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/domain.dart b/packages/wyatt_authentication_bloc/lib/src/domain/domain.dart new file mode 100644 index 00000000..7727f7ee --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/domain/domain.dart @@ -0,0 +1,19 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +export 'data_sources/data_sources.dart'; +export 'entities/entities.dart'; +export 'repositories/repositories.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart new file mode 100644 index 00000000..97d5deeb --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account.dart @@ -0,0 +1,27 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:wyatt_architecture/wyatt_architecture.dart'; + +abstract class Account extends Entity { + /// The user's unique ID. + String get uid; + + /// The users email address. + /// + /// Will be `null` if signing in anonymously. + String? get email; +} diff --git a/packages/wyatt_authentication_bloc/lib/src/core/extensions/firebase_auth_user_x.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart similarity index 75% rename from packages/wyatt_authentication_bloc/lib/src/core/extensions/firebase_auth_user_x.dart rename to packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart index 70b870c3..1e1f0034 100644 --- a/packages/wyatt_authentication_bloc/lib/src/core/extensions/firebase_auth_user_x.dart +++ b/packages/wyatt_authentication_bloc/lib/src/domain/entities/account_wrapper.dart @@ -14,9 +14,10 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:wyatt_authentication_bloc/src/data/models/user_firebase.dart'; +import 'package:wyatt_architecture/wyatt_architecture.dart'; +import 'package:wyatt_authentication_bloc/src/domain/entities/account.dart'; -extension FirebaseAuthUserX on User { - UserFirebase get model => UserFirebase(this); +abstract class AccountWrapper extends Entity { + Account? get account; + T? get data; } diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/entities/entities.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/entities.dart new file mode 100644 index 00000000..8ecf9215 --- /dev/null +++ b/packages/wyatt_authentication_bloc/lib/src/domain/entities/entities.dart @@ -0,0 +1,18 @@ +// Copyright (C) 2022 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +export 'account.dart'; +export 'account_wrapper.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/domain/entities/user.dart b/packages/wyatt_authentication_bloc/lib/src/domain/entities/user.dart deleted file mode 100644 index 40c0c7b9..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/domain/entities/user.dart +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -abstract class User { - /// The empty user constructor. - const User.empty(); - - /// The users display name. - /// - /// Will be `null` if signing in anonymously or via password authentication. - String? get displayName; - - /// The users email address. - /// - /// Will be `null` if signing in anonymously. - String? get email; - - /// Returns whether the users email address has been verified. - /// - /// To send a verification email, see `SendEmailVerification`. - /// - /// Once verified, call `reload` to ensure the latest user information is - /// retrieved from Firebase. - bool get emailVerified; - - /// Returns whether the user is a anonymous. - bool get isAnonymous; - - /// Returns the users account creation time. - /// - /// When this account was created as dictated by the server clock. - DateTime? get creationTime; - - /// When the user last signed in as dictated by the server clock. - /// - /// This is only accurate up to a granularity of 2 minutes for consecutive - /// sign-in attempts. - DateTime? get lastSignInTime; - - /// Returns the users phone number. - /// - /// This property will be `null` if the user has not signed in or been has - /// their phone number linked. - String? get phoneNumber; - - /// Returns a photo URL for the user. - /// - /// This property will be populated if the user has signed in or been linked - /// with a 3rd party OAuth provider (such as Google). - String? get photoURL; - - /// Returns a JWT refresh token for the user. - /// - /// This property maybe `null` or empty if the underlying platform does not - /// support providing refresh tokens. - String? get refreshToken; - - /// The user's unique ID. - String get uid; - - /// The provider ID for the user. - String? get providerId; - - /// Whether the user account has been recently created. - bool? get isNewUser; - - /// Convenience getter to determine whether the current user is empty. - bool get isEmpty; - - /// Convenience getter to determine whether the current user is not empty. - bool get isNotEmpty; -}