def query(self): """ Takes a query_obj constructed in the client and returns payload data response for the given query_obj. """ query_context = QueryContext(**json.loads(request.form.get('query_context'))) security_manager.assert_datasource_permission(query_context.datasource, g.user) payload_json = query_context.get_data() return data_payload_response(payload_json)
def query(self): """ Takes a query_obj constructed in the client and returns payload data response for the given query_obj. """ query_context = QueryContext( **json.loads(request.form.get('query_context'))) security_manager.assert_datasource_permission(query_context.datasource, g.user) payload_json = query_context.get_data() return data_payload_response(payload_json)
def test_assert_datasource_permission(self, mock_datasource_access): datasource = self.get_datasource_mock() # Datasource with the "datasource_access" permission. mock_datasource_access.return_value = True security_manager.assert_datasource_permission(datasource) # Datasource without the "datasource_access" permission. mock_datasource_access.return_value = False with self.assertRaises(SupersetSecurityException): security_manager.assert_datasource_permission(datasource)
def query(self): """ Takes a query_obj constructed in the client and returns payload data response for the given query_obj. params: query_context: json_blob """ query_context = QueryContext( **json.loads(request.form.get("query_context"))) security_manager.assert_datasource_permission(query_context.datasource) payload_json = query_context.get_payload() return json.dumps(payload_json, default=utils.json_int_dttm_ser, ignore_nan=True)