Exemple #1
0
def save_info():
    data = request.get_json(silent=True)
    name = data.get('name')
    parent_uid = data.get('parent_uid')
    with db.auto_commit():
        Zone.save(name=name, parent_uid=parent_uid)
    return Success()
Exemple #2
0
def remove():
    data = request.get_json(silent=True)
    uid = data.get('uid')
    z = Zone.get_item_by_uid(uid)
    with db.auto_commit():
        z.remove()
    return Success()
Exemple #3
0
def update_info():
    data = request.get_json(silent=True)
    uid = data.get('uid')
    name = data.get('name')
    z = Zone.get_item_by_uid(uid=uid)
    with db.auto_commit():
        z.update(name=name)
    return Success()
Exemple #4
0
def get_list():
    zones = Zone.recursion_items()
    data = {
        'pageSize': len(zones),
        'pageNo': 1,
        'totalCount': len(zones),
        'data': zones
    }
    return Success(msg=data)
Exemple #5
0
def get_list():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    zone_uid = request.args.get('zone_uid', None, type=str)
    ip = request.args.get('ip', '', type=str)
    origin = request.args.get('origin', '', type=str)
    cpe = request.args.get('cpe', '', type=str)
    status = request.args.get('status', 1, type=int)
    pagination = Host.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        ip=ip,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        origin=origin,
        cpe=cpe,
        status=status)
    data = {
        'pageSize':
        pagination.per_page,
        'pageNo':
        pagination.page,
        'totalCount':
        pagination.total,
        'data': [{
            'uid': h.uid,
            'ip': h.ip,
            'zone_uid': h.zone_uid,
            'origin': h.origin,
            'cpe': h.cpe,
            'service_count': h.service_count,
            'status': h.status,
            'info': h.info,
        } for h in pagination.items],
        'zones':
        Zone.recursion_items()
    }
    return Success(msg=data)
Exemple #6
0
def get_list():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    name = request.args.get('name', '', type=str)
    domain_type = request.args.get('type', '', type=str)
    origin = request.args.get('origin', '', type=str)
    zone_uid = request.args.get('zone_uid', '', type=str)
    status = request.args.get('status', 1, type=int)
    pagination = Domain.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        name=name,
        type=domain_type,
        origin=origin,
        status=status)
    data = {
        'pageSize':
        pagination.per_page,
        'pageNo':
        pagination.page,
        'totalCount':
        pagination.total,
        'data': [{
            'uid': d.uid,
            'name': d.name,
            'type': d.type,
            'origin': d.origin,
            'zone_uid': d.zone_uid,
            'status': d.status,
            'info': d.info
        } for d in pagination.items],
        'zones':
        Zone.recursion_items()
    }
    return Success(msg=data)
Exemple #7
0
def deploy():
    db.drop_all()
    db.create_all()
    users = [
        {
            'name': '*****@*****.**',
            'password': '******'
        },
    ]
    roles = [
        {
            'name': 'admin'
        },
    ]
    with db.auto_commit():
        for user in users:
            User.save(**user)
        for role in roles:
            Role.save(**role)
        for item in app.url_map.iter_rules():
            if item.endpoint != 'static':
                Permission.save(endpoint=item.endpoint)
    with db.auto_commit():
        admin_user = User.get_item_by_name(name='*****@*****.**')
        admin_role = Role.get_item_by_name(name='admin')
        admin_role.update(
            permissions=[permission for permission in Permission.list_items()])
        admin_user.update(roles=[admin_role])
    with db.auto_commit():
        # Zone.save(name='test')
        zone = Zone.save(name='公网')
        Zone.save(name='私有云', parent_uid=zone.uid)
        Zone.save(name='公有云', parent_uid=zone.uid)
        Zone.save(name='内网')
    zone = Zone.query.filter(Zone.name == '公有云').first()
    import json
    with open('domain.txt') as f:
        domain_list = json.loads(f.read())
    with db.auto_commit():
        for domain in domain_list:
            Domain.save(zone_uid=zone.uid, **domain)
    with open('host.txt') as f:
        host_list = json.loads(f.read())
    with db.auto_commit():
        for host in host_list:
            Host.save(zone_uid=zone.uid, **host)
    with open('service.txt') as f:
        service_list = json.loads(f.read())
    with db.auto_commit():
        for service in service_list:
            Service.save(zone_uid=zone.uid, **service)
Exemple #8
0
def get_list():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    zone_uid = request.args.get('zone_uid', '', type=str)
    uid = request.args.get('uid', '', type=str)
    host_ip = request.args.get('host_ip', '', type=str)
    port = request.args.get('port', '', type=str)
    name = request.args.get('name', '', type=str)
    protocol = request.args.get('protocol', '', type=str)
    tunnel = request.args.get('tunnel', '', type=str)
    cpe = request.args.get('cpe', '', type=str)
    status = request.args.get('status', 1, type=int)
    pagination = Service.list_items_paginate_by_search(page=page_no, per_page=page_size, uid=uid,
                                                       host_ip=host_ip, port=port, status=status, cpe=cpe, name=name,
                                                       zone_list=Zone.recursion_children_uid_list(zone_uid),
                                                       protocol=protocol, tunnel=tunnel)
    data = {
        'pageSize': pagination.per_page,
        'pageNo': pagination.page,
        'totalCount': pagination.total,
        'data': [{
            'uid': s.uid,
            'zone_uid': s.zone_uid,
            'host_uid': s.host_uid,
            'host_ip': s.host_ip,
            'port': s.port,
            'protocol': s.protocol,
            'tunnel': s.tunnel,
            'name': s.name,
            'cpe': s.cpe,
            'status': s.status,
            'info': s.info
        } for s in pagination.items],
        'zones': Zone.recursion_items()
    }
    return Success(msg=data)
Exemple #9
0
def get_host():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    zone_uid = request.args.get('zone_uid', '', type=str)
    ip = request.args.get('ip', '', type=str)
    origin = request.args.get('origin', '', type=str)
    cpe = request.args.get('cpe', '', type=str)
    pagination = Host.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        ip=ip,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        origin=origin,
        cpe=cpe,
        status=1)
    return Success(msg=pagination)
Exemple #10
0
def get_domain():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    zone_uid = request.args.get('zone_uid', '', type=str)
    name = request.args.get('name', '', type=str)
    domain_type = request.args.get('type', '', type=str)
    origin = request.args.get('origin', '', type=str)
    pagination = Domain.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        name=name,
        type=domain_type,
        origin=origin,
        status=1)
    return Success(msg=pagination)
Exemple #11
0
def get_http():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    zone_uid = request.args.get('zone_uid', '', type=str)
    website = request.args.get('website', '', type=str)
    business = request.args.get('business', '', type=str)
    title = request.args.get('title', '', type=str)
    status = request.args.get('status', 1, type=int)
    pagination = HTTP.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        website=website,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        business=business,
        title=title,
        status=status)
    return Success(msg=pagination)
Exemple #12
0
def get_service():
    page_no = request.args.get('pageNo', 1, type=int)
    page_size = request.args.get('pageSize', 10, type=int)
    uid = request.args.get('uid', '', type=str)
    zone_uid = request.args.get('zone_uid', '', type=str)
    host_ip = request.args.get('host_ip', '', type=str)
    port = request.args.get('port', '', type=str)
    name = request.args.get('name', '', type=str)
    protocol = request.args.get('protocol', '', type=str)
    tunnel = request.args.get('tunnel', '', type=str)
    cpe = request.args.get('cpe', '', type=str)
    pagination = Service.list_items_paginate_by_search(
        page=page_no,
        per_page=page_size,
        uid=uid,
        host_ip=host_ip,
        port=port,
        status=1,
        cpe=cpe,
        name=name,
        zone_list=Zone.recursion_children_uid_list(zone_uid),
        protocol=protocol,
        tunnel=tunnel)
    return Success(msg=pagination)