john-bodley commented on code in PR #24301:
URL: https://github.com/apache/superset/pull/24301#discussion_r1231653460
##########
superset/queries/saved_queries/dao.py:
##########
@@ -44,3 +47,20 @@ def bulk_delete(models: Optional[list[SavedQuery]], commit:
bool = True) -> None
except SQLAlchemyError as ex:
db.session.rollback()
raise DAODeleteFailedError() from ex
+
+ @classmethod
+ def get_by_id(cls, _id: str) -> Optional[SavedQuery]:
Review Comment:
@eschutho I’m not sure that the UUID seems correct both from a security and
consistency perspective.
It feels like an internal representation that we’re now exposing to
circumvent security, i.e., it feels akin to saying you enter a bar and have to
present your ID (an integer or slug) for verification, however if you merely
wave a UUID you bypass the bouncer. Granted it’s harder to forge a UUID as
opposed to guess a valid ID number, but that still doesn’t seem secure.
In my opinion the precedence which was set previously (the example @jfrag1
linked to—which is the sam one I was referring to in the town hall) should be
thought of as the exception rather than the rule, i.e., that logic would also
need to be updated in a future PR.
##########
superset/queries/saved_queries/dao.py:
##########
@@ -44,3 +47,20 @@ def bulk_delete(models: Optional[list[SavedQuery]], commit:
bool = True) -> None
except SQLAlchemyError as ex:
db.session.rollback()
raise DAODeleteFailedError() from ex
+
+ @classmethod
+ def get_by_id(cls, _id: str) -> Optional[SavedQuery]:
Review Comment:
@eschutho I’m not sure that the UUID seems correct both from a security and
consistency perspective.
It feels like an internal representation that we’re now exposing to
circumvent security, i.e., it feels akin to saying you enter a bar and have to
present your ID (an integer or slug) for verification, however if you merely
wave a UUID you bypass the bouncer. Granted it’s harder to forge a UUID as
opposed to guess a valid ID number, but that still doesn’t seem secure.
In my opinion the precedence which was set previously (the example @jfrag1
linked to—which is the same one I was referring to in the town hall) should be
thought of as the exception rather than the rule, i.e., that logic would also
need to be updated in a future PR.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]