You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.8 KiB
94 lines
3.8 KiB
4 years ago
|
#!/usr/bin/env python
|
||
|
# -*- coding:utf-8 -*-
|
||
|
# project: 3月
|
||
|
# author: liuyu
|
||
|
# date: 2020/3/4
|
||
|
|
||
|
from rest_framework.views import APIView
|
||
|
from api.utils.response import BaseResponse
|
||
|
from api.utils.auth import ExpiringTokenAuthentication
|
||
|
from rest_framework.response import Response
|
||
|
from api.models import AppIOSDeveloperInfo,APPSuperSignUsedInfo,AppUDID
|
||
|
from api.utils.serializer import DeveloperSerializer, UserInfoSerializer,SuperSignUsedSerializer,DeviceUDIDSerializer
|
||
|
from rest_framework.pagination import PageNumberPagination
|
||
|
from api.utils.app.supersignutils import IosUtils
|
||
|
|
||
|
|
||
|
|
||
|
class AppsPageNumber(PageNumberPagination):
|
||
|
page_size = 10 # 每页显示多少条
|
||
|
page_size_query_param = 'size' # URL中每页显示条数的参数
|
||
|
page_query_param = 'page' # URL中页码的参数
|
||
|
max_page_size = None # 最大页码数限制
|
||
|
|
||
|
|
||
|
class DeveloperView(APIView):
|
||
|
authentication_classes = [ExpiringTokenAuthentication, ]
|
||
|
|
||
|
def get(self, request):
|
||
|
|
||
|
res = BaseResponse()
|
||
|
|
||
|
developer_obj = AppIOSDeveloperInfo.objects.filter(user_id=request.user)
|
||
|
|
||
|
page_obj = AppsPageNumber()
|
||
|
app_page_serializer = page_obj.paginate_queryset(queryset=developer_obj.order_by("-updated_time"), request=request,
|
||
|
view=self)
|
||
|
|
||
|
app_serializer = DeveloperSerializer(app_page_serializer, many=True,)
|
||
|
userserializer = UserInfoSerializer(request.user)
|
||
|
res.userinfo = {}
|
||
|
res.has_next = {}
|
||
|
res.userinfo = userserializer.data
|
||
|
res.data = app_serializer.data
|
||
|
res.has_next = page_obj.page.has_next()
|
||
|
return Response(res.dict)
|
||
|
|
||
|
class SuperSignUsedView(APIView):
|
||
|
authentication_classes = [ExpiringTokenAuthentication, ]
|
||
|
|
||
|
def get(self, request):
|
||
|
res = BaseResponse()
|
||
|
developer_obj = APPSuperSignUsedInfo.objects.filter(user_id=request.user)
|
||
|
page_obj = AppsPageNumber()
|
||
|
app_page_serializer = page_obj.paginate_queryset(queryset=developer_obj.order_by("-created_time"), request=request,
|
||
|
view=self)
|
||
|
app_serializer = SuperSignUsedSerializer(app_page_serializer, many=True, )
|
||
|
res.data = app_serializer.data
|
||
|
res.has_next = page_obj.page.has_next()
|
||
|
return Response(res.dict)
|
||
|
|
||
|
class AppUDIDUsedView(APIView):
|
||
|
authentication_classes = [ExpiringTokenAuthentication, ]
|
||
|
|
||
|
def get(self, request):
|
||
|
res = BaseResponse()
|
||
|
|
||
|
udid = request.query_params.get("udid", None)
|
||
|
bundleid = request.query_params.get("bundleid", None)
|
||
|
if udid and bundleid:
|
||
|
developer_obj = AppUDID.objects.filter(app_id__user_id_id=request.user,app_id__bundle_id=bundleid,udid=udid)
|
||
|
elif udid:
|
||
|
developer_obj = AppUDID.objects.filter(app_id__user_id_id=request.user,udid=udid)
|
||
|
elif bundleid:
|
||
|
developer_obj = AppUDID.objects.filter(app_id__user_id_id=request.user,app_id__bundle_id=bundleid)
|
||
|
else:
|
||
|
developer_obj = AppUDID.objects.filter(app_id__user_id_id=request.user)
|
||
|
|
||
|
page_obj = AppsPageNumber()
|
||
|
app_page_serializer = page_obj.paginate_queryset(queryset=developer_obj.order_by("-created_time"), request=request,
|
||
|
view=self)
|
||
|
app_serializer = DeviceUDIDSerializer(app_page_serializer, many=True,)
|
||
|
res.data = app_serializer.data
|
||
|
res.has_next = page_obj.page.has_next()
|
||
|
return Response(res.dict)
|
||
|
|
||
|
def delete(self,request):
|
||
|
res = BaseResponse()
|
||
|
id = request.query_params.get("id", None)
|
||
|
app_id = request.query_params.get("aid", None)
|
||
|
app_udid_obj=AppUDID.objects.filter(app_id__user_id_id=request.user,pk=id)
|
||
|
IosUtils.disable_udid(app_udid_obj.first(),app_id)
|
||
|
app_udid_obj.delete()
|
||
|
return self.get(request)
|