示例#1
0
  def get(self):
    session_id = get_session_id(session, request)

    dao = EnvironmentDAO(session_id)
    environment_names = dao.get_environment_names()
    dao.close()

    resp = make_response(json_serialize(environment_names, session_id=session_id), httplib.OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#2
0
  def delete(self, name):
    session_id = get_session_id(session, request)
    dao = EnvironmentDAO(session_id)
    dao.delete_environment(name=name)
    dao.close()

    resp_dict = {'message': 'Environment successfully deleted'}
    resp = make_response(json_serialize(resp_dict), OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#3
0
  def get(self, threat, vulnerability):
    session_id = get_session_id(session, request)

    dao = EnvironmentDAO(session_id)
    environments = dao.get_environment_names_by_threat_vulnerability(threat, vulnerability)
    dao.close()

    resp = make_response(json_serialize(environments, session_id=session_id), httplib.OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#4
0
  def get(self, name):
    session_id = get_session_id(session, request)

    dao = EnvironmentDAO(session_id)
    found_environment = dao.get_environment_by_name(name)
    dao.close()

    resp = make_response(json_serialize(found_environment, session_id=session_id), OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#5
0
  def get(self):
    session_id = get_session_id(session, request)
    constraintsId = request.args.get('constraints_id', -1)

    dao = EnvironmentDAO(session_id)
    environments = dao.get_environments(constraintsId)
    dao.close()

    resp = make_response(json_serialize(environments, session_id=session_id), httplib.OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#6
0
    def get(self):
        session_id = get_session_id(session, request)

        dao = EnvironmentDAO(session_id)
        environment_names = dao.get_environment_names()
        dao.close()

        resp = make_response(
            json_serialize(environment_names, session_id=session_id), OK)
        resp.headers['Content-type'] = 'application/json'
        return resp
示例#7
0
  def post(self):
    session_id = get_session_id(session, request)
    dao = EnvironmentDAO(session_id)
    new_environment = dao.from_json(request)
    new_environment_id = dao.add_environment(new_environment)
    dao.close()

    resp_dict = {'message': 'Environment successfully added', 'environment_id': new_environment_id}
    resp = make_response(json_serialize(resp_dict), OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#8
0
    def get(self):
        session_id = get_session_id(session, request)
        constraintsId = request.args.get('constraints_id', -1)

        dao = EnvironmentDAO(session_id)
        environments = dao.get_environments(constraintsId)
        dao.close()

        resp = make_response(
            json_serialize(environments, session_id=session_id), OK)
        resp.headers['Content-type'] = 'application/json'
        return resp
示例#9
0
    def get(self, threat, vulnerability):
        session_id = get_session_id(session, request)

        dao = EnvironmentDAO(session_id)
        environments = dao.get_environment_names_by_threat_vulnerability(
            threat, vulnerability)
        dao.close()

        resp = make_response(
            json_serialize(environments, session_id=session_id), OK)
        resp.headers['Content-type'] = 'application/json'
        return resp
示例#10
0
    def get_vulnerable_assets(self, vulnerability_name, environment_name):
        """
    :type vulnerability_name: str
    :type environment_name: str
    :rtype: list[Asset]
    """
        vulnerability_dao = VulnerabilityDAO(self.session_id)

        try:
            found_vulnerability = vulnerability_dao.get_vulnerability_by_name(
                vulnerability_name)
            vulnerability_id = found_vulnerability.theVulnerabilityId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        environment_dao = EnvironmentDAO(self.session_id)
        try:
            found_environment = environment_dao.get_environment_by_name(
                environment_name)
            environment_id = found_environment.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        try:
            vulnerable_assets = self.db_proxy.vulnerableAssets(
                vulnerability_id, environment_id)
        except DatabaseProxyException as ex:
            self.close()
            raise ARMHTTPError(ex)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)

        return vulnerable_assets
示例#11
0
    def get_threatened_assets(self, threat_name, environment_name):
        """
    :type threat_name: str
    :type environment_name: str
    :rtype: list[Asset]
    """
        threat_dao = ThreatDAO(self.session_id)

        try:
            found_threat = threat_dao.get_threat_by_name(threat_name)
            threat_id = found_threat.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        environment_dao = EnvironmentDAO(self.session_id)
        try:
            found_environment = environment_dao.get_environment_by_name(
                environment_name)
            environment_id = found_environment.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        try:
            threatened_assets = self.db_proxy.threatenedAssets(
                threat_id, environment_id)
        except DatabaseProxyException as ex:
            self.close()
            raise ARMHTTPError(ex)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)

        return threatened_assets
示例#12
0
    def get_vulnerable_assets(self, vulnerability_name, environment_name):
        """
        :type vulnerability_name: str
        :type environment_name: str
        :rtype: list[Asset]
        """
        vulnerability_dao = VulnerabilityDAO(self.session_id)

        try:
            found_vulnerability = vulnerability_dao.get_vulnerability_by_name(vulnerability_name)
            vulnerability_id = found_vulnerability.theVulnerabilityId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        environment_dao = EnvironmentDAO(self.session_id)
        try:
            found_environment = environment_dao.get_environment_by_name(environment_name)
            environment_id = found_environment.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        try:
            vulnerable_assets = self.db_proxy.vulnerableAssets(vulnerability_id, environment_id)
        except DatabaseProxyException as ex:
            self.close()
            raise ARMHTTPError(ex)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)

        return vulnerable_assets
示例#13
0
    def get_threatened_assets(self, threat_name, environment_name):
        """
        :type threat_name: str
        :type environment_name: str
        :rtype: list[Asset]
        """
        threat_dao = ThreatDAO(self.session_id)

        try:
            found_threat = threat_dao.get_threat_by_name(threat_name)
            threat_id = found_threat.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        environment_dao = EnvironmentDAO(self.session_id)
        try:
            found_environment = environment_dao.get_environment_by_name(environment_name)
            environment_id = found_environment.theId
        except ObjectNotFoundHTTPError as ex:
            self.close()
            raise ex
        except ARMHTTPError as ex:
            self.close()
            raise ex

        try:
            threatened_assets = self.db_proxy.threatenedAssets(threat_id, environment_id)
        except DatabaseProxyException as ex:
            self.close()
            raise ARMHTTPError(ex)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)

        return threatened_assets
示例#14
0
  def put(self, name):
    session_id = get_session_id(session, request)

    dao = EnvironmentDAO(session_id)
    new_environment = dao.from_json(request)
    dao.update_environment(new_environment, name=name)
    dao.close()

    resp_dict = {'message': 'Environment successfully updated'}
    resp = make_response(json_serialize(resp_dict), httplib.OK)
    resp.headers['Content-type'] = 'application/json'
    return resp
示例#15
0
    def post(self):
        session_id = get_session_id(session, request)
        dao = EnvironmentDAO(session_id)
        new_environment = dao.from_json(request)
        new_environment_id = dao.add_environment(new_environment)
        dao.close()

        resp_dict = {
            'message': 'Environment successfully added',
            'environment_id': new_environment_id
        }
        resp = make_response(json_serialize(resp_dict), OK)
        resp.headers['Content-type'] = 'application/json'
        return resp