Exemplo n.º 1
0
    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")))
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
 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))
Exemplo n.º 4
0
 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))
Exemplo n.º 5
0
    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)