import 'dart:developer'; import 'package:http/http.dart' as http; import '../config/api_response.dart'; import '../config/constants/app_constant.dart'; class SmsServices { int statusCode = -1; Future send_sms_otp(String phonenumber) async { try { final uri = Uri.https( url, '/api/auth_otp/sms/send_otp_twillio', {'phonenumber': phonenumber,}, ); final response = await http.post( uri, headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, ); if (response.statusCode == 200 || response.statusCode == 201) { return APIResponse(statusCode: response.statusCode, data: response); } else { return APIResponse( statusCode: response.statusCode, errorMessage: 'Please check your info', ); } } catch (e, stackTrace) { log("Error: $e"); log("StackTrace: $stackTrace"); return APIResponse( statusCode: 500, errorMessage: 'No internet connection', ); } } Future checkphoneandemail(String phonenumber,String email) async { try { final uri = Uri.https( url, '/api/v1/public/check_email_and_phone', {'phonenumber': phonenumber,'email': email}, ); final response = await http.post( uri, headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, ); if (response.statusCode == 200 || response.statusCode == 201) { return APIResponse(statusCode: response.statusCode, data: response); } else { return APIResponse( statusCode: response.statusCode, errorMessage: 'Please check your info', ); } } catch (e, stackTrace) { log("Error: $e"); log("StackTrace: $stackTrace"); return APIResponse( statusCode: 500, errorMessage: 'No internet connection', ); } } Future verify_otp(String phonenumber,String otp) async { // Create request headers final Map headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', }; print('*-*-*-*-*-*--------------------------------$phonenumber'); // Create URI final uri = Uri.https(url, '/api/auth_otp/sms/verify_otp_twillio',{ 'phoneNumber': phonenumber, 'otp': otp, },); try { // Send PATCH request final response = await http.post( uri, headers: headers, ); // Handle response if (response.statusCode == 200 || response.statusCode == 201) { log("Update profile response: ${response.body}"); return APIResponse( statusCode: response.statusCode, data: true, ); } else { log("Error: ${response.statusCode}"); return APIResponse( statusCode: response.statusCode, data: false, errorMessage: 'Please check your info', ); } } catch (e) { log("Exception: $e"); return APIResponse( statusCode: 500, data: false, errorMessage: 'An unexpected error occurred', ); } } }