Beispiel #1
0
def ports_add(user):
    """
    POST /ports
    """
    data = request.json
    if not data:
        data = dict(request.params.items())
    data.update({'user_id': user.user_id})
    params = PortAddValidator.parse(data)
    try:
        port = add_user_port(**params)
    except (RenkiHTTPError, Invalid, DoesNotExist):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occured')

    try:
        PortDatabase.validate_add(user, user.user_id)
    except SoftLimitReached as e:
        port.waiting = True
        pass
    except HardLimitReached as e:
        logger.exception(e)
        raise PermissionDenied('Not allowed to create more ports')
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occured')
    
    dbconn.session.safe_commit()
    return ok(port.as_dict())
Beispiel #2
0
def admin_ports_index(user, user_id):
    """
    GET /<id>/ports
    """
    data = dict(request.params.items())
    data.update({'user_id': user_id})
    params = PortGetValidator.parse(data)
    try:
        ports = get_user_ports(**params)
    except (RenkiHTTPError, Invalid, DoesNotExist):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    return ok({'ports': [x.as_dict() for x in ports]})
Beispiel #3
0
def repositories_get_repository(user, type, repo_id):
    """
    GET /repositories/<type>/<id>
    """
    data = dict(request.params.items())
    data.update({'user_id': user.user_id, 'type': type, 'repo_id': repo_id})
    params = RepositoryIDValidator.parse(data)
    try:
        repo = get_repository_by_id(**params)
    except DoesNotExist:
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')

    return ok(repo.as_dict())
Beispiel #4
0
def ports_history(user):
    """
    GET /ports/history
    """
    data = dict(request.params.items())
    data.update({'user_id': user.user_id})
    params = PortGetValidator.parse(data)
    try:
        ports = get_user_port_history(**params)
    except (RenkiHTTPError, Invalid):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
        
    return ok({'ports': [x.to_dict() for x in ports]})
    #return ok({'ports': [str(x) + str(vars(ports)[x]) for x in vars(ports)]})#[x.as_dict() for x in ports]})
Beispiel #5
0
def get_domains_route(user):
    """
    GET /domains
    """
    domains = []

    data = dict(request.params.items())
    data['user_id'] = user.user_id
    params = DomainGetValidator.parse(data)
    try:
        domains = get_user_domains(**params)
    except RenkiHTTPError:
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    return ok({'domains': [x.as_dict() for x in domains]})
Beispiel #6
0
def admin_ports_add(user, user_id):
    """
    POST /<user_id>/ports
    """
    data = request.json
    if not data:
        data = dict(request.params.items())
    data.update({'user_id': user_id})
    params = PortAddValidator.parse(data)
    try:
        port = add_user_port(**params)
    except (Invalid, DatabaseError, RenkiHTTPError, DoesNotExist):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occured')
    dbconn.session.safe_commit()
    return ok(port.as_dict())
Beispiel #7
0
def repositories_delete_repository(user, type, repo_id):
    """
    DELETE /repositories/<type>/<id>
    """
    data = request.json
    if not data:
        data = dict(request.params.items())
    data.update({'user_id': user.user_id, 'type': type, 'repo_id': repo_id})
    params = RepositoryIDValidator.parse(data)
    try:
        repo = get_repository_by_id(**params)
    except DoesNotExist:
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    repo.delete()
    dbconn.session.safe_commit()
    return ok()
Beispiel #8
0
def repositories_add_repository(user, type):
    """
    POST /repositories/<type>
    """
    data = request.json
    if not data:
        data = dict(request.params.items())
    data['user_id'] = user.user_id
    data['type'] = type
    params = RepositoryAddValidator.parse(data)
    try:
        repo = add_user_repository(**params)
    except (DoesNotExist, AlreadyExist):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    dbconn.session.safe_commit()
    return ok(repo.as_dict())
Beispiel #9
0
def repositories_index(user):
    """
    GET /repositories
    """
    repos = {}
    data = dict(request.params.items())
    data['user_id'] = user.user_id
    params = RepositoryGetValidator.parse(data)
    try:
        repos = get_user_repositories(**params)
    except (RenkiHTTPError, Invalid):
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    return ok({
        'svn': [x.as_dict() for x in repos if x.type == 'svn'],
        'git': [x.as_dict() for x in repos if x.type == 'git']
    })
Beispiel #10
0
def domains_add_route(user):
    """
    Add domain route
    """
    data = request.json
    if not data:
        data = dict(request.params.items())
    data['user_id'] = user.user_id
    params = UserDomainPutValidator.parse(data)
    try:
        domain = add_user_domain(**params)
    except (AlreadyExist, DatabaseError) as e:
        return error(str(e))
    except RenkiHTTPError:
        raise
    except Exception as e:
        logger.exception(e)
        raise RenkiHTTPError('Unknown error occurred')
    dbconn.session.safe_commit()
    return ok(domain.as_dict())