예제 #1
0
def add_user_port(user_id, service_group_id):
    try:
        Users.get(user_id)
    except DoesNotExist:
        raise

    try:
        ServiceGroupDatabase.get(service_group_id)
    except DoesNotExist:
        raise

    try:
        query = (
            dbsession.query(func.max(PortDatabase.port))
            .filter(PortDatabase.service_group_id == service_group_id)
            .group_by(PortDatabase.service_group_id)
        )
        portNumber = int(query.one()[0]) + 1
    except NoResultFound:
        portNumber = 1337

    port = PortDatabase()
    port.user_id = int(user_id)
    port.service_group_id = int(service_group_id)
    port.port = int(portNumber)
    port.save()

    return port
예제 #2
0
def add_user_repository(user_id, service_group_id, name, type):
    try:
        Users.get(user_id)
    except DoesNotExist:
        raise

    try:
        ServiceGroupDatabase.get(service_group_id)
    except DoesNotExist:
        raise

    try:
        RepositoryDatabase.query().filter(RepositoryDatabase.service_group_id == service_group_id and RepositoryDatabase.name == name and RepositoryDatabase.type == type).one()
    except NoResultFound:
        pass
    except Exception as e:
        raise AlreadyExist("Repository name=%s type=%s service_group_id=%s already exists" % (name, type, service_group_id))

    repository = RepositoryDatabase()
    repository.user_id = int(user_id)
    repository.service_group_id = int(service_group_id)
    repository.name = name
    repository.type = type
    repository.save()

    return repository
예제 #3
0
def add_user_port(user_id, service_group_id):
    try:
        Users.get(user_id)
    except DoesNotExist:
        raise

    try:
        ServiceGroupDatabase.get(service_group_id)
    except DoesNotExist:
        raise

    try:
        query = dbsession.query(func.max(PortDatabase.port)).filter(
            PortDatabase.service_group_id == service_group_id).group_by(
                PortDatabase.service_group_id)
        portNumber = int(query.one()[0]) + 1
    except NoResultFound:
        portNumber = 1337

    port = PortDatabase()
    port.user_id = int(user_id)
    port.service_group_id = int(service_group_id)
    port.port = int(portNumber)
    port.save()

    return port
예제 #4
0
def get_ports(user_id=None, limit=None, offset=None):
    query = PortDatabase.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortDatabase.user_id == user_id)

    query = query.filter(PortDatabase.user_id == user_id)
    query = do_limits(query, limit, offset)
    return query.all()
예제 #5
0
def get_ports(user_id=None, limit=None, offset=None):
    query = PortDatabase.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortDatabase.user_id == user_id)

    query = query.filter(PortDatabase.user_id == user_id)
    query = do_limits(query, limit, offset)
    return query.all()
예제 #6
0
def get_port_history(user_id=None, limit=None, offset=None):
    PortHistory = PortDatabase.__history_mapper__.class_
    query = PortHistory.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortHistory.user_id == user_id)

    query = query.filter(PortHistory.user_id == user_id)
    query = do_limits(query, limit, offset)
    return query.all()
예제 #7
0
def get_port_history(user_id=None, limit=None, offset=None):
    PortHistory = PortDatabase.__history_mapper__.class_
    query = PortHistory.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortHistory.user_id == user_id)

    query = query.filter(PortHistory.user_id == user_id)
    query = do_limits(query, limit, offset)
    return query.all()
예제 #8
0
def get_user_repositories(user_id=None, limit=None, offset=None, repo_type=None):
    query = RepositoryDatabase.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query.filter(RepositoryDatabase.user_id == user_id)

    if repo_type is not None:
        query.filter(RepositoryDatabase.repo_type == repo_type)

    query = do_limits(query, limit, offset)
    return query.all()
예제 #9
0
def get_port_by_id(port_id, user_id=None):
    query = PortDatabase.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortDatabase.user_id == user_id)

    try:
        return query.filter(PortDatabase.id == port_id).one()
    except NoResultFound:
        pass

    raise DoesNotExist("Port id=%s does not exist" % port_id)
예제 #10
0
def get_port_by_id(port_id, user_id=None):
    query = PortDatabase.query()

    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(PortDatabase.user_id == user_id)

    try:
        return query.filter(PortDatabase.id == port_id).one()
    except NoResultFound:
        pass

    raise DoesNotExist("Port id=%s does not exist" % port_id)
예제 #11
0
def get_repository_by_id(user_id, type, repo_id):
    query = RepositoryDatabase.query()
    if user_id is not None:
        try:
            Users.get(user_id)
        except DoesNotExist:
            raise
        query = query.filter(RepositoryDatabase.user_id == user_id)

    if type is not None:
        query = query.filter(RepositoryDatabase.type == type)

    try:
        return query.filter(RepositoryDatabase.id == repo_id).one()
    except NoResultFound:
        pass

    raise DoesNotExist("Repository id=%s does not exist" % repo_id)