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())
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]})
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())
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]})
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]})
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())
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()
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())
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'] })
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())