Files
eatvio_app/lib/features/registration/repositories/registration_repository.dart
2025-06-09 17:57:01 +03:00

49 lines
1.5 KiB
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/core/locator_service.dart';
import 'package:eatvio_app/features/registration/models/user_registration_model.dart';
import 'package:eatvio_app/features/registration/models/location_model.dart';
import 'package:eatvio_app/features/registration/services/registration_service.dart';
class RegistrationRepository {
final RegistrationService registrationService;
RegistrationRepository({required this.registrationService});
Future<String> tryRegister(UserRegistrationSheet sheet) async {
try {
return (await registrationService.register(sheet: sheet.toJson()))['token']!;
} catch (e) {
rethrow;
}
}
Future<LocationModel> getLocationsListByQuery(String query) async {
try {
return (await registrationService.getLocationsByAddress(query: query));
} catch (e) {
rethrow;
}
}
Future<LocationModel> getLocationsListByCoordinates(String latitude, String longitude) async {
try {
return (await registrationService.getLocationsByCoordinate(latitude: latitude, longitude: longitude));
} catch (e) {
rethrow;
}
}
Future<bool> emailIsReachable(String email) async {
try {
final response = await sl<Dio>().getUri(Uri.parse('https://api.validate.email/validate?email=$email'));
if (response.data['result']['reachable'] != 'invalid') {
return true;
} else {
return false;
}
} catch (e) {
return false;
}
}
}