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
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
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
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()
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()
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()
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)
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)