def set_alias_app(id): # retrieves the application from the provided identifier # and then retrieves its (main) domain value app = util.get_app(id) host = app.get("domain", None) # retrieves the alias sent by the post value # adds it as an alias in the app alias = quorum.get_field("alias", None) app["domains"].append(alias) # runs the validation process on new app created # structures (should meet the requirements) errors, app_v = quorum.validate(util.validate_app, object = app) if errors: return flask.render_template( "app/edit.html.tpl", link = "new_app", app = app_v, errors = errors ) # saves the app back in the database to reflect # the changes that were made db = quorum.get_mongo_db() db.apps.save(app) # retrieves the current storage infra-structure # and sets the alias in it storage = quorum.get_redis() storage.set("alias:%s" % alias, host) return flask.redirect( flask.url_for("edit_app", id = id) )
def unset_alias_app(id, alias): # retrieves the application from the provided identifier # and then retrieves its (main) domain value app = util.get_app(id) # removes the alias from the app if alias in app["domains"]: app["domains"].remove(alias) # saves the app back in the database to reflect # the changes that were made db = quorum.get_mongo_db() db.apps.save(app) # retrieves the current storage infra-structure # and sets the alias in it storage = quorum.get_redis() storage.delete("alias:%s" % alias) return flask.redirect( flask.url_for("edit_app", id = id) )