|
@@ -11,6 +11,7 @@
|
|
|
@file: PushDeploy.py
|
|
|
@Contact: pzb3076@163.com
|
|
|
"""
|
|
|
+import os
|
|
|
import json
|
|
|
import math
|
|
|
|
|
@@ -24,7 +25,7 @@ from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
|
from Service.ModelService import ModelService
|
|
|
import time
|
|
|
-
|
|
|
+from Ansjer.config import BASE_DIR
|
|
|
|
|
|
class PushDeployView(View):
|
|
|
@method_decorator(csrf_exempt)
|
|
@@ -53,28 +54,41 @@ class PushDeployView(View):
|
|
|
return response.json(tko.code)
|
|
|
userID = tko.userID
|
|
|
if operation == 'adminAdd':
|
|
|
- return self.do_add(request_dict, response,userID)
|
|
|
+ return self.do_add(request_dict, response,userID,request)
|
|
|
elif operation == 'adminDelete':
|
|
|
return self.do_delete(request_dict, response,userID)
|
|
|
elif operation == 'adminUpdate':
|
|
|
- return self.do_update(request_dict, response,userID)
|
|
|
+ return self.do_update(request_dict, response,userID, request)
|
|
|
elif operation == 'adminQuery':
|
|
|
return self.do_query(request_dict,response, userID)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
|
|
|
- def do_add(self, request_dict, response, userID):
|
|
|
+ def do_add(self, request_dict, response, userID, request):
|
|
|
own_perm = ModelService.check_perm(userID, 40)
|
|
|
if not own_perm:
|
|
|
return response.json(404)
|
|
|
name = request_dict.get('name', None)
|
|
|
key = request_dict.get('key', None)
|
|
|
secret = request_dict.get('secret', None)
|
|
|
- pem = request_dict.get('pem', None)
|
|
|
type = request_dict.get('type', None)
|
|
|
nowTime = int(time.time())
|
|
|
+ f = request.FILES.get('file', None)
|
|
|
+ rv_path=''
|
|
|
+ if f is not None:
|
|
|
+ rv_path = 'static/pem/' + f.name
|
|
|
+ path = os.path.join(BASE_DIR, rv_path)
|
|
|
+ try:
|
|
|
+ if os.path.exists(path):
|
|
|
+ os.remove(path)
|
|
|
+ with open(path, 'wb+') as destination:
|
|
|
+ for chunk in f.chunks():
|
|
|
+ destination.write(chunk)
|
|
|
+ except Exception as e:
|
|
|
+ print('error:' + repr(e))
|
|
|
+ return response.json(700, {'details': repr(e)})
|
|
|
try:
|
|
|
- pushDeployModel.objects.create(addTime=nowTime, updTime=nowTime, name=name, key=key, secret=secret,pem=pem,
|
|
|
+ pushDeployModel.objects.create(addTime=nowTime, updTime=nowTime, name=name, key=key, secret=secret, pem=rv_path,
|
|
|
type=type)
|
|
|
except Exception as e:
|
|
|
return response.json(10, repr(e))
|
|
@@ -118,7 +132,7 @@ class PushDeployView(View):
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
|
- def do_update(self, request_dict, response,userID):
|
|
|
+ def do_update(self, request_dict, response,userID,request):
|
|
|
own_perm = ModelService.check_perm(userID, 30)
|
|
|
if not own_perm:
|
|
|
return response.json(404)
|
|
@@ -127,13 +141,33 @@ class PushDeployView(View):
|
|
|
name = request_dict.get('name', None)
|
|
|
key = request_dict.get('key', None)
|
|
|
secret = request_dict.get('secret', None)
|
|
|
- pem = request_dict.get('pem', None)
|
|
|
type = request_dict.get('type', None)
|
|
|
- try:
|
|
|
- pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,pem=pem,
|
|
|
- type=type)
|
|
|
- except Exception as e:
|
|
|
- return response.json(10, repr(e))
|
|
|
+ f = request.FILES.get('file', None)
|
|
|
+ if f is not None:
|
|
|
+ rv_path = 'static/pem/' + f.name
|
|
|
+ path = os.path.join(BASE_DIR, rv_path)
|
|
|
+ try:
|
|
|
+ if os.path.exists(path):
|
|
|
+ os.remove(path)
|
|
|
+ with open(path, 'wb+') as destination:
|
|
|
+ for chunk in f.chunks():
|
|
|
+ destination.write(chunk)
|
|
|
+ except Exception as e:
|
|
|
+ print('error:' + repr(e))
|
|
|
+ return response.json(700, {'details': repr(e)})
|
|
|
+ try:
|
|
|
+ pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,
|
|
|
+ pem=rv_path,
|
|
|
+ type=type)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(10, repr(e))
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,
|
|
|
+ type=type)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(10, repr(e))
|
|
|
+
|
|
|
# res = list(pushDeployModel.objects.values())
|
|
|
return response.json(0, {'updTime': nowTime})
|
|
|
|