sss
parent
6add6729ec
commit
d9c93fd213
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,15 @@
|
||||
# serializers.py in Osina app
|
||||
from rest_framework import serializers
|
||||
from osinacore.models import *
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['id', 'username', 'email', 'password']
|
||||
|
||||
class CustomerProfileSerializer(serializers.ModelSerializer):
|
||||
user = UserSerializer(required=True)
|
||||
|
||||
class Meta:
|
||||
model = CustomerProfile
|
||||
fields = ['user', 'mobile_number', 'status', 'reference']
|
@ -0,0 +1,7 @@
|
||||
from django.urls import path
|
||||
from . import views
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path('register/', views.register_customer, name='register_customer'),
|
||||
]
|
@ -0,0 +1,25 @@
|
||||
from django.contrib.auth.models import User
|
||||
from rest_framework import status
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from osinacore.models import *
|
||||
from .serializers import CustomerProfileSerializer, UserSerializer
|
||||
|
||||
@api_view(['POST'])
|
||||
def register_customer(request):
|
||||
if 'user' in request.data and 'customer' in request.data:
|
||||
user_serializer = UserSerializer(data=request.data['user'])
|
||||
if user_serializer.is_valid():
|
||||
user = user_serializer.save()
|
||||
customer_data = request.data['customer']
|
||||
customer_data['user'] = user.id
|
||||
customer_serializer = CustomerProfileSerializer(data=customer_data)
|
||||
if customer_serializer.is_valid():
|
||||
customer_serializer.save()
|
||||
return Response({'message': 'User and Customer registered successfully'}, status=status.HTTP_201_CREATED)
|
||||
else:
|
||||
return Response(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
else:
|
||||
return Response(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
else:
|
||||
return Response({'message': 'User and Customer data are required'}, status=status.HTTP_400_BAD_REQUEST)
|
Binary file not shown.
Loading…
Reference in New Issue