Resend
This commit is contained in:
parent
b20854f329
commit
3b26b19b25
59
lib/application/auth/resend_form/resend_form_bloc.dart
Normal file
59
lib/application/auth/resend_form/resend_form_bloc.dart
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import 'package:bloc/bloc.dart';
|
||||||
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
import 'package:injectable/injectable.dart';
|
||||||
|
|
||||||
|
import '../../../domain/auth/auth.dart';
|
||||||
|
|
||||||
|
part 'resend_form_event.dart';
|
||||||
|
part 'resend_form_state.dart';
|
||||||
|
part 'resend_form_bloc.freezed.dart';
|
||||||
|
|
||||||
|
@injectable
|
||||||
|
class ResendFormBloc extends Bloc<ResendFormEvent, ResendFormState> {
|
||||||
|
final IAuthRepository _repository;
|
||||||
|
ResendFormBloc(this._repository) : super(ResendFormState.initial()) {
|
||||||
|
on<ResendFormEvent>(_onResendFormEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _onResendFormEvent(
|
||||||
|
ResendFormEvent event,
|
||||||
|
Emitter<ResendFormState> emit,
|
||||||
|
) {
|
||||||
|
return event.map(
|
||||||
|
phoneNumberChanged: (e) async {
|
||||||
|
emit(
|
||||||
|
state.copyWith(
|
||||||
|
phoneNumber: e.phoneNumber,
|
||||||
|
failureOrResendOption: none(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
purposeChanged: (e) async {
|
||||||
|
emit(state.copyWith(purpose: e.purpose, failureOrResendOption: none()));
|
||||||
|
},
|
||||||
|
submitted: (e) async {
|
||||||
|
Either<AuthFailure, Resend>? failureOrResend;
|
||||||
|
emit(state.copyWith(isSubmitting: true, failureOrResendOption: none()));
|
||||||
|
|
||||||
|
final phoneNumberValid = state.phoneNumber.isNotEmpty;
|
||||||
|
final purposeValid = state.purpose.isNotEmpty;
|
||||||
|
|
||||||
|
if (phoneNumberValid && purposeValid) {
|
||||||
|
failureOrResend = await _repository.resend(
|
||||||
|
phoneNumber: state.phoneNumber,
|
||||||
|
purpose: state.purpose,
|
||||||
|
);
|
||||||
|
|
||||||
|
emit(
|
||||||
|
state.copyWith(
|
||||||
|
isSubmitting: false,
|
||||||
|
failureOrResendOption: optionOf(failureOrResend),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
emit(state.copyWith(showErrorMessages: true, isSubmitting: false));
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
738
lib/application/auth/resend_form/resend_form_bloc.freezed.dart
Normal file
738
lib/application/auth/resend_form/resend_form_bloc.freezed.dart
Normal file
@ -0,0 +1,738 @@
|
|||||||
|
// coverage:ignore-file
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||||
|
|
||||||
|
part of 'resend_form_bloc.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// FreezedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
|
final _privateConstructorUsedError = UnsupportedError(
|
||||||
|
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models',
|
||||||
|
);
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$ResendFormEvent {
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult when<TResult extends Object?>({
|
||||||
|
required TResult Function(String phoneNumber) phoneNumberChanged,
|
||||||
|
required TResult Function(String purpose) purposeChanged,
|
||||||
|
required TResult Function() submitted,
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? whenOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult? Function(String purpose)? purposeChanged,
|
||||||
|
TResult? Function()? submitted,
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeWhen<TResult extends Object?>({
|
||||||
|
TResult Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult Function(String purpose)? purposeChanged,
|
||||||
|
TResult Function()? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult map<TResult extends Object?>({
|
||||||
|
required TResult Function(_PhoneNumberChanged value) phoneNumberChanged,
|
||||||
|
required TResult Function(_PurposeChanged value) purposeChanged,
|
||||||
|
required TResult Function(_Submitted value) submitted,
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? mapOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult? Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult? Function(_Submitted value)? submitted,
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeMap<TResult extends Object?>({
|
||||||
|
TResult Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult Function(_Submitted value)? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) => throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class $ResendFormEventCopyWith<$Res> {
|
||||||
|
factory $ResendFormEventCopyWith(
|
||||||
|
ResendFormEvent value,
|
||||||
|
$Res Function(ResendFormEvent) then,
|
||||||
|
) = _$ResendFormEventCopyWithImpl<$Res, ResendFormEvent>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$ResendFormEventCopyWithImpl<$Res, $Val extends ResendFormEvent>
|
||||||
|
implements $ResendFormEventCopyWith<$Res> {
|
||||||
|
_$ResendFormEventCopyWithImpl(this._value, this._then);
|
||||||
|
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Val _value;
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Res Function($Val) _then;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$PhoneNumberChangedImplCopyWith<$Res> {
|
||||||
|
factory _$$PhoneNumberChangedImplCopyWith(
|
||||||
|
_$PhoneNumberChangedImpl value,
|
||||||
|
$Res Function(_$PhoneNumberChangedImpl) then,
|
||||||
|
) = __$$PhoneNumberChangedImplCopyWithImpl<$Res>;
|
||||||
|
@useResult
|
||||||
|
$Res call({String phoneNumber});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$PhoneNumberChangedImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendFormEventCopyWithImpl<$Res, _$PhoneNumberChangedImpl>
|
||||||
|
implements _$$PhoneNumberChangedImplCopyWith<$Res> {
|
||||||
|
__$$PhoneNumberChangedImplCopyWithImpl(
|
||||||
|
_$PhoneNumberChangedImpl _value,
|
||||||
|
$Res Function(_$PhoneNumberChangedImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({Object? phoneNumber = null}) {
|
||||||
|
return _then(
|
||||||
|
_$PhoneNumberChangedImpl(
|
||||||
|
null == phoneNumber
|
||||||
|
? _value.phoneNumber
|
||||||
|
: phoneNumber // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
class _$PhoneNumberChangedImpl implements _PhoneNumberChanged {
|
||||||
|
const _$PhoneNumberChangedImpl(this.phoneNumber);
|
||||||
|
|
||||||
|
@override
|
||||||
|
final String phoneNumber;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendFormEvent.phoneNumberChanged(phoneNumber: $phoneNumber)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$PhoneNumberChangedImpl &&
|
||||||
|
(identical(other.phoneNumber, phoneNumber) ||
|
||||||
|
other.phoneNumber == phoneNumber));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType, phoneNumber);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$PhoneNumberChangedImplCopyWith<_$PhoneNumberChangedImpl> get copyWith =>
|
||||||
|
__$$PhoneNumberChangedImplCopyWithImpl<_$PhoneNumberChangedImpl>(
|
||||||
|
this,
|
||||||
|
_$identity,
|
||||||
|
);
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult when<TResult extends Object?>({
|
||||||
|
required TResult Function(String phoneNumber) phoneNumberChanged,
|
||||||
|
required TResult Function(String purpose) purposeChanged,
|
||||||
|
required TResult Function() submitted,
|
||||||
|
}) {
|
||||||
|
return phoneNumberChanged(phoneNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? whenOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult? Function(String purpose)? purposeChanged,
|
||||||
|
TResult? Function()? submitted,
|
||||||
|
}) {
|
||||||
|
return phoneNumberChanged?.call(phoneNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeWhen<TResult extends Object?>({
|
||||||
|
TResult Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult Function(String purpose)? purposeChanged,
|
||||||
|
TResult Function()? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (phoneNumberChanged != null) {
|
||||||
|
return phoneNumberChanged(phoneNumber);
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult map<TResult extends Object?>({
|
||||||
|
required TResult Function(_PhoneNumberChanged value) phoneNumberChanged,
|
||||||
|
required TResult Function(_PurposeChanged value) purposeChanged,
|
||||||
|
required TResult Function(_Submitted value) submitted,
|
||||||
|
}) {
|
||||||
|
return phoneNumberChanged(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? mapOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult? Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult? Function(_Submitted value)? submitted,
|
||||||
|
}) {
|
||||||
|
return phoneNumberChanged?.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeMap<TResult extends Object?>({
|
||||||
|
TResult Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult Function(_Submitted value)? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (phoneNumberChanged != null) {
|
||||||
|
return phoneNumberChanged(this);
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _PhoneNumberChanged implements ResendFormEvent {
|
||||||
|
const factory _PhoneNumberChanged(final String phoneNumber) =
|
||||||
|
_$PhoneNumberChangedImpl;
|
||||||
|
|
||||||
|
String get phoneNumber;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$PhoneNumberChangedImplCopyWith<_$PhoneNumberChangedImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$PurposeChangedImplCopyWith<$Res> {
|
||||||
|
factory _$$PurposeChangedImplCopyWith(
|
||||||
|
_$PurposeChangedImpl value,
|
||||||
|
$Res Function(_$PurposeChangedImpl) then,
|
||||||
|
) = __$$PurposeChangedImplCopyWithImpl<$Res>;
|
||||||
|
@useResult
|
||||||
|
$Res call({String purpose});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$PurposeChangedImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendFormEventCopyWithImpl<$Res, _$PurposeChangedImpl>
|
||||||
|
implements _$$PurposeChangedImplCopyWith<$Res> {
|
||||||
|
__$$PurposeChangedImplCopyWithImpl(
|
||||||
|
_$PurposeChangedImpl _value,
|
||||||
|
$Res Function(_$PurposeChangedImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({Object? purpose = null}) {
|
||||||
|
return _then(
|
||||||
|
_$PurposeChangedImpl(
|
||||||
|
null == purpose
|
||||||
|
? _value.purpose
|
||||||
|
: purpose // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
class _$PurposeChangedImpl implements _PurposeChanged {
|
||||||
|
const _$PurposeChangedImpl(this.purpose);
|
||||||
|
|
||||||
|
@override
|
||||||
|
final String purpose;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendFormEvent.purposeChanged(purpose: $purpose)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$PurposeChangedImpl &&
|
||||||
|
(identical(other.purpose, purpose) || other.purpose == purpose));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType, purpose);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$PurposeChangedImplCopyWith<_$PurposeChangedImpl> get copyWith =>
|
||||||
|
__$$PurposeChangedImplCopyWithImpl<_$PurposeChangedImpl>(
|
||||||
|
this,
|
||||||
|
_$identity,
|
||||||
|
);
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult when<TResult extends Object?>({
|
||||||
|
required TResult Function(String phoneNumber) phoneNumberChanged,
|
||||||
|
required TResult Function(String purpose) purposeChanged,
|
||||||
|
required TResult Function() submitted,
|
||||||
|
}) {
|
||||||
|
return purposeChanged(purpose);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? whenOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult? Function(String purpose)? purposeChanged,
|
||||||
|
TResult? Function()? submitted,
|
||||||
|
}) {
|
||||||
|
return purposeChanged?.call(purpose);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeWhen<TResult extends Object?>({
|
||||||
|
TResult Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult Function(String purpose)? purposeChanged,
|
||||||
|
TResult Function()? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (purposeChanged != null) {
|
||||||
|
return purposeChanged(purpose);
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult map<TResult extends Object?>({
|
||||||
|
required TResult Function(_PhoneNumberChanged value) phoneNumberChanged,
|
||||||
|
required TResult Function(_PurposeChanged value) purposeChanged,
|
||||||
|
required TResult Function(_Submitted value) submitted,
|
||||||
|
}) {
|
||||||
|
return purposeChanged(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? mapOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult? Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult? Function(_Submitted value)? submitted,
|
||||||
|
}) {
|
||||||
|
return purposeChanged?.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeMap<TResult extends Object?>({
|
||||||
|
TResult Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult Function(_Submitted value)? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (purposeChanged != null) {
|
||||||
|
return purposeChanged(this);
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _PurposeChanged implements ResendFormEvent {
|
||||||
|
const factory _PurposeChanged(final String purpose) = _$PurposeChangedImpl;
|
||||||
|
|
||||||
|
String get purpose;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$PurposeChangedImplCopyWith<_$PurposeChangedImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$SubmittedImplCopyWith<$Res> {
|
||||||
|
factory _$$SubmittedImplCopyWith(
|
||||||
|
_$SubmittedImpl value,
|
||||||
|
$Res Function(_$SubmittedImpl) then,
|
||||||
|
) = __$$SubmittedImplCopyWithImpl<$Res>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$SubmittedImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendFormEventCopyWithImpl<$Res, _$SubmittedImpl>
|
||||||
|
implements _$$SubmittedImplCopyWith<$Res> {
|
||||||
|
__$$SubmittedImplCopyWithImpl(
|
||||||
|
_$SubmittedImpl _value,
|
||||||
|
$Res Function(_$SubmittedImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormEvent
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
class _$SubmittedImpl implements _Submitted {
|
||||||
|
const _$SubmittedImpl();
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendFormEvent.submitted()';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType && other is _$SubmittedImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => runtimeType.hashCode;
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult when<TResult extends Object?>({
|
||||||
|
required TResult Function(String phoneNumber) phoneNumberChanged,
|
||||||
|
required TResult Function(String purpose) purposeChanged,
|
||||||
|
required TResult Function() submitted,
|
||||||
|
}) {
|
||||||
|
return submitted();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? whenOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult? Function(String purpose)? purposeChanged,
|
||||||
|
TResult? Function()? submitted,
|
||||||
|
}) {
|
||||||
|
return submitted?.call();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeWhen<TResult extends Object?>({
|
||||||
|
TResult Function(String phoneNumber)? phoneNumberChanged,
|
||||||
|
TResult Function(String purpose)? purposeChanged,
|
||||||
|
TResult Function()? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (submitted != null) {
|
||||||
|
return submitted();
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult map<TResult extends Object?>({
|
||||||
|
required TResult Function(_PhoneNumberChanged value) phoneNumberChanged,
|
||||||
|
required TResult Function(_PurposeChanged value) purposeChanged,
|
||||||
|
required TResult Function(_Submitted value) submitted,
|
||||||
|
}) {
|
||||||
|
return submitted(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult? mapOrNull<TResult extends Object?>({
|
||||||
|
TResult? Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult? Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult? Function(_Submitted value)? submitted,
|
||||||
|
}) {
|
||||||
|
return submitted?.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
@optionalTypeArgs
|
||||||
|
TResult maybeMap<TResult extends Object?>({
|
||||||
|
TResult Function(_PhoneNumberChanged value)? phoneNumberChanged,
|
||||||
|
TResult Function(_PurposeChanged value)? purposeChanged,
|
||||||
|
TResult Function(_Submitted value)? submitted,
|
||||||
|
required TResult orElse(),
|
||||||
|
}) {
|
||||||
|
if (submitted != null) {
|
||||||
|
return submitted(this);
|
||||||
|
}
|
||||||
|
return orElse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _Submitted implements ResendFormEvent {
|
||||||
|
const factory _Submitted() = _$SubmittedImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$ResendFormState {
|
||||||
|
String get phoneNumber => throw _privateConstructorUsedError;
|
||||||
|
String get purpose => throw _privateConstructorUsedError;
|
||||||
|
Option<Either<AuthFailure, Resend>> get failureOrResendOption =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
bool get isSubmitting => throw _privateConstructorUsedError;
|
||||||
|
bool get showErrorMessages => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormState
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
$ResendFormStateCopyWith<ResendFormState> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class $ResendFormStateCopyWith<$Res> {
|
||||||
|
factory $ResendFormStateCopyWith(
|
||||||
|
ResendFormState value,
|
||||||
|
$Res Function(ResendFormState) then,
|
||||||
|
) = _$ResendFormStateCopyWithImpl<$Res, ResendFormState>;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String phoneNumber,
|
||||||
|
String purpose,
|
||||||
|
Option<Either<AuthFailure, Resend>> failureOrResendOption,
|
||||||
|
bool isSubmitting,
|
||||||
|
bool showErrorMessages,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$ResendFormStateCopyWithImpl<$Res, $Val extends ResendFormState>
|
||||||
|
implements $ResendFormStateCopyWith<$Res> {
|
||||||
|
_$ResendFormStateCopyWithImpl(this._value, this._then);
|
||||||
|
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Val _value;
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Res Function($Val) _then;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormState
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? phoneNumber = null,
|
||||||
|
Object? purpose = null,
|
||||||
|
Object? failureOrResendOption = null,
|
||||||
|
Object? isSubmitting = null,
|
||||||
|
Object? showErrorMessages = null,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_value.copyWith(
|
||||||
|
phoneNumber: null == phoneNumber
|
||||||
|
? _value.phoneNumber
|
||||||
|
: phoneNumber // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
purpose: null == purpose
|
||||||
|
? _value.purpose
|
||||||
|
: purpose // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
failureOrResendOption: null == failureOrResendOption
|
||||||
|
? _value.failureOrResendOption
|
||||||
|
: failureOrResendOption // ignore: cast_nullable_to_non_nullable
|
||||||
|
as Option<Either<AuthFailure, Resend>>,
|
||||||
|
isSubmitting: null == isSubmitting
|
||||||
|
? _value.isSubmitting
|
||||||
|
: isSubmitting // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
showErrorMessages: null == showErrorMessages
|
||||||
|
? _value.showErrorMessages
|
||||||
|
: showErrorMessages // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
)
|
||||||
|
as $Val,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$ResendFormStateImplCopyWith<$Res>
|
||||||
|
implements $ResendFormStateCopyWith<$Res> {
|
||||||
|
factory _$$ResendFormStateImplCopyWith(
|
||||||
|
_$ResendFormStateImpl value,
|
||||||
|
$Res Function(_$ResendFormStateImpl) then,
|
||||||
|
) = __$$ResendFormStateImplCopyWithImpl<$Res>;
|
||||||
|
@override
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String phoneNumber,
|
||||||
|
String purpose,
|
||||||
|
Option<Either<AuthFailure, Resend>> failureOrResendOption,
|
||||||
|
bool isSubmitting,
|
||||||
|
bool showErrorMessages,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$ResendFormStateImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendFormStateCopyWithImpl<$Res, _$ResendFormStateImpl>
|
||||||
|
implements _$$ResendFormStateImplCopyWith<$Res> {
|
||||||
|
__$$ResendFormStateImplCopyWithImpl(
|
||||||
|
_$ResendFormStateImpl _value,
|
||||||
|
$Res Function(_$ResendFormStateImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormState
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? phoneNumber = null,
|
||||||
|
Object? purpose = null,
|
||||||
|
Object? failureOrResendOption = null,
|
||||||
|
Object? isSubmitting = null,
|
||||||
|
Object? showErrorMessages = null,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_$ResendFormStateImpl(
|
||||||
|
phoneNumber: null == phoneNumber
|
||||||
|
? _value.phoneNumber
|
||||||
|
: phoneNumber // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
purpose: null == purpose
|
||||||
|
? _value.purpose
|
||||||
|
: purpose // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
failureOrResendOption: null == failureOrResendOption
|
||||||
|
? _value.failureOrResendOption
|
||||||
|
: failureOrResendOption // ignore: cast_nullable_to_non_nullable
|
||||||
|
as Option<Either<AuthFailure, Resend>>,
|
||||||
|
isSubmitting: null == isSubmitting
|
||||||
|
? _value.isSubmitting
|
||||||
|
: isSubmitting // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
showErrorMessages: null == showErrorMessages
|
||||||
|
? _value.showErrorMessages
|
||||||
|
: showErrorMessages // ignore: cast_nullable_to_non_nullable
|
||||||
|
as bool,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
class _$ResendFormStateImpl implements _ResendFormState {
|
||||||
|
const _$ResendFormStateImpl({
|
||||||
|
required this.phoneNumber,
|
||||||
|
required this.purpose,
|
||||||
|
required this.failureOrResendOption,
|
||||||
|
this.isSubmitting = false,
|
||||||
|
this.showErrorMessages = false,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
final String phoneNumber;
|
||||||
|
@override
|
||||||
|
final String purpose;
|
||||||
|
@override
|
||||||
|
final Option<Either<AuthFailure, Resend>> failureOrResendOption;
|
||||||
|
@override
|
||||||
|
@JsonKey()
|
||||||
|
final bool isSubmitting;
|
||||||
|
@override
|
||||||
|
@JsonKey()
|
||||||
|
final bool showErrorMessages;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendFormState(phoneNumber: $phoneNumber, purpose: $purpose, failureOrResendOption: $failureOrResendOption, isSubmitting: $isSubmitting, showErrorMessages: $showErrorMessages)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$ResendFormStateImpl &&
|
||||||
|
(identical(other.phoneNumber, phoneNumber) ||
|
||||||
|
other.phoneNumber == phoneNumber) &&
|
||||||
|
(identical(other.purpose, purpose) || other.purpose == purpose) &&
|
||||||
|
(identical(other.failureOrResendOption, failureOrResendOption) ||
|
||||||
|
other.failureOrResendOption == failureOrResendOption) &&
|
||||||
|
(identical(other.isSubmitting, isSubmitting) ||
|
||||||
|
other.isSubmitting == isSubmitting) &&
|
||||||
|
(identical(other.showErrorMessages, showErrorMessages) ||
|
||||||
|
other.showErrorMessages == showErrorMessages));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(
|
||||||
|
runtimeType,
|
||||||
|
phoneNumber,
|
||||||
|
purpose,
|
||||||
|
failureOrResendOption,
|
||||||
|
isSubmitting,
|
||||||
|
showErrorMessages,
|
||||||
|
);
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormState
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$ResendFormStateImplCopyWith<_$ResendFormStateImpl> get copyWith =>
|
||||||
|
__$$ResendFormStateImplCopyWithImpl<_$ResendFormStateImpl>(
|
||||||
|
this,
|
||||||
|
_$identity,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _ResendFormState implements ResendFormState {
|
||||||
|
const factory _ResendFormState({
|
||||||
|
required final String phoneNumber,
|
||||||
|
required final String purpose,
|
||||||
|
required final Option<Either<AuthFailure, Resend>> failureOrResendOption,
|
||||||
|
final bool isSubmitting,
|
||||||
|
final bool showErrorMessages,
|
||||||
|
}) = _$ResendFormStateImpl;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get phoneNumber;
|
||||||
|
@override
|
||||||
|
String get purpose;
|
||||||
|
@override
|
||||||
|
Option<Either<AuthFailure, Resend>> get failureOrResendOption;
|
||||||
|
@override
|
||||||
|
bool get isSubmitting;
|
||||||
|
@override
|
||||||
|
bool get showErrorMessages;
|
||||||
|
|
||||||
|
/// Create a copy of ResendFormState
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$ResendFormStateImplCopyWith<_$ResendFormStateImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
10
lib/application/auth/resend_form/resend_form_event.dart
Normal file
10
lib/application/auth/resend_form/resend_form_event.dart
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
part of 'resend_form_bloc.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
class ResendFormEvent with _$ResendFormEvent {
|
||||||
|
const factory ResendFormEvent.phoneNumberChanged(String phoneNumber) =
|
||||||
|
_PhoneNumberChanged;
|
||||||
|
const factory ResendFormEvent.purposeChanged(String purpose) =
|
||||||
|
_PurposeChanged;
|
||||||
|
const factory ResendFormEvent.submitted() = _Submitted;
|
||||||
|
}
|
||||||
18
lib/application/auth/resend_form/resend_form_state.dart
Normal file
18
lib/application/auth/resend_form/resend_form_state.dart
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
part of 'resend_form_bloc.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
class ResendFormState with _$ResendFormState {
|
||||||
|
const factory ResendFormState({
|
||||||
|
required String phoneNumber,
|
||||||
|
required String purpose,
|
||||||
|
required Option<Either<AuthFailure, Resend>> failureOrResendOption,
|
||||||
|
@Default(false) bool isSubmitting,
|
||||||
|
@Default(false) bool showErrorMessages,
|
||||||
|
}) = _ResendFormState;
|
||||||
|
|
||||||
|
factory ResendFormState.initial() => ResendFormState(
|
||||||
|
phoneNumber: '',
|
||||||
|
purpose: '',
|
||||||
|
failureOrResendOption: none(),
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -15,4 +15,15 @@ extension StringExt on String {
|
|||||||
return CheckPhoneStatus.unknown;
|
return CheckPhoneStatus.unknown;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ResendStatus toResendStatus() {
|
||||||
|
switch (this) {
|
||||||
|
case 'RESEND_NOT_ALLOWED':
|
||||||
|
return ResendStatus.resendNotAllowed;
|
||||||
|
case 'SUCCESS':
|
||||||
|
return ResendStatus.success;
|
||||||
|
default:
|
||||||
|
return ResendStatus.unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,4 +4,5 @@ class ApiPath {
|
|||||||
static String verify = '/api/v1/customer-auth/register/verify-otp';
|
static String verify = '/api/v1/customer-auth/register/verify-otp';
|
||||||
static String setPassword = '/api/v1/customer-auth/register/set-password';
|
static String setPassword = '/api/v1/customer-auth/register/set-password';
|
||||||
static String login = '/api/v1/customer-auth/register/login';
|
static String login = '/api/v1/customer-auth/register/login';
|
||||||
|
static String resend = '/api/v1/customer-auth/register/resend-otp';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ part 'entities/check_phone_entity.dart';
|
|||||||
part 'entities/register_entity.dart';
|
part 'entities/register_entity.dart';
|
||||||
part 'entities/verify_entity.dart';
|
part 'entities/verify_entity.dart';
|
||||||
part 'entities/login_entity.dart';
|
part 'entities/login_entity.dart';
|
||||||
|
part 'entities/resend_entity.dart';
|
||||||
part 'failures/auth_failure.dart';
|
part 'failures/auth_failure.dart';
|
||||||
part 'repositories/i_auth_repository.dart';
|
part 'repositories/i_auth_repository.dart';
|
||||||
|
|
||||||
@ -24,3 +25,16 @@ extension CheckPhoneStatusX on CheckPhoneStatus {
|
|||||||
bool get isNotRegistered => this == CheckPhoneStatus.notRegistered;
|
bool get isNotRegistered => this == CheckPhoneStatus.notRegistered;
|
||||||
bool get isPasswordRequired => this == CheckPhoneStatus.passwordRequired;
|
bool get isPasswordRequired => this == CheckPhoneStatus.passwordRequired;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ResendStatus { resendNotAllowed, success, unknown }
|
||||||
|
|
||||||
|
extension ResendStatusX on ResendStatus {
|
||||||
|
String toStringType() => switch (this) {
|
||||||
|
ResendStatus.resendNotAllowed => 'RESEND_NOT_ALLOWED',
|
||||||
|
ResendStatus.success => 'SUCCESS',
|
||||||
|
ResendStatus.unknown => '',
|
||||||
|
};
|
||||||
|
|
||||||
|
bool get isResendNotAllowed => this == ResendStatus.resendNotAllowed;
|
||||||
|
bool get isSuccess => this == ResendStatus.success;
|
||||||
|
}
|
||||||
|
|||||||
@ -1033,6 +1033,236 @@ abstract class _User implements User {
|
|||||||
throw _privateConstructorUsedError;
|
throw _privateConstructorUsedError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$Resend {
|
||||||
|
String get status => throw _privateConstructorUsedError;
|
||||||
|
String get message => throw _privateConstructorUsedError;
|
||||||
|
String get otpToken => throw _privateConstructorUsedError;
|
||||||
|
int get expiresIn => throw _privateConstructorUsedError;
|
||||||
|
int get nextResendIn => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Create a copy of Resend
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
$ResendCopyWith<Resend> get copyWith => throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class $ResendCopyWith<$Res> {
|
||||||
|
factory $ResendCopyWith(Resend value, $Res Function(Resend) then) =
|
||||||
|
_$ResendCopyWithImpl<$Res, Resend>;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String status,
|
||||||
|
String message,
|
||||||
|
String otpToken,
|
||||||
|
int expiresIn,
|
||||||
|
int nextResendIn,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$ResendCopyWithImpl<$Res, $Val extends Resend>
|
||||||
|
implements $ResendCopyWith<$Res> {
|
||||||
|
_$ResendCopyWithImpl(this._value, this._then);
|
||||||
|
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Val _value;
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Res Function($Val) _then;
|
||||||
|
|
||||||
|
/// Create a copy of Resend
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? status = null,
|
||||||
|
Object? message = null,
|
||||||
|
Object? otpToken = null,
|
||||||
|
Object? expiresIn = null,
|
||||||
|
Object? nextResendIn = null,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_value.copyWith(
|
||||||
|
status: null == status
|
||||||
|
? _value.status
|
||||||
|
: status // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
message: null == message
|
||||||
|
? _value.message
|
||||||
|
: message // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
otpToken: null == otpToken
|
||||||
|
? _value.otpToken
|
||||||
|
: otpToken // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
expiresIn: null == expiresIn
|
||||||
|
? _value.expiresIn
|
||||||
|
: expiresIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
nextResendIn: null == nextResendIn
|
||||||
|
? _value.nextResendIn
|
||||||
|
: nextResendIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
)
|
||||||
|
as $Val,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$ResendImplCopyWith<$Res> implements $ResendCopyWith<$Res> {
|
||||||
|
factory _$$ResendImplCopyWith(
|
||||||
|
_$ResendImpl value,
|
||||||
|
$Res Function(_$ResendImpl) then,
|
||||||
|
) = __$$ResendImplCopyWithImpl<$Res>;
|
||||||
|
@override
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
String status,
|
||||||
|
String message,
|
||||||
|
String otpToken,
|
||||||
|
int expiresIn,
|
||||||
|
int nextResendIn,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$ResendImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendCopyWithImpl<$Res, _$ResendImpl>
|
||||||
|
implements _$$ResendImplCopyWith<$Res> {
|
||||||
|
__$$ResendImplCopyWithImpl(
|
||||||
|
_$ResendImpl _value,
|
||||||
|
$Res Function(_$ResendImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of Resend
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? status = null,
|
||||||
|
Object? message = null,
|
||||||
|
Object? otpToken = null,
|
||||||
|
Object? expiresIn = null,
|
||||||
|
Object? nextResendIn = null,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_$ResendImpl(
|
||||||
|
status: null == status
|
||||||
|
? _value.status
|
||||||
|
: status // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
message: null == message
|
||||||
|
? _value.message
|
||||||
|
: message // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
otpToken: null == otpToken
|
||||||
|
? _value.otpToken
|
||||||
|
: otpToken // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String,
|
||||||
|
expiresIn: null == expiresIn
|
||||||
|
? _value.expiresIn
|
||||||
|
: expiresIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
nextResendIn: null == nextResendIn
|
||||||
|
? _value.nextResendIn
|
||||||
|
: nextResendIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
|
||||||
|
class _$ResendImpl implements _Resend {
|
||||||
|
const _$ResendImpl({
|
||||||
|
required this.status,
|
||||||
|
required this.message,
|
||||||
|
required this.otpToken,
|
||||||
|
required this.expiresIn,
|
||||||
|
required this.nextResendIn,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
final String status;
|
||||||
|
@override
|
||||||
|
final String message;
|
||||||
|
@override
|
||||||
|
final String otpToken;
|
||||||
|
@override
|
||||||
|
final int expiresIn;
|
||||||
|
@override
|
||||||
|
final int nextResendIn;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'Resend(status: $status, message: $message, otpToken: $otpToken, expiresIn: $expiresIn, nextResendIn: $nextResendIn)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$ResendImpl &&
|
||||||
|
(identical(other.status, status) || other.status == status) &&
|
||||||
|
(identical(other.message, message) || other.message == message) &&
|
||||||
|
(identical(other.otpToken, otpToken) ||
|
||||||
|
other.otpToken == otpToken) &&
|
||||||
|
(identical(other.expiresIn, expiresIn) ||
|
||||||
|
other.expiresIn == expiresIn) &&
|
||||||
|
(identical(other.nextResendIn, nextResendIn) ||
|
||||||
|
other.nextResendIn == nextResendIn));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(
|
||||||
|
runtimeType,
|
||||||
|
status,
|
||||||
|
message,
|
||||||
|
otpToken,
|
||||||
|
expiresIn,
|
||||||
|
nextResendIn,
|
||||||
|
);
|
||||||
|
|
||||||
|
/// Create a copy of Resend
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$ResendImplCopyWith<_$ResendImpl> get copyWith =>
|
||||||
|
__$$ResendImplCopyWithImpl<_$ResendImpl>(this, _$identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _Resend implements Resend {
|
||||||
|
const factory _Resend({
|
||||||
|
required final String status,
|
||||||
|
required final String message,
|
||||||
|
required final String otpToken,
|
||||||
|
required final int expiresIn,
|
||||||
|
required final int nextResendIn,
|
||||||
|
}) = _$ResendImpl;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get status;
|
||||||
|
@override
|
||||||
|
String get message;
|
||||||
|
@override
|
||||||
|
String get otpToken;
|
||||||
|
@override
|
||||||
|
int get expiresIn;
|
||||||
|
@override
|
||||||
|
int get nextResendIn;
|
||||||
|
|
||||||
|
/// Create a copy of Resend
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$ResendImplCopyWith<_$ResendImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
mixin _$AuthFailure {
|
mixin _$AuthFailure {
|
||||||
@optionalTypeArgs
|
@optionalTypeArgs
|
||||||
|
|||||||
20
lib/domain/auth/entities/resend_entity.dart
Normal file
20
lib/domain/auth/entities/resend_entity.dart
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
part of '../auth.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
class Resend with _$Resend {
|
||||||
|
const factory Resend({
|
||||||
|
required String status,
|
||||||
|
required String message,
|
||||||
|
required String otpToken,
|
||||||
|
required int expiresIn,
|
||||||
|
required int nextResendIn,
|
||||||
|
}) = _Resend;
|
||||||
|
|
||||||
|
factory Resend.empty() => const Resend(
|
||||||
|
status: '',
|
||||||
|
message: '',
|
||||||
|
otpToken: '',
|
||||||
|
expiresIn: 0,
|
||||||
|
nextResendIn: 0,
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -26,4 +26,9 @@ abstract class IAuthRepository {
|
|||||||
required String phoneNumber,
|
required String phoneNumber,
|
||||||
required String password,
|
required String password,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Future<Either<AuthFailure, Resend>> resend({
|
||||||
|
required String phoneNumber,
|
||||||
|
required String purpose,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,3 +9,4 @@ part 'dto/check_phone_dto.dart';
|
|||||||
part 'dto/register_dto.dart';
|
part 'dto/register_dto.dart';
|
||||||
part 'dto/verify_dto.dart';
|
part 'dto/verify_dto.dart';
|
||||||
part 'dto/login_dto.dart';
|
part 'dto/login_dto.dart';
|
||||||
|
part 'dto/resend_dto.dart';
|
||||||
|
|||||||
@ -1945,3 +1945,449 @@ abstract class _UserDto extends UserDto {
|
|||||||
_$$UserDtoImplCopyWith<_$UserDtoImpl> get copyWith =>
|
_$$UserDtoImplCopyWith<_$UserDtoImpl> get copyWith =>
|
||||||
throw _privateConstructorUsedError;
|
throw _privateConstructorUsedError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ResendDto _$ResendDtoFromJson(Map<String, dynamic> json) {
|
||||||
|
return _ResendDto.fromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$ResendDto {
|
||||||
|
@JsonKey(name: 'status')
|
||||||
|
String? get status => throw _privateConstructorUsedError;
|
||||||
|
@JsonKey(name: 'message')
|
||||||
|
String? get message => throw _privateConstructorUsedError;
|
||||||
|
@JsonKey(name: 'data')
|
||||||
|
ResendDataDto? get data => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Serializes this ResendDto to a JSON map.
|
||||||
|
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
$ResendDtoCopyWith<ResendDto> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class $ResendDtoCopyWith<$Res> {
|
||||||
|
factory $ResendDtoCopyWith(ResendDto value, $Res Function(ResendDto) then) =
|
||||||
|
_$ResendDtoCopyWithImpl<$Res, ResendDto>;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
@JsonKey(name: 'status') String? status,
|
||||||
|
@JsonKey(name: 'message') String? message,
|
||||||
|
@JsonKey(name: 'data') ResendDataDto? data,
|
||||||
|
});
|
||||||
|
|
||||||
|
$ResendDataDtoCopyWith<$Res>? get data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$ResendDtoCopyWithImpl<$Res, $Val extends ResendDto>
|
||||||
|
implements $ResendDtoCopyWith<$Res> {
|
||||||
|
_$ResendDtoCopyWithImpl(this._value, this._then);
|
||||||
|
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Val _value;
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Res Function($Val) _then;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? status = freezed,
|
||||||
|
Object? message = freezed,
|
||||||
|
Object? data = freezed,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_value.copyWith(
|
||||||
|
status: freezed == status
|
||||||
|
? _value.status
|
||||||
|
: status // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
message: freezed == message
|
||||||
|
? _value.message
|
||||||
|
: message // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
data: freezed == data
|
||||||
|
? _value.data
|
||||||
|
: data // ignore: cast_nullable_to_non_nullable
|
||||||
|
as ResendDataDto?,
|
||||||
|
)
|
||||||
|
as $Val,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
$ResendDataDtoCopyWith<$Res>? get data {
|
||||||
|
if (_value.data == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ResendDataDtoCopyWith<$Res>(_value.data!, (value) {
|
||||||
|
return _then(_value.copyWith(data: value) as $Val);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$ResendDtoImplCopyWith<$Res>
|
||||||
|
implements $ResendDtoCopyWith<$Res> {
|
||||||
|
factory _$$ResendDtoImplCopyWith(
|
||||||
|
_$ResendDtoImpl value,
|
||||||
|
$Res Function(_$ResendDtoImpl) then,
|
||||||
|
) = __$$ResendDtoImplCopyWithImpl<$Res>;
|
||||||
|
@override
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
@JsonKey(name: 'status') String? status,
|
||||||
|
@JsonKey(name: 'message') String? message,
|
||||||
|
@JsonKey(name: 'data') ResendDataDto? data,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
$ResendDataDtoCopyWith<$Res>? get data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$ResendDtoImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendDtoCopyWithImpl<$Res, _$ResendDtoImpl>
|
||||||
|
implements _$$ResendDtoImplCopyWith<$Res> {
|
||||||
|
__$$ResendDtoImplCopyWithImpl(
|
||||||
|
_$ResendDtoImpl _value,
|
||||||
|
$Res Function(_$ResendDtoImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? status = freezed,
|
||||||
|
Object? message = freezed,
|
||||||
|
Object? data = freezed,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_$ResendDtoImpl(
|
||||||
|
status: freezed == status
|
||||||
|
? _value.status
|
||||||
|
: status // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
message: freezed == message
|
||||||
|
? _value.message
|
||||||
|
: message // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
data: freezed == data
|
||||||
|
? _value.data
|
||||||
|
: data // ignore: cast_nullable_to_non_nullable
|
||||||
|
as ResendDataDto?,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
class _$ResendDtoImpl extends _ResendDto {
|
||||||
|
const _$ResendDtoImpl({
|
||||||
|
@JsonKey(name: 'status') this.status,
|
||||||
|
@JsonKey(name: 'message') this.message,
|
||||||
|
@JsonKey(name: 'data') this.data,
|
||||||
|
}) : super._();
|
||||||
|
|
||||||
|
factory _$ResendDtoImpl.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$$ResendDtoImplFromJson(json);
|
||||||
|
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'status')
|
||||||
|
final String? status;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'message')
|
||||||
|
final String? message;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'data')
|
||||||
|
final ResendDataDto? data;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendDto(status: $status, message: $message, data: $data)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$ResendDtoImpl &&
|
||||||
|
(identical(other.status, status) || other.status == status) &&
|
||||||
|
(identical(other.message, message) || other.message == message) &&
|
||||||
|
(identical(other.data, data) || other.data == data));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(runtimeType, status, message, data);
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$ResendDtoImplCopyWith<_$ResendDtoImpl> get copyWith =>
|
||||||
|
__$$ResendDtoImplCopyWithImpl<_$ResendDtoImpl>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$$ResendDtoImplToJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _ResendDto extends ResendDto {
|
||||||
|
const factory _ResendDto({
|
||||||
|
@JsonKey(name: 'status') final String? status,
|
||||||
|
@JsonKey(name: 'message') final String? message,
|
||||||
|
@JsonKey(name: 'data') final ResendDataDto? data,
|
||||||
|
}) = _$ResendDtoImpl;
|
||||||
|
const _ResendDto._() : super._();
|
||||||
|
|
||||||
|
factory _ResendDto.fromJson(Map<String, dynamic> json) =
|
||||||
|
_$ResendDtoImpl.fromJson;
|
||||||
|
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'status')
|
||||||
|
String? get status;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'message')
|
||||||
|
String? get message;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'data')
|
||||||
|
ResendDataDto? get data;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$ResendDtoImplCopyWith<_$ResendDtoImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
ResendDataDto _$ResendDataDtoFromJson(Map<String, dynamic> json) {
|
||||||
|
return _ResendDataDto.fromJson(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
mixin _$ResendDataDto {
|
||||||
|
@JsonKey(name: 'otp_token')
|
||||||
|
String? get otpToken => throw _privateConstructorUsedError;
|
||||||
|
@JsonKey(name: 'expires_in')
|
||||||
|
int? get expiresIn => throw _privateConstructorUsedError;
|
||||||
|
@JsonKey(name: 'next_resend_in')
|
||||||
|
int? get nextResendIn => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Serializes this ResendDataDto to a JSON map.
|
||||||
|
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDataDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
$ResendDataDtoCopyWith<ResendDataDto> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class $ResendDataDtoCopyWith<$Res> {
|
||||||
|
factory $ResendDataDtoCopyWith(
|
||||||
|
ResendDataDto value,
|
||||||
|
$Res Function(ResendDataDto) then,
|
||||||
|
) = _$ResendDataDtoCopyWithImpl<$Res, ResendDataDto>;
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
@JsonKey(name: 'otp_token') String? otpToken,
|
||||||
|
@JsonKey(name: 'expires_in') int? expiresIn,
|
||||||
|
@JsonKey(name: 'next_resend_in') int? nextResendIn,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$ResendDataDtoCopyWithImpl<$Res, $Val extends ResendDataDto>
|
||||||
|
implements $ResendDataDtoCopyWith<$Res> {
|
||||||
|
_$ResendDataDtoCopyWithImpl(this._value, this._then);
|
||||||
|
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Val _value;
|
||||||
|
// ignore: unused_field
|
||||||
|
final $Res Function($Val) _then;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDataDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? otpToken = freezed,
|
||||||
|
Object? expiresIn = freezed,
|
||||||
|
Object? nextResendIn = freezed,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_value.copyWith(
|
||||||
|
otpToken: freezed == otpToken
|
||||||
|
? _value.otpToken
|
||||||
|
: otpToken // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
expiresIn: freezed == expiresIn
|
||||||
|
? _value.expiresIn
|
||||||
|
: expiresIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int?,
|
||||||
|
nextResendIn: freezed == nextResendIn
|
||||||
|
? _value.nextResendIn
|
||||||
|
: nextResendIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int?,
|
||||||
|
)
|
||||||
|
as $Val,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
abstract class _$$ResendDataDtoImplCopyWith<$Res>
|
||||||
|
implements $ResendDataDtoCopyWith<$Res> {
|
||||||
|
factory _$$ResendDataDtoImplCopyWith(
|
||||||
|
_$ResendDataDtoImpl value,
|
||||||
|
$Res Function(_$ResendDataDtoImpl) then,
|
||||||
|
) = __$$ResendDataDtoImplCopyWithImpl<$Res>;
|
||||||
|
@override
|
||||||
|
@useResult
|
||||||
|
$Res call({
|
||||||
|
@JsonKey(name: 'otp_token') String? otpToken,
|
||||||
|
@JsonKey(name: 'expires_in') int? expiresIn,
|
||||||
|
@JsonKey(name: 'next_resend_in') int? nextResendIn,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class __$$ResendDataDtoImplCopyWithImpl<$Res>
|
||||||
|
extends _$ResendDataDtoCopyWithImpl<$Res, _$ResendDataDtoImpl>
|
||||||
|
implements _$$ResendDataDtoImplCopyWith<$Res> {
|
||||||
|
__$$ResendDataDtoImplCopyWithImpl(
|
||||||
|
_$ResendDataDtoImpl _value,
|
||||||
|
$Res Function(_$ResendDataDtoImpl) _then,
|
||||||
|
) : super(_value, _then);
|
||||||
|
|
||||||
|
/// Create a copy of ResendDataDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
@override
|
||||||
|
$Res call({
|
||||||
|
Object? otpToken = freezed,
|
||||||
|
Object? expiresIn = freezed,
|
||||||
|
Object? nextResendIn = freezed,
|
||||||
|
}) {
|
||||||
|
return _then(
|
||||||
|
_$ResendDataDtoImpl(
|
||||||
|
otpToken: freezed == otpToken
|
||||||
|
? _value.otpToken
|
||||||
|
: otpToken // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
|
expiresIn: freezed == expiresIn
|
||||||
|
? _value.expiresIn
|
||||||
|
: expiresIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int?,
|
||||||
|
nextResendIn: freezed == nextResendIn
|
||||||
|
? _value.nextResendIn
|
||||||
|
: nextResendIn // ignore: cast_nullable_to_non_nullable
|
||||||
|
as int?,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
@JsonSerializable()
|
||||||
|
class _$ResendDataDtoImpl implements _ResendDataDto {
|
||||||
|
const _$ResendDataDtoImpl({
|
||||||
|
@JsonKey(name: 'otp_token') this.otpToken,
|
||||||
|
@JsonKey(name: 'expires_in') this.expiresIn,
|
||||||
|
@JsonKey(name: 'next_resend_in') this.nextResendIn,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory _$ResendDataDtoImpl.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$$ResendDataDtoImplFromJson(json);
|
||||||
|
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'otp_token')
|
||||||
|
final String? otpToken;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'expires_in')
|
||||||
|
final int? expiresIn;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'next_resend_in')
|
||||||
|
final int? nextResendIn;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'ResendDataDto(otpToken: $otpToken, expiresIn: $expiresIn, nextResendIn: $nextResendIn)';
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) {
|
||||||
|
return identical(this, other) ||
|
||||||
|
(other.runtimeType == runtimeType &&
|
||||||
|
other is _$ResendDataDtoImpl &&
|
||||||
|
(identical(other.otpToken, otpToken) ||
|
||||||
|
other.otpToken == otpToken) &&
|
||||||
|
(identical(other.expiresIn, expiresIn) ||
|
||||||
|
other.expiresIn == expiresIn) &&
|
||||||
|
(identical(other.nextResendIn, nextResendIn) ||
|
||||||
|
other.nextResendIn == nextResendIn));
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
int get hashCode =>
|
||||||
|
Object.hash(runtimeType, otpToken, expiresIn, nextResendIn);
|
||||||
|
|
||||||
|
/// Create a copy of ResendDataDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
@override
|
||||||
|
@pragma('vm:prefer-inline')
|
||||||
|
_$$ResendDataDtoImplCopyWith<_$ResendDataDtoImpl> get copyWith =>
|
||||||
|
__$$ResendDataDtoImplCopyWithImpl<_$ResendDataDtoImpl>(this, _$identity);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return _$$ResendDataDtoImplToJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _ResendDataDto implements ResendDataDto {
|
||||||
|
const factory _ResendDataDto({
|
||||||
|
@JsonKey(name: 'otp_token') final String? otpToken,
|
||||||
|
@JsonKey(name: 'expires_in') final int? expiresIn,
|
||||||
|
@JsonKey(name: 'next_resend_in') final int? nextResendIn,
|
||||||
|
}) = _$ResendDataDtoImpl;
|
||||||
|
|
||||||
|
factory _ResendDataDto.fromJson(Map<String, dynamic> json) =
|
||||||
|
_$ResendDataDtoImpl.fromJson;
|
||||||
|
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'otp_token')
|
||||||
|
String? get otpToken;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'expires_in')
|
||||||
|
int? get expiresIn;
|
||||||
|
@override
|
||||||
|
@JsonKey(name: 'next_resend_in')
|
||||||
|
int? get nextResendIn;
|
||||||
|
|
||||||
|
/// Create a copy of ResendDataDto
|
||||||
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
@override
|
||||||
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
_$$ResendDataDtoImplCopyWith<_$ResendDataDtoImpl> get copyWith =>
|
||||||
|
throw _privateConstructorUsedError;
|
||||||
|
}
|
||||||
|
|||||||
@ -133,3 +133,33 @@ Map<String, dynamic> _$$UserDtoImplToJson(_$UserDtoImpl instance) =>
|
|||||||
'phone_number': instance.phoneNumber,
|
'phone_number': instance.phoneNumber,
|
||||||
'birth_date': instance.birthDate,
|
'birth_date': instance.birthDate,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_$ResendDtoImpl _$$ResendDtoImplFromJson(Map<String, dynamic> json) =>
|
||||||
|
_$ResendDtoImpl(
|
||||||
|
status: json['status'] as String?,
|
||||||
|
message: json['message'] as String?,
|
||||||
|
data: json['data'] == null
|
||||||
|
? null
|
||||||
|
: ResendDataDto.fromJson(json['data'] as Map<String, dynamic>),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$$ResendDtoImplToJson(_$ResendDtoImpl instance) =>
|
||||||
|
<String, dynamic>{
|
||||||
|
'status': instance.status,
|
||||||
|
'message': instance.message,
|
||||||
|
'data': instance.data,
|
||||||
|
};
|
||||||
|
|
||||||
|
_$ResendDataDtoImpl _$$ResendDataDtoImplFromJson(Map<String, dynamic> json) =>
|
||||||
|
_$ResendDataDtoImpl(
|
||||||
|
otpToken: json['otp_token'] as String?,
|
||||||
|
expiresIn: (json['expires_in'] as num?)?.toInt(),
|
||||||
|
nextResendIn: (json['next_resend_in'] as num?)?.toInt(),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$$ResendDataDtoImplToJson(_$ResendDataDtoImpl instance) =>
|
||||||
|
<String, dynamic>{
|
||||||
|
'otp_token': instance.otpToken,
|
||||||
|
'expires_in': instance.expiresIn,
|
||||||
|
'next_resend_in': instance.nextResendIn,
|
||||||
|
};
|
||||||
|
|||||||
@ -223,4 +223,28 @@ class AuthRemoteDataProvider {
|
|||||||
return DC.error(AuthFailure.serverError(e));
|
return DC.error(AuthFailure.serverError(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<DC<AuthFailure, ResendDto>> resend({
|
||||||
|
required String phoneNumber,
|
||||||
|
required String purpose, //login or registration
|
||||||
|
}) async {
|
||||||
|
try {
|
||||||
|
final response = await _apiClient.post(
|
||||||
|
ApiPath.resend,
|
||||||
|
data: {'phone_number': phoneNumber, 'purpose': purpose},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.data['success'] == false) {
|
||||||
|
return DC.error(
|
||||||
|
AuthFailure.dynamicErrorMessage('Terjadi kesalahan coba lagi nanti'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
final dto = ResendDto.fromJson(response.data['data']);
|
||||||
|
return DC.data(dto);
|
||||||
|
} on ApiFailure catch (e, s) {
|
||||||
|
log('resend', name: _logName, error: e, stackTrace: s);
|
||||||
|
return DC.error(AuthFailure.serverError(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
36
lib/infrastructure/auth/dto/resend_dto.dart
Normal file
36
lib/infrastructure/auth/dto/resend_dto.dart
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
part of '../auth_dtos.dart';
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
class ResendDto with _$ResendDto {
|
||||||
|
const factory ResendDto({
|
||||||
|
@JsonKey(name: 'status') String? status,
|
||||||
|
@JsonKey(name: 'message') String? message,
|
||||||
|
@JsonKey(name: 'data') ResendDataDto? data,
|
||||||
|
}) = _ResendDto;
|
||||||
|
|
||||||
|
factory ResendDto.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$ResendDtoFromJson(json);
|
||||||
|
|
||||||
|
const ResendDto._();
|
||||||
|
|
||||||
|
/// mapping ke domain
|
||||||
|
Resend toDomain() => Resend(
|
||||||
|
status: status ?? '',
|
||||||
|
message: message ?? '',
|
||||||
|
otpToken: data?.otpToken ?? '',
|
||||||
|
expiresIn: data?.expiresIn ?? 0,
|
||||||
|
nextResendIn: data?.nextResendIn ?? 0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@freezed
|
||||||
|
class ResendDataDto with _$ResendDataDto {
|
||||||
|
const factory ResendDataDto({
|
||||||
|
@JsonKey(name: 'otp_token') String? otpToken,
|
||||||
|
@JsonKey(name: 'expires_in') int? expiresIn,
|
||||||
|
@JsonKey(name: 'next_resend_in') int? nextResendIn,
|
||||||
|
}) = _ResendDataDto;
|
||||||
|
|
||||||
|
factory ResendDataDto.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$ResendDataDtoFromJson(json);
|
||||||
|
}
|
||||||
@ -135,4 +135,28 @@ class AuthRepository implements IAuthRepository {
|
|||||||
return left(const AuthFailure.unexpectedError());
|
return left(const AuthFailure.unexpectedError());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<Either<AuthFailure, Resend>> resend({
|
||||||
|
required String phoneNumber,
|
||||||
|
required String purpose,
|
||||||
|
}) async {
|
||||||
|
try {
|
||||||
|
final result = await _remoteDataProvider.resend(
|
||||||
|
phoneNumber: phoneNumber,
|
||||||
|
purpose: purpose,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (result.hasError) {
|
||||||
|
return left(result.error!);
|
||||||
|
}
|
||||||
|
|
||||||
|
final auth = result.data!.toDomain();
|
||||||
|
|
||||||
|
return right(auth);
|
||||||
|
} catch (e, s) {
|
||||||
|
log('resendError', name: _logName, error: e, stackTrace: s);
|
||||||
|
return left(const AuthFailure.unexpectedError());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,8 @@ import 'package:enaklo/application/auth/login_form/login_form_bloc.dart'
|
|||||||
as _i510;
|
as _i510;
|
||||||
import 'package:enaklo/application/auth/register_form/register_form_bloc.dart'
|
import 'package:enaklo/application/auth/register_form/register_form_bloc.dart'
|
||||||
as _i260;
|
as _i260;
|
||||||
|
import 'package:enaklo/application/auth/resend_form/resend_form_bloc.dart'
|
||||||
|
as _i627;
|
||||||
import 'package:enaklo/application/auth/set_password/set_password_form_bloc.dart'
|
import 'package:enaklo/application/auth/set_password/set_password_form_bloc.dart'
|
||||||
as _i174;
|
as _i174;
|
||||||
import 'package:enaklo/application/auth/verify_form/verify_form_bloc.dart'
|
import 'package:enaklo/application/auth/verify_form/verify_form_bloc.dart'
|
||||||
@ -88,6 +90,9 @@ extension GetItInjectableX on _i174.GetIt {
|
|||||||
gh.factory<_i174.SetPasswordFormBloc>(
|
gh.factory<_i174.SetPasswordFormBloc>(
|
||||||
() => _i174.SetPasswordFormBloc(gh<_i995.IAuthRepository>()),
|
() => _i174.SetPasswordFormBloc(gh<_i995.IAuthRepository>()),
|
||||||
);
|
);
|
||||||
|
gh.factory<_i627.ResendFormBloc>(
|
||||||
|
() => _i627.ResendFormBloc(gh<_i995.IAuthRepository>()),
|
||||||
|
);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user