1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import boto3
- from django.views import View
- from Model.models import Device_User, UserRegionModel
- from Object.IOTCore.IotObject import ChinaIOTClient, AsiaIOTClient, EuropeIOTClient, AmericaIOTClient
- from Object.ResponseObject import ResponseObject
- class IotCoreView(View):
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.GET
- operation = kwargs.get('operation', None)
- return self.validate(operation, request_dict)
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.POST
- operation = kwargs.get('operation', None)
- return self.validate(operation, request_dict)
- def validate(self, operation, request_dict):
- response = ResponseObject()
- if operation == 'createProvisioningClaim':
- return self.create_provisioning_claim(request_dict, response)
- else:
- return response.json(404)
- def create_provisioning_claim(self, request_dict, response):
- uid = request_dict.get('uid', None)
- if uid:
- user_region_qs = UserRegionModel.objects.filter(user__device_info__UID=uid)
- if user_region_qs.exists():
- user_region = user_region_qs[0]
- if user_region.region_id == 1:
- iotClient = AmericaIOTClient()
- return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
- elif user_region.region_id == 2:
- iotClient = AsiaIOTClient()
- return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
- elif user_region.region_id == 3:
- iotClient = EuropeIOTClient()
- return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
- else:
- iotClient = AmericaIOTClient()
- return response.json(0, {'res': iotClient.create_provisioning_claim('Ansjer_Iot_Queue')})
- else:
- return response.json(444)
|