dockerise for push

This commit is contained in:
Parsa Nazer
2024-12-25 22:50:10 +03:30
parent 522583f876
commit 09e8ceb7da
6 changed files with 136 additions and 20 deletions
+33 -7
View File
@@ -9,6 +9,7 @@ from drf_spectacular.utils import extend_schema, OpenApiParameter
from rest_framework_simplejwt.views import TokenObtainPairView
from django.shortcuts import get_object_or_404
from rest_framework_simplejwt.tokens import RefreshToken
import ghasedak_sms
class SendOTPView(APIView):
permission_classes = [AllowAny]
@extend_schema(
@@ -24,18 +25,43 @@ class SendOTPView(APIView):
)
def post(self, request):
phone = request.data.get('phone')
if not phone:
return Response({'detail': 'Phone number is required'}, status=status.HTTP_400_BAD_REQUEST)
try:
user, created = User.objects.get_or_create(phone=phone)
print(created)
print(user.phone)
otp = user.set_otp()
otp = user.set_otp()
message = f"کد یک بار مصرف : {otp}"
print(message)
# send otp
return Response({'detail': 'OTP sent successfully'}, status=status.HTTP_200_OK)
sms_api = ghasedak_sms.Ghasedak(api_key="4dc844abd4409fe247ec73831aed2498ad3749c1945660cc252654371756b966vafe5d9LGgMbnfGn")
# response = sms_api.send_single_sms(ghasedak_sms.SendSingleSmsInput(message=message, receptor=phone, line_number='30005006006908', send_date='', client_reference_id=''))
# print(response)
response = sms_api.send_single_sms(
ghasedak_sms.SendSingleSmsInput(
message=message,
receptor=phone,
line_number='90002930',
send_date='',
client_reference_id=''
)
)
# response = sms_api.send_otp_sms(otp_input)
if response['statusCode'] == 200:
return Response({'detail': 'OTP sent successfully'}, status=status.HTTP_200_OK)
else:
return Response({'detail': response}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
except User.DoesNotExist:
return Response({'detail': 'User not found'}, status=status.HTTP_404_NOT_FOUND)
return Response({'detail': 'user not found'}, status=status.HTTP_404_NOT_FOUND)
except Exception as e:
return Response({'detail': f'An error occurred: {response}'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
class CustomTokenObtainPairView(TokenObtainPairView):