mistercrunch commented on a change in pull request #6220: [SIP-5] Open a new 
/api/v1/query endpoint that takes query_obj
URL: 
https://github.com/apache/incubator-superset/pull/6220#discussion_r229840452
 
 

 ##########
 File path: superset/views/core.py
 ##########
 @@ -1109,29 +1116,27 @@ def get_samples(self, viz_obj):
             'data': viz_obj.get_samples(),
         })
 
+    def check_datasource_permission(self, datasource, user=None):
+        if not security_manager.datasource_access(datasource, user):
+            return json_error_response(
+                security_manager.get_datasource_access_error_msg(datasource),
+                status=401,
+                link=security_manager.get_datasource_access_link(datasource))
+
+    @handle_superset_exception
     def generate_json(
             self, datasource_type, datasource_id, form_data,
             csv=False, query=False, force=False, results=False,
             samples=False,
     ):
-        try:
-            viz_obj = self.get_viz(
-                datasource_type=datasource_type,
-                datasource_id=datasource_id,
-                form_data=form_data,
-                force=force,
-            )
-        except Exception as e:
-            logging.exception(e)
-            return json_error_response(
-                utils.error_msg_from_exception(e),
-                stacktrace=traceback.format_exc())
-
-        if not security_manager.datasource_access(viz_obj.datasource, g.user):
-            return json_error_response(
-                
security_manager.get_datasource_access_error_msg(viz_obj.datasource),
-                status=404,
-                
link=security_manager.get_datasource_access_link(viz_obj.datasource))
+        viz_obj = self.get_viz(
+            query_obj=models.query_obj_backfill(form_data,
+                                                datasource_id,
+                                                datasource_type),
+            form_data=form_data,
+            force=force,
+        )
+        self.check_datasource_permission(viz_obj.datasource, g.user)
 
 Review comment:
   check_datasource_permission seems like it returns a json error message, and 
it looks like here it assumes that it raises.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to