Commit 581de553 authored by John Red Medrano's avatar John Red Medrano

modified the endpoint of application move all codes to viewset

parent fea7c857
import requests
from rest_framework import serializers from rest_framework import serializers
from .models import APIService, APIEndpoint, Application from .models import APIService, APIEndpoint, Application
from api.utils import BadRequestException, number_generator from api.utils import BadRequestException, number_generator
...@@ -10,23 +9,13 @@ ACCOUNT_GROUP = settings.ACCOUNT_GROUP ...@@ -10,23 +9,13 @@ ACCOUNT_GROUP = settings.ACCOUNT_GROUP
class ApplicationSerializer(serializers.ModelSerializer): class ApplicationSerializer(serializers.ModelSerializer):
groups = serializers.ListField(read_only=True)
modules = serializers.ListField(read_only=True)
def to_representation(self, data):
ids = data.id
req = requests.get(f'{ACCOUNT_GROUP}/{ids}/')
groups = req.json()['groups']
modules = req.json()['modules']
setattr(data, 'groups', groups)
setattr(data, 'modules', modules)
return super().to_representation(data)
class Meta: class Meta:
model = Application model = Application
fields = ('id', 'application_no', 'name', 'theme', 'groups', 'modules') fields = (
'id', 'application_no', 'name', "code", 'theme',
# 'groups', 'modules'
)
read_only_fields = ( read_only_fields = (
'id', 'application_no', 'created_at', 'updated_at', 'deleted_at' 'id', 'application_no', 'created_at', 'updated_at', 'deleted_at'
) )
......
import requests import requests
from django.db.models import F # from django.db.models import F
from django.db.models import OuterRef, Subquery # from django.db.models import OuterRef, Subquery
from django.conf import settings from django.conf import settings
from rest_framework import viewsets, status from rest_framework import viewsets, status
from rest_framework.decorators import action from rest_framework.decorators import action
...@@ -62,11 +62,21 @@ class ApplicationViewSet(viewsets.ModelViewSet): ...@@ -62,11 +62,21 @@ class ApplicationViewSet(viewsets.ModelViewSet):
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
if page is not None: if page is not None:
serializer = self.get_serializer(page, many=True) serializer = self.get_serializer(page, many=True)
results = []
for item in serializer.data:
ids = item['id']
req = requests.get(f'{ACCOUNT_GROUP}/{ids}/')
groups = req.json()['groups']
modules = req.json()['modules']
item['groups'] = groups
item['modules'] = modules
results.append(item)
message = { message = {
'code': 200, 'code': 200,
'status': 'success', 'status': 'success',
'message': 'List of applications found', 'message': 'List of applications found',
'results': serializer.data 'results': results
} }
return self.get_paginated_response(message) return self.get_paginated_response(message)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment