change
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 2m4s

This commit is contained in:
2026-04-20 16:58:34 +05:00
parent 477e79ed80
commit 1daf4f3569
4 changed files with 15 additions and 25 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -7,6 +7,8 @@ from core.http.models import User
from core.apps.eggs.tasks.send_sms import send_sms_msg from core.apps.eggs.tasks.send_sms import send_sms_msg
class DebtSerializer(serializers.ModelSerializer): class DebtSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Debt model = Debt

View File

@@ -21,7 +21,6 @@ class SendService:
self.password = password or env("SMS_PASSWORD") self.password = password or env("SMS_PASSWORD")
self.callback_url = callback_url self.callback_url = callback_url
self.headers = { self.headers = {
"Content-Type": "application/json",
"Accept": "application/json", "Accept": "application/json",
} }
@@ -33,41 +32,30 @@ class SendService:
} }
def request(self, api_path, data=None, method=None, headers=None): def request(self, api_path, data=None, method=None, headers=None):
incoming_data = {"status": "error", "message": "Unknown error"}
url = f"{self.api_url}/{api_path}" url = f"{self.api_url}/{api_path}"
method = method or self.POST
final_headers = self.headers.copy() final_headers = self.headers.copy()
if headers: if headers:
final_headers.update(headers) final_headers.update(headers)
try: try:
# For Eskiz, data should be JSON for Notify API # Reverting to data=data (form-encoded) as it was working before
response = requests.request( response = requests.request(
method, method,
url, url,
json=data if method != self.GET else None, data=data if method != self.GET else None,
params=data if method == self.GET else None, params=data if method == self.GET else None,
headers=final_headers, headers=final_headers,
timeout=10 timeout=10
) )
response.raise_for_status()
if response.status_code == 401: return response.json()
# Token might be expired, clear cache except requests.exceptions.HTTPError as e:
cache.delete(self.CACHE_KEY) logger.error(f"SMS API HTTP Error: {e.response.status_code} - {e.response.text}")
return e.response.json()
try: except Exception as e:
incoming_data = response.json() logger.error(f"SMS API Request Exception: {str(e)}")
except ValueError: return {"status": "error", "message": str(e)}
incoming_data = {"status": "error", "message": response.text}
if response.status_code >= 400:
logger.error(f"Eskiz API Error ({response.status_code}): {incoming_data}")
except requests.RequestException as error:
logger.error(f"Eskiz Request Exception: {str(error)}")
raise Exception(str(error))
return incoming_data
def get_token(self): def get_token(self):
token = cache.get(self.CACHE_KEY) token = cache.get(self.CACHE_KEY)
@@ -138,9 +126,9 @@ class SendService:
headers = {"Authorization": f"Bearer {token}"} headers = {"Authorization": f"Bearer {token}"}
# Use string "4546" for sender name # Use integer 4546 for sender name
data = { data = {
"from": "4546", "from": 4546,
"mobile_phone": phone_number, "mobile_phone": phone_number,
"callback_url": self.callback_url, "callback_url": self.callback_url,
"message": message, "message": message,