def put(self, appversionId): data = request.get_json() #print (data) #print(data["status"]) print(data.get("status")) # Validates request data if not data or not data["status"]: return res.badRequestError("Missing data to proccess request.") if (int(data.get("status")) < 1 or int(data.get("status")) > 5): return res.badRequestError("Invalid status code {}.".format( data["status"])) print("passed error") # Verifies app version exists queryAppVersion = ApplicationVersion.query.filter_by( id=appversionId).first() if not queryAppVersion: return res.resourceMissing( "No version record {} exists.".format(appversionId)) queryAppVersion.status = data.get("status") queryAppVersion.approved = True print(queryAppVersion.status) db.session.commit() return res.putSuccess("Update version {} status to {}.".format( appversionId, data.get("status")))
def put(self, appversionId): print(appversionId) queryAppVersion = ApplicationVersion.query.filter_by( id=appversionId).first() queryApp = Application.query.filter_by(id=queryAppVersion.app).first() # Ensures app exists in database if not queryAppVersion: return res.resourceMissing( "No record with {} found for any app version.".format( appversionId)) if queryApp.runningversion > queryAppVersion.id: return res.badRequestError("Running version > than this version.") # Ensures app is approved if queryAppVersion.status is not 4: print("awaiting to be approved") return res.resourceExistsError( "App v.{} is still awaiting to be approved.".format( queryAppVersion.version)) queryApp.runningversion = queryAppVersion.id queryAppVersion.status = 2 queryApp.active = True db.session.commit() return res.putSuccess( "{} v.{} launched. Now available in MakitiAppStore !".format( queryApp.appname, queryAppVersion.version))
def put(self, accountId): data = request.get_json() if not data: return res.badRequestError("No data to update for account {}.".format(accountId)) queryAccount = Account.query.filter_by(id=accountId).first() if not queryAccount: return res.resourceMissing("No account with id {} was found.".format(accountId)) if "customer" in data.keys(): queryAccount.customer = not queryAccount.customer db.session.commit() return res.putSuccess("Account {} has customer priviledges.".format(accountId)) if "developer" in data.keys(): queryAccount.developer = not queryAccount.developer db.session.commit() return res.putSuccess("Account {} has developer priviledges.".format(accountId)) if "admin" in data.keys(): queryAccount.admin = not queryAccount.admin db.session.commit() return res.putSuccess("Account {} has admin priviledges.".format(accountId)) return res.badRequestError("No data to update for account {}.".format(accountId))
def put(self, requestId): data = request.get_json() if not data or not data.get("action"): return res.badRequestError( "Missing data to proccess action on app request") if data.get("action") < 1 or data.get( "action") > 5: # ********* too hardcoded change later return res.badRequestError("Invalid Action") apprequest = AppRequest.query.filter_by(id=requestId).first() apprequest.status = data.get("action") return res.putSuccess( "Succesfully submitted action for request {}.".format(requestId))
def put(self): #print(request.files) data = request.form print(data) if not data or not data["requestId"] or not data["status"] or not data[ "appDetail"]: return res.badRequestError("Missing data to process request.") # Validate app path exists appDetail = data["appDetail"] appDetail = appDetail.replace('-', '/') logStoragePath = os.path.join(app.config['UPLOAD_FOLDER'], appDetail) if os.path.exists(logStoragePath) == False: return res.internalServiceError( "No directory found for {}.".format(appDetail)) queryAppRequest = AppRequest.query.filter_by( id=data["requestId"]).first() if not queryAppRequest: return res.badRequestError("Request {} does not exist.".format( data["requestId"])) # Call application service to update application version status if (int(data.get("status")) == 2): status = 4 else: status = 3 AppServiceReq = requests.put( app.config['APPLICATION_SERVICE'] + "{}/appversion".format(queryAppRequest.appversion), json={ "status": status }).json() if ("success" not in AppServiceReq["status"]): return res.internalServiceError( "Error in application service. Is it running?") # Saves log file saved, msg = ServUtil.saveLoginServer(app, request.files["logfile"], logStoragePath) if not saved: return res.internalServiceError(msg) queryAppRequest.status = data["status"] db.session.commit() return res.putSuccess( data=apprequest_schema.dump(queryAppRequest).data)