diff --git a/core/migrations/0003_customer_name.py b/core/migrations/0003_customer_name.py new file mode 100644 index 0000000..b0a9dae --- /dev/null +++ b/core/migrations/0003_customer_name.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0 on 2025-04-13 11:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0002_alter_customer_profile_glb_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='customer', + name='name', + field=models.CharField(blank=True, max_length=255), + ), + ] diff --git a/core/models/customer.py b/core/models/customer.py index db1d551..2908eed 100644 --- a/core/models/customer.py +++ b/core/models/customer.py @@ -11,7 +11,7 @@ class Customer(models.Model): mobile_number = models.CharField(max_length=15) # Adjust max length as per your needs profile_img = models.CharField(max_length=255,blank=True) # Adjust max length as per your needs profile_glb = models.CharField(max_length=255,blank=True) # Adjust max length as per your needs - + verification_sms_code = models.CharField(blank=True,max_length=6) # Adjust max length as per your needs verification_email_code = models.CharField(blank=True,max_length=6) # Adjust max length as per your needs diff --git a/core/serializers/CustomerSerializer.py b/core/serializers/CustomerSerializer.py index e6281ff..11e5426 100644 --- a/core/serializers/CustomerSerializer.py +++ b/core/serializers/CustomerSerializer.py @@ -4,4 +4,5 @@ from ..models.customer import Customer class CustomerSerializer(serializers.ModelSerializer): class Meta: model = Customer - fields = '__all__' + fields = ['id','user','user_id' ,'mobile_number' , 'profile_img' , 'profile_glb' ,'is_sms_verified' , 'is_email_verified' ] + # fields = '__all__' \ No newline at end of file diff --git a/core/serializers/UserSerializer.py b/core/serializers/UserSerializer.py index 5abea61..299a67d 100644 --- a/core/serializers/UserSerializer.py +++ b/core/serializers/UserSerializer.py @@ -5,4 +5,4 @@ from django.contrib.auth.models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ['id', 'username', 'email' , 'password' ] + fields = ['id' ,'first_name' , 'last_name' ] diff --git a/core/views/userView.py b/core/views/userView.py index a7086b1..ec00b48 100644 --- a/core/views/userView.py +++ b/core/views/userView.py @@ -65,7 +65,7 @@ def user_has_role(user, role_name): @api_view(['POST']) def signup(request): # Check if username already exists - if User.objects.filter(username=request.data['username']).exists(): + if User.objects.filter(username=request.data['mobile_number']).exists(): return Response({'username': ['A user with that username already exists.']}, status=status.HTTP_400_BAD_REQUEST) # Ensure mobile number is provided @@ -78,6 +78,9 @@ def signup(request): if user_serializer.is_valid(): user = user_serializer.save() user.set_password(request.data['password']) + user.username = request.data['mobile_number'] + user.first_name = request.data['first_name'] + user.last_name = request.data['last_name'] user.save() customer_data = { @@ -88,7 +91,7 @@ def signup(request): if customer_serializer.is_valid(): customer_serializer.save() token = Token.objects.create(user=user) - return Response({'token': token.key, 'user': customer_serializer.data}, status=status.HTTP_201_CREATED) + return Response({'token': token.key, 'customer': customer_serializer.data, 'user': user_serializer.data}, status=status.HTTP_201_CREATED) else: # If customer data is invalid, delete the created user user.delete() @@ -216,10 +219,23 @@ def getInfo(request): customer = Customer.objects.get(user=user) # Serialize the customer data - serializer = CustomerSerializer(customer) + customer_serializer = CustomerSerializer(customer) - # Return the serialized customer data - return Response(serializer.data) + + # Manually select user fields to return + user_data = { + 'id': user.id, + 'first_name': user.first_name, + 'last_name': user.last_name, + # add any other fields you need + } + + return Response({ + 'customer': customer_serializer.data, + 'user': user_data + }) + + except Customer.DoesNotExist: return Response({'error': 'No customer data found for this user'}, status=404) diff --git a/test.rest b/test.rest index 21e69bd..9dce11e 100644 --- a/test.rest +++ b/test.rest @@ -22,7 +22,7 @@ Authorization: token cb8c2ef7913df31085e749398f22da5b43f419b2 POST http://127.0.0.1:8000/submitSmsVerification Content-Type: application/json -Authorization: token cb8c2ef7913df31085e749398f22da5b43f419b2 +Authorization: token d3f1b03996140c8f7561d67221953ff704b482cb { "verification_sms_code": "807806" }