user inquiry with phone number
This commit is contained in:
parent
2d444fd270
commit
e441d3eedc
3 changed files with 28 additions and 2 deletions
|
|
@ -79,6 +79,25 @@ class RequestOTPSerializer(serializers.ModelSerializer):
|
|||
return result
|
||||
|
||||
|
||||
class UserInquirySerializer(serializers.ModelSerializer):
|
||||
phone_number = serializers.CharField(required=True)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('avatar', 'name', 'username', "first_name", "last_name", "uuid", 'phone_number')
|
||||
read_only_fields = ['avatar', 'name', 'username', 'first_name', 'last_name', "uuid"]
|
||||
|
||||
def save(self, **kwargs):
|
||||
# TODO: move it to query set
|
||||
validated_data = self.validated_data
|
||||
user = User.objects.filter(phone_number=validated_data['phone_number']).first()
|
||||
if not user:
|
||||
user = User.objects.create_user(**validated_data)
|
||||
|
||||
self.instance = user
|
||||
return user
|
||||
|
||||
|
||||
class ChangePasswordSerializer(serializers.Serializer):
|
||||
old_password = serializers.CharField(required=True)
|
||||
old_password_field = serializers.CharField(default='password')
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ from apps.users.forms import OTPAuthenticationForm
|
|||
from apps.users.models import User
|
||||
from apps.users.provinces_and_cities import State
|
||||
from apps.users.serializers import PublicUserSerializer, AccountSerializer, RequestOTPSerializer, \
|
||||
ChangePasswordSerializer
|
||||
ChangePasswordSerializer, UserInquirySerializer
|
||||
|
||||
UserModel = get_user_model()
|
||||
|
||||
|
|
@ -60,6 +60,12 @@ class RequestOTPView(generics.CreateAPIView):
|
|||
required_scopes = []
|
||||
|
||||
|
||||
class UserInquiryView(generics.CreateAPIView):
|
||||
serializer_class = UserInquirySerializer
|
||||
permission_classes = [IsAuthenticatedOrTokenHasScope]
|
||||
required_scopes = ['accounts.profile:inquiry']
|
||||
|
||||
|
||||
class ChangePasswordView(generics.UpdateAPIView):
|
||||
permission_classes = [IsAuthenticatedOrTokenHasScope]
|
||||
serializer_class = ChangePasswordSerializer
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ from django.contrib import admin
|
|||
from apps.transactions.views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \
|
||||
WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify
|
||||
from apps.users.views import UserListView, UserDetailView, AccountView, RequestOTPView, ChangePasswordView, \
|
||||
OTPLoginView, home, ProvinceApiView
|
||||
OTPLoginView, home, ProvinceApiView, UserInquiryView
|
||||
from django.contrib.auth import urls as auth_urls
|
||||
|
||||
# Setup the URLs and include login URLs for the browsable API.
|
||||
|
|
@ -46,6 +46,7 @@ urlpatterns = [
|
|||
path('request_otp/', RequestOTPView.as_view(), name='register'),
|
||||
path('change_password/', ChangePasswordView.as_view(), name='change_password'),
|
||||
path('province', ProvinceApiView.as_view(), name='province'),
|
||||
path('inquiry', UserInquiryView.as_view(), name='inquiry'),
|
||||
|
||||
path('transactions/', TransactionList.as_view(), name='transactions'),
|
||||
path('transactions/<uuid>', TransactionDetail.as_view(), name='transaction_detail'),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue