def fixrev(): """Let us test the api from a brower so I can debug the damn thing.""" # first authenticate show("Begin api route #########################################\n\n") retval = 'begin' updateresult = {} if not token_verify(): retval = jsonify(retval='No Token') username = getheadervalue(request.headers, 'X-API-User') user = db.session.query(User) \ .filter(User.username == username) \ .first() dom_ = Domain() recorddata = json.loads(request.data) show("fixrev print of recorddata is :\n%s" % (recorddata), level=6) if retval == 'begin' and 'hostname' in recorddata and 'revname' in recorddata: show("fixrev pformat of recorddata is :\n%s" % (pformat(recorddata, indent=4)), level=6) hostname = recorddata['hostname'] + '.' revname = recorddata['revname'] revnamewdot = recorddata['revname'] + '.' domain_reverse_name = dom_.get_reverse_domain_name(revname) show("fixrev name is :%s revname is %s domain_reverse_name %s" % (hostname, revname, domain_reverse_name), level=6) is_allowed = is_allowed_domain(domain_reverse_name, user.id) if not is_allowed: return jsonify(error='error not allowed to modify domainname %s' % (domain_reverse_name)) mdl = db.session.query(Domain)\ .filter(Domain.name == domain_reverse_name)\ .first() if not mdl: show("fixrev domain_reverse_name %s DOES NOT EXIST" % (domain_reverse_name), level=6) dom_ = Domain() domain = 'pop' dom_.create_reverse_domain(domain, domain_reverse_name) # return jsonify(retval='No Domain %s' % (domain_reverse_name)) rec = Record(name=revnamewdot, type='PTR', status=False, ttl=86400, data=hostname) updateresult = rec.update(domain_reverse_name, hostname, username) return jsonify(retval=retval, **updateresult)
def addhost(): """Let us test the api from a brower so I can debug the damn thing.""" # first authenticate show("Begin api route #########################################\n\n") retval = 'begin' if not token_verify(): return jsonify(retval='No Token') username = getheadervalue(request.headers, 'X-API-User') user = db.session.query(User) \ .filter(User.username == username) \ .first() addresult = {} recorddata = json.loads(request.data) show("print of recorddata is :\n%s" % (recorddata), level=6) if 'name' in recorddata and 'content' in recorddata: show("pformat of recorddata is :\n%s" % (pformat(recorddata, indent=4)), level=6) name = recorddata['name'] show("name is : '%s'" % (name), level=6) domainname = get_domain_fromname(name) if not domainname: return jsonify(error='error getting domain name') if not is_allowed_domain(domainname, user.id): return jsonify(error='error not allowed to modify domainname %s' % (domainname)) # show("type of recorddata is :\n%s" % (type(recorddata)), level=6) # , type_='A', ttl=86400, disabled=False # pdnsdata = build_rrset(name=recorddata['name'], ipaddr=recorddata['ipaddr']) # show("print of pdnsdata is :\n%s" % (pformat(pdnsdata, indent=4)), level=6) # , rrsetid=None) ttl = 86400 if 'ttl' in recorddata: ttl = int(recorddata['ttl']) rectype = 'A' if 'rectype' in recorddata: rectype = recorddata['rectype'] show("name be is %s" % name, level=6) show("content be is %s" % (recorddata['content']), level=6) rec = Record(name=name, type=rectype, status=False, ttl=ttl, data=recorddata['content']) addresult = rec.add(domainname, created_by=username) if rectype == 'A': show("name is %s" % name, level=6) show("content is %s" % (recorddata['content']), level=6) # r_name = dns.reversename.to_address(recorddata['content']) reverse_host_address = dns.reversename.from_address( recorddata['content']).to_text() show("r_name is %s" % (reverse_host_address), level=6) if AUTOREVERSE: revrec = Record(name=reverse_host_address, type='PTR', status=False, ttl=86400, data=name) dom_ = Domain() domain_reverse_name = dom_.get_reverse_domain_name( reverse_host_address) show("r_name is %s about to update" % (reverse_host_address), level=6) revresult = revrec.update(domain_reverse_name, name, username) if 'status' in revresult: addresult['revstatus'] = revresult['status'] if 'msg' in revresult: addresult['revmsg'] = revresult['msg'] return jsonify(retval=retval, **addresult)