def link_post(): if not settings.local.sub_plan or \ 'enterprise' not in settings.local.sub_plan: return flask.abort(404) if settings.app.demo_mode: return utils.demo_blocked() name = utils.filter_str(flask.request.json.get('name')) or 'undefined' type = DIRECT if flask.request.json.get('type') == DIRECT \ else SITE_TO_SITE ipv6 = True if flask.request.json.get('ipv6') else False host_check = True if flask.request.json.get('host_check') else False action = RESTART if flask.request.json.get('action') == RESTART else HOLD preferred_ike = utils.filter_str( flask.request.json.get('preferred_ike')) or None preferred_esp = utils.filter_str( flask.request.json.get('preferred_esp')) or None lnk = link.Link( name=name, type=type, status=ONLINE, ipv6=ipv6, host_check=host_check, action=action, preferred_ike=preferred_ike, preferred_esp=preferred_esp, ) lnk.generate_key() lnk.commit() if lnk.type == DIRECT: try: loc = link.Location( link=lnk, name='server', type=DIRECT_SERVER, link_id=lnk.id, ) loc.commit() loc = link.Location( link=lnk, name='client', type=DIRECT_CLIENT, link_id=lnk.id, ) loc.commit() except: lnk.remove() raise event.Event(type=LINKS_UPDATED) return utils.jsonify(lnk.dict())
def link_post(): if settings.app.demo_mode: return utils.demo_blocked() name = utils.filter_str(flask.request.json.get('name')) or 'undefined' lnk = link.Link( name=name, status=ONLINE, ) lnk.commit() event.Event(type=LINKS_UPDATED) return utils.jsonify(lnk.dict())
def link_post(): if not settings.local.sub_plan or \ 'enterprise' not in settings.local.sub_plan: return flask.abort(404) if settings.app.demo_mode: return utils.demo_blocked() name = utils.filter_str(flask.request.json.get('name')) or 'undefined' type = DIRECT if flask.request.json.get('type') == DIRECT \ else SITE_TO_SITE lnk = link.Link( name=name, type=type, status=ONLINE, ) lnk.generate_key() lnk.commit() if lnk.type == DIRECT: try: loc = link.Location( link=lnk, name='server', type=DIRECT_SERVER, link_id=lnk.id, ) loc.commit() loc = link.Location( link=lnk, name='client', type=DIRECT_CLIENT, link_id=lnk.id, ) loc.commit() except: lnk.remove() raise event.Event(type=LINKS_UPDATED) return utils.jsonify(lnk.dict())
def link_post(): if settings.local.sub_plan != 'enterprise_plus': return flask.abort(404) if settings.app.demo_mode: return utils.demo_blocked() name = utils.filter_str(flask.request.json.get('name')) or 'undefined' lnk = link.Link( name=name, status=ONLINE, ) lnk.generate_key() lnk.commit() event.Event(type=LINKS_UPDATED) return utils.jsonify(lnk.dict())