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