Add Organization and User serializers to device viewset for enhanced user data retrieval
This commit is contained in:
8
apps/pos_device/pos/api/v1/serializers/organization.py
Normal file
8
apps/pos_device/pos/api/v1/serializers/organization.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from apps.pos_device import models as pos_models
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class OrganizationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = pos_models.Organization
|
||||
fields = ['id', 'name', 'en_name']
|
||||
8
apps/pos_device/pos/api/v1/serializers/user.py
Normal file
8
apps/pos_device/pos/api/v1/serializers/user.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.contrib.auth.models import User as pos_models
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = pos_models.User
|
||||
fields = ['id', 'username', 'first_name', 'last_name', 'email', 'mobile', 'phone', 'national_code']
|
||||
@@ -1,4 +1,4 @@
|
||||
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer
|
||||
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer , OrganizationSerializer , UserSerializer
|
||||
from apps.authentication.services.service import get_users_of_organization
|
||||
from apps.pos_device.mixins.pos_device_mixin import POSDeviceMixin
|
||||
from apps.pos_device import models as pos_models
|
||||
@@ -78,6 +78,11 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin):
|
||||
latitude=headers_data['device-lot'],
|
||||
longitude=headers_data['device-lng'],
|
||||
)
|
||||
|
||||
org_serializer = OrganizationSerializer(device_owner_org)
|
||||
users_data = get_users_of_organization(device_owner_org)
|
||||
users_serializer = UserSerializer(users_data, many=True)
|
||||
|
||||
return Response({
|
||||
"message": "login success - session activated",
|
||||
"device_identity": device.device_identity,
|
||||
@@ -85,8 +90,8 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin):
|
||||
"password": device.password,
|
||||
"provider": organization.name,
|
||||
"provider_tell": '0214021',
|
||||
"device_owner": device_owner_org,
|
||||
"device_owner_users": get_users_of_organization(device_owner_org)
|
||||
"device_owner": org_serializer.data,
|
||||
"device_owner_users": users_serializer.data
|
||||
}, status=status.HTTP_200_OK)
|
||||
|
||||
return Response({
|
||||
|
||||
Reference in New Issue
Block a user