check phone repo
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
import '../../domain/auth/auth.dart';
|
||||
|
||||
part 'auth_dtos.freezed.dart';
|
||||
part 'auth_dtos.g.dart';
|
||||
|
||||
part 'dto/check_phone_dto.dart';
|
||||
@@ -0,0 +1,410 @@
|
||||
// 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 'auth_dtos.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',
|
||||
);
|
||||
|
||||
CheckPhoneDto _$CheckPhoneDtoFromJson(Map<String, dynamic> json) {
|
||||
return _CheckPhoneDto.fromJson(json);
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$CheckPhoneDto {
|
||||
@JsonKey(name: 'status')
|
||||
String? get status => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: 'message')
|
||||
String? get message => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: 'data')
|
||||
CheckPhoneDataDto? get data => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this CheckPhoneDto to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of CheckPhoneDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$CheckPhoneDtoCopyWith<CheckPhoneDto> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $CheckPhoneDtoCopyWith<$Res> {
|
||||
factory $CheckPhoneDtoCopyWith(
|
||||
CheckPhoneDto value,
|
||||
$Res Function(CheckPhoneDto) then,
|
||||
) = _$CheckPhoneDtoCopyWithImpl<$Res, CheckPhoneDto>;
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: 'status') String? status,
|
||||
@JsonKey(name: 'message') String? message,
|
||||
@JsonKey(name: 'data') CheckPhoneDataDto? data,
|
||||
});
|
||||
|
||||
$CheckPhoneDataDtoCopyWith<$Res>? get data;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$CheckPhoneDtoCopyWithImpl<$Res, $Val extends CheckPhoneDto>
|
||||
implements $CheckPhoneDtoCopyWith<$Res> {
|
||||
_$CheckPhoneDtoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of CheckPhoneDto
|
||||
/// 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 CheckPhoneDataDto?,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
|
||||
/// Create a copy of CheckPhoneDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
$CheckPhoneDataDtoCopyWith<$Res>? get data {
|
||||
if (_value.data == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $CheckPhoneDataDtoCopyWith<$Res>(_value.data!, (value) {
|
||||
return _then(_value.copyWith(data: value) as $Val);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$CheckPhoneDtoImplCopyWith<$Res>
|
||||
implements $CheckPhoneDtoCopyWith<$Res> {
|
||||
factory _$$CheckPhoneDtoImplCopyWith(
|
||||
_$CheckPhoneDtoImpl value,
|
||||
$Res Function(_$CheckPhoneDtoImpl) then,
|
||||
) = __$$CheckPhoneDtoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: 'status') String? status,
|
||||
@JsonKey(name: 'message') String? message,
|
||||
@JsonKey(name: 'data') CheckPhoneDataDto? data,
|
||||
});
|
||||
|
||||
@override
|
||||
$CheckPhoneDataDtoCopyWith<$Res>? get data;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$CheckPhoneDtoImplCopyWithImpl<$Res>
|
||||
extends _$CheckPhoneDtoCopyWithImpl<$Res, _$CheckPhoneDtoImpl>
|
||||
implements _$$CheckPhoneDtoImplCopyWith<$Res> {
|
||||
__$$CheckPhoneDtoImplCopyWithImpl(
|
||||
_$CheckPhoneDtoImpl _value,
|
||||
$Res Function(_$CheckPhoneDtoImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of CheckPhoneDto
|
||||
/// 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(
|
||||
_$CheckPhoneDtoImpl(
|
||||
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 CheckPhoneDataDto?,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$CheckPhoneDtoImpl extends _CheckPhoneDto {
|
||||
const _$CheckPhoneDtoImpl({
|
||||
@JsonKey(name: 'status') this.status,
|
||||
@JsonKey(name: 'message') this.message,
|
||||
@JsonKey(name: 'data') this.data,
|
||||
}) : super._();
|
||||
|
||||
factory _$CheckPhoneDtoImpl.fromJson(Map<String, dynamic> json) =>
|
||||
_$$CheckPhoneDtoImplFromJson(json);
|
||||
|
||||
@override
|
||||
@JsonKey(name: 'status')
|
||||
final String? status;
|
||||
@override
|
||||
@JsonKey(name: 'message')
|
||||
final String? message;
|
||||
@override
|
||||
@JsonKey(name: 'data')
|
||||
final CheckPhoneDataDto? data;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'CheckPhoneDto(status: $status, message: $message, data: $data)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$CheckPhoneDtoImpl &&
|
||||
(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 CheckPhoneDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$CheckPhoneDtoImplCopyWith<_$CheckPhoneDtoImpl> get copyWith =>
|
||||
__$$CheckPhoneDtoImplCopyWithImpl<_$CheckPhoneDtoImpl>(this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$CheckPhoneDtoImplToJson(this);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _CheckPhoneDto extends CheckPhoneDto {
|
||||
const factory _CheckPhoneDto({
|
||||
@JsonKey(name: 'status') final String? status,
|
||||
@JsonKey(name: 'message') final String? message,
|
||||
@JsonKey(name: 'data') final CheckPhoneDataDto? data,
|
||||
}) = _$CheckPhoneDtoImpl;
|
||||
const _CheckPhoneDto._() : super._();
|
||||
|
||||
factory _CheckPhoneDto.fromJson(Map<String, dynamic> json) =
|
||||
_$CheckPhoneDtoImpl.fromJson;
|
||||
|
||||
@override
|
||||
@JsonKey(name: 'status')
|
||||
String? get status;
|
||||
@override
|
||||
@JsonKey(name: 'message')
|
||||
String? get message;
|
||||
@override
|
||||
@JsonKey(name: 'data')
|
||||
CheckPhoneDataDto? get data;
|
||||
|
||||
/// Create a copy of CheckPhoneDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$CheckPhoneDtoImplCopyWith<_$CheckPhoneDtoImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
CheckPhoneDataDto _$CheckPhoneDataDtoFromJson(Map<String, dynamic> json) {
|
||||
return _CheckPhoneDataDto.fromJson(json);
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$CheckPhoneDataDto {
|
||||
@JsonKey(name: 'phone_number')
|
||||
String? get phoneNumber => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this CheckPhoneDataDto to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of CheckPhoneDataDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$CheckPhoneDataDtoCopyWith<CheckPhoneDataDto> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $CheckPhoneDataDtoCopyWith<$Res> {
|
||||
factory $CheckPhoneDataDtoCopyWith(
|
||||
CheckPhoneDataDto value,
|
||||
$Res Function(CheckPhoneDataDto) then,
|
||||
) = _$CheckPhoneDataDtoCopyWithImpl<$Res, CheckPhoneDataDto>;
|
||||
@useResult
|
||||
$Res call({@JsonKey(name: 'phone_number') String? phoneNumber});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$CheckPhoneDataDtoCopyWithImpl<$Res, $Val extends CheckPhoneDataDto>
|
||||
implements $CheckPhoneDataDtoCopyWith<$Res> {
|
||||
_$CheckPhoneDataDtoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of CheckPhoneDataDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({Object? phoneNumber = freezed}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
phoneNumber: freezed == phoneNumber
|
||||
? _value.phoneNumber
|
||||
: phoneNumber // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$CheckPhoneDataDtoImplCopyWith<$Res>
|
||||
implements $CheckPhoneDataDtoCopyWith<$Res> {
|
||||
factory _$$CheckPhoneDataDtoImplCopyWith(
|
||||
_$CheckPhoneDataDtoImpl value,
|
||||
$Res Function(_$CheckPhoneDataDtoImpl) then,
|
||||
) = __$$CheckPhoneDataDtoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({@JsonKey(name: 'phone_number') String? phoneNumber});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$CheckPhoneDataDtoImplCopyWithImpl<$Res>
|
||||
extends _$CheckPhoneDataDtoCopyWithImpl<$Res, _$CheckPhoneDataDtoImpl>
|
||||
implements _$$CheckPhoneDataDtoImplCopyWith<$Res> {
|
||||
__$$CheckPhoneDataDtoImplCopyWithImpl(
|
||||
_$CheckPhoneDataDtoImpl _value,
|
||||
$Res Function(_$CheckPhoneDataDtoImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of CheckPhoneDataDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({Object? phoneNumber = freezed}) {
|
||||
return _then(
|
||||
_$CheckPhoneDataDtoImpl(
|
||||
phoneNumber: freezed == phoneNumber
|
||||
? _value.phoneNumber
|
||||
: phoneNumber // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$CheckPhoneDataDtoImpl implements _CheckPhoneDataDto {
|
||||
const _$CheckPhoneDataDtoImpl({
|
||||
@JsonKey(name: 'phone_number') this.phoneNumber,
|
||||
});
|
||||
|
||||
factory _$CheckPhoneDataDtoImpl.fromJson(Map<String, dynamic> json) =>
|
||||
_$$CheckPhoneDataDtoImplFromJson(json);
|
||||
|
||||
@override
|
||||
@JsonKey(name: 'phone_number')
|
||||
final String? phoneNumber;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'CheckPhoneDataDto(phoneNumber: $phoneNumber)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$CheckPhoneDataDtoImpl &&
|
||||
(identical(other.phoneNumber, phoneNumber) ||
|
||||
other.phoneNumber == phoneNumber));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, phoneNumber);
|
||||
|
||||
/// Create a copy of CheckPhoneDataDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$CheckPhoneDataDtoImplCopyWith<_$CheckPhoneDataDtoImpl> get copyWith =>
|
||||
__$$CheckPhoneDataDtoImplCopyWithImpl<_$CheckPhoneDataDtoImpl>(
|
||||
this,
|
||||
_$identity,
|
||||
);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$CheckPhoneDataDtoImplToJson(this);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _CheckPhoneDataDto implements CheckPhoneDataDto {
|
||||
const factory _CheckPhoneDataDto({
|
||||
@JsonKey(name: 'phone_number') final String? phoneNumber,
|
||||
}) = _$CheckPhoneDataDtoImpl;
|
||||
|
||||
factory _CheckPhoneDataDto.fromJson(Map<String, dynamic> json) =
|
||||
_$CheckPhoneDataDtoImpl.fromJson;
|
||||
|
||||
@override
|
||||
@JsonKey(name: 'phone_number')
|
||||
String? get phoneNumber;
|
||||
|
||||
/// Create a copy of CheckPhoneDataDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$CheckPhoneDataDtoImplCopyWith<_$CheckPhoneDataDtoImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'auth_dtos.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
_$CheckPhoneDtoImpl _$$CheckPhoneDtoImplFromJson(Map<String, dynamic> json) =>
|
||||
_$CheckPhoneDtoImpl(
|
||||
status: json['status'] as String?,
|
||||
message: json['message'] as String?,
|
||||
data: json['data'] == null
|
||||
? null
|
||||
: CheckPhoneDataDto.fromJson(json['data'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$CheckPhoneDtoImplToJson(_$CheckPhoneDtoImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'status': instance.status,
|
||||
'message': instance.message,
|
||||
'data': instance.data,
|
||||
};
|
||||
|
||||
_$CheckPhoneDataDtoImpl _$$CheckPhoneDataDtoImplFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => _$CheckPhoneDataDtoImpl(phoneNumber: json['phone_number'] as String?);
|
||||
|
||||
Map<String, dynamic> _$$CheckPhoneDataDtoImplToJson(
|
||||
_$CheckPhoneDataDtoImpl instance,
|
||||
) => <String, dynamic>{'phone_number': instance.phoneNumber};
|
||||
@@ -0,0 +1,53 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:injectable/injectable.dart';
|
||||
import 'package:data_channel/data_channel.dart';
|
||||
|
||||
import '../../../common/api/api_client.dart';
|
||||
import '../../../common/api/api_failure.dart';
|
||||
import '../../../common/url/api_path.dart';
|
||||
import '../../../domain/auth/auth.dart';
|
||||
import '../auth_dtos.dart';
|
||||
|
||||
@injectable
|
||||
class AuthRemoteDataProvider {
|
||||
final ApiClient _apiClient;
|
||||
final String _logName = "AuthRemoteDataProvider";
|
||||
|
||||
AuthRemoteDataProvider(this._apiClient);
|
||||
|
||||
Future<DC<AuthFailure, CheckPhoneDto>> checkPhone({
|
||||
required String phoneNumber,
|
||||
}) async {
|
||||
try {
|
||||
final response = await _apiClient.post(
|
||||
ApiPath.checkPhone,
|
||||
data: {'phone_number': phoneNumber},
|
||||
);
|
||||
|
||||
if (response.data['code'] == 401) {
|
||||
return DC.error(
|
||||
AuthFailure.serverError(
|
||||
ApiFailure.unauthorized('Incorrect email or password'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (response.data['success'] == false) {
|
||||
if ((response.data['errors'] as List).isNotEmpty) {
|
||||
if (response.data['errors'][0]['code'] == 303) {
|
||||
return DC.error(
|
||||
AuthFailure.dynamicErrorMessage('No. Telepon Tidak Boleh Kosong'),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final dto = CheckPhoneDto.fromJson(response.data['data']);
|
||||
return DC.data(dto);
|
||||
} on ApiFailure catch (e, s) {
|
||||
log('checkPhone', name: _logName, error: e, stackTrace: s);
|
||||
return DC.error(AuthFailure.serverError(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
part of '../auth_dtos.dart';
|
||||
|
||||
@freezed
|
||||
class CheckPhoneDto with _$CheckPhoneDto {
|
||||
const CheckPhoneDto._();
|
||||
|
||||
const factory CheckPhoneDto({
|
||||
@JsonKey(name: 'status') String? status,
|
||||
@JsonKey(name: 'message') String? message,
|
||||
@JsonKey(name: 'data') CheckPhoneDataDto? data,
|
||||
}) = _CheckPhoneDto;
|
||||
|
||||
factory CheckPhoneDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$CheckPhoneDtoFromJson(json);
|
||||
CheckPhone toDomain() => CheckPhone(
|
||||
status: status ?? '',
|
||||
message: message ?? '',
|
||||
phoneNumber: data?.phoneNumber ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class CheckPhoneDataDto with _$CheckPhoneDataDto {
|
||||
const factory CheckPhoneDataDto({
|
||||
@JsonKey(name: 'phone_number') String? phoneNumber,
|
||||
}) = _CheckPhoneDataDto;
|
||||
|
||||
factory CheckPhoneDataDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$CheckPhoneDataDtoFromJson(json);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
import '../../../domain/auth/auth.dart';
|
||||
import '../datasources/remote_data_provider.dart';
|
||||
|
||||
@Injectable(as: IAuthRepository)
|
||||
class AuthRepository implements IAuthRepository {
|
||||
final AuthRemoteDataProvider _remoteDataProvider;
|
||||
|
||||
final String _logName = 'AuthRepository';
|
||||
|
||||
AuthRepository(this._remoteDataProvider);
|
||||
|
||||
@override
|
||||
Future<Either<AuthFailure, CheckPhone>> checkPhone({
|
||||
required String phoneNumber,
|
||||
}) async {
|
||||
try {
|
||||
final result = await _remoteDataProvider.checkPhone(
|
||||
phoneNumber: phoneNumber,
|
||||
);
|
||||
|
||||
if (result.hasError) {
|
||||
return left(result.error!);
|
||||
}
|
||||
|
||||
final auth = result.data!.toDomain();
|
||||
|
||||
return right(auth);
|
||||
} catch (e, s) {
|
||||
log('checkPhoneError', name: _logName, error: e, stackTrace: s);
|
||||
return left(const AuthFailure.unexpectedError());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user