Commit fea7c857 authored by John Red Medrano's avatar John Red Medrano

added group and modules key at application endpoint

parent bc2ee4c3
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
from rest_framework.exceptions import ValidationError from rest_framework.exceptions import ValidationError
from django.utils.crypto import get_random_string from django.utils.crypto import get_random_string
from django.conf import settings
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', 'created_at', 'updated_at', 'deleted_at') fields = ('id', 'application_no', 'name', 'theme', 'groups', 'modules')
read_only_fields = ('id', 'application_no', 'created_at', 'updated_at', 'deleted_at') read_only_fields = (
'id', 'application_no', 'created_at', 'updated_at', 'deleted_at'
)
def is_valid(self, raise_exception=False): def is_valid(self, raise_exception=False):
......
...@@ -8,9 +8,9 @@ from api.views import ( ...@@ -8,9 +8,9 @@ from api.views import (
) )
router = DefaultRouter() router = DefaultRouter()
router.register(r'api-applications', ApplicationViewSet) router.register(r'applications', ApplicationViewSet)
router.register(r'api-services', APIServiceViewSet) router.register(r'services', APIServiceViewSet)
router.register(r'api-endpoint', APIEndpointViewSet) router.register(r'endpoint', APIEndpointViewSet)
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), path('', include(router.urls)),
......
import requests
from django.db.models import F
from django.db.models import OuterRef, Subquery
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
from rest_framework.response import Response from rest_framework.response import Response
...@@ -7,6 +11,9 @@ from api.utils import (CustomPagination, BadRequestException, ...@@ -7,6 +11,9 @@ from api.utils import (CustomPagination, BadRequestException,
status_message_response) status_message_response)
ACCOUNT_GROUP = settings.ACCOUNT_GROUP
class ApplicationViewSet(viewsets.ModelViewSet): class ApplicationViewSet(viewsets.ModelViewSet):
http_method_names = [ http_method_names = [
'get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace' 'get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'
...@@ -46,7 +53,6 @@ class ApplicationViewSet(viewsets.ModelViewSet): ...@@ -46,7 +53,6 @@ class ApplicationViewSet(viewsets.ModelViewSet):
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
try: try:
queryset = Application.objects.filter(deleted_at__exact=None) queryset = Application.objects.filter(deleted_at__exact=None)
if not queryset.exists(): if not queryset.exists():
message = status_message_response( message = status_message_response(
200, 'success', 'No records found', [] 200, 'success', 'No records found', []
......
...@@ -33,3 +33,4 @@ AUTHENTICATOR_IP = config['SERVICE']['AUTHENTICATOR_IP'] ...@@ -33,3 +33,4 @@ AUTHENTICATOR_IP = config['SERVICE']['AUTHENTICATOR_IP']
AUTHENTICATOR_PATH = '/api/v1/authenticator' AUTHENTICATOR_PATH = '/api/v1/authenticator'
VALIDATE_TOKEN_URL = f'http://{AUTHENTICATOR_IP}{AUTHENTICATOR_PATH}/validate-token/' VALIDATE_TOKEN_URL = f'http://{AUTHENTICATOR_IP}{AUTHENTICATOR_PATH}/validate-token/'
ACCOUNT_GROUP = f'http://{AUTHENTICATOR_IP}{AUTHENTICATOR_PATH}/account-dependent'
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