Adding first progran Xos integration
Change-Id: I2f9f52bff7ed985fe4b76eb928048c9d0cfde03e
diff --git a/xos/api/service/progran.py b/xos/api/service/progran.py
new file mode 100644
index 0000000..9e2849d
--- /dev/null
+++ b/xos/api/service/progran.py
@@ -0,0 +1,83 @@
+from rest_framework.decorators import api_view
+from rest_framework.response import Response
+from rest_framework.reverse import reverse
+from rest_framework import serializers
+from rest_framework import generics
+from rest_framework import status
+from core.models import *
+from django.forms import widgets
+from services.progran.models import *
+from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
+from api.xosapi_helpers import PlusModelSerializer, XOSViewSet, ReadOnlyField
+import json
+
+BASE_NAME = 'progran'
+
+
+class VProgranProfileSerializer(PlusModelSerializer):
+ id = ReadOnlyField()
+ uiid = serializers.CharField(required=False)
+ profile = serializers.CharField(required=False)
+ dlrate = serializers.CharField(required=False)
+ ulrate = serializers.CharField(required=False)
+
+
+ class Meta:
+ model = VProgranProfile
+ fields = ('uiid','id', 'profile', 'dlrate' , 'ulrate')
+
+
+
+
+class VProgranImsiSerializer(PlusModelSerializer):
+ id = ReadOnlyField()
+ uiid = serializers.CharField(required=False)
+ imsi = serializers.CharField(required=False)
+ profile = serializers.CharField(required=False)
+
+
+ class Meta:
+ model = VProgranImsi
+ fields = ('uiid','id', 'imsi', "profile")
+
+
+class ProgranProfileViewSet(XOSViewSet):
+ base_name = "progran"
+ method_name = "profile"
+ method_kind = "viewset"
+ queryset = VProgranProfile.objects.all()
+ serializer_class = VProgranProfileSerializer
+
+ @classmethod
+ def get_urlpatterns(self, api_path="^"):
+ patterns = super(ProgranProfileViewSet, self).get_urlpatterns(api_path=api_path)
+
+ return patterns
+
+ def list(self, request):
+ object_list = self.filter_queryset(self.get_queryset())
+
+ serializer = self.get_serializer(object_list, many=True)
+
+ return Response(serializer.data)
+
+
+class ProgranImsiViewSet(XOSViewSet):
+ base_name = "progran"
+ method_name = "imsi"
+ method_kind = "viewset"
+ queryset = VProgranImsi.objects.all()
+ serializer_class = VProgranImsiSerializer
+
+ @classmethod
+ def get_urlpatterns(self, api_path="^"):
+ patterns = super(ProgranImsiViewSet, self).get_urlpatterns(api_path=api_path)
+
+ return patterns
+
+ def list(self, request):
+ object_list = self.filter_queryset(self.get_queryset())
+
+ serializer = self.get_serializer(object_list, many=True)
+
+ return Response(serializer.data)
\ No newline at end of file