feat(auth): transition from email to phone-based OTP authentication
- Replace Email+Password login with Phone+OTP flow - Remove RegisterCubit and registration screens (email verification) - Remove ResetPasswordCubit and reset password screens - Add phone normalization and international dial code support - Update LoginCubit with sendCode/resend cooldown logic - Add new widgets: phone prefix selector, confirm sheet - Update all auth API endpoints: /otp/send, /phone-session - Update form inputs: Email -> Phone with E.164 validation - Update tests for new auth flow
This commit is contained in:
@@ -1,24 +1,15 @@
|
||||
import 'package:social_app/features/auth/data/models/signup_request.dart';
|
||||
import 'package:social_app/features/auth/data/models/login_request.dart';
|
||||
import 'package:social_app/features/auth/data/models/auth_response.dart';
|
||||
|
||||
abstract class AuthRepository {
|
||||
Future<VerificationCreateResponse> createVerification(
|
||||
SignupStartRequest request,
|
||||
);
|
||||
Future<AuthResponse> verifyVerification(SignupVerifyRequest request);
|
||||
Future<void> resendVerification(SignupResendRequest request);
|
||||
Future<AuthResponse> createSession(LoginRequest request);
|
||||
Future<void> sendOtp(String phone);
|
||||
Future<AuthResponse> createPhoneSession({
|
||||
required String phone,
|
||||
required String token,
|
||||
});
|
||||
Future<AuthResponse> refreshSession(String refreshToken);
|
||||
Future<void> deleteSession();
|
||||
Future<void> clearSessionLocalOnly();
|
||||
Future<String?> getAccessToken();
|
||||
Future<String?> getRefreshToken();
|
||||
Future<bool> isAuthenticated();
|
||||
Future<void> requestPasswordReset(String email);
|
||||
Future<void> confirmPasswordReset({
|
||||
required String email,
|
||||
required String token,
|
||||
required String newPassword,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user