def run(self) -> Model: self.validate() try: dataset = DatasetDAO.delete(self._model, commit=False) view_menu = (security_manager.find_view_menu( self._model.get_perm()) if self._model else None) if view_menu: permission_views = (db.session.query( security_manager.permissionview_model).filter_by( view_menu=view_menu).all()) for permission_view in permission_views: db.session.delete(permission_view) if view_menu: db.session.delete(view_menu) else: if not view_menu: logger.error( "Could not find the data access permission for the dataset" ) db.session.commit() except (SQLAlchemyError, DAODeleteFailedError) as ex: logger.exception(ex) db.session.rollback() raise DatasetDeleteFailedError() return dataset
def run(self): self.validate() try: dataset = DatasetDAO.delete(self._model) except DeleteFailedError as e: logger.exception(e.exception) raise DatasetDeleteFailedError() return dataset
def run(self) -> Model: self.validate() try: dataset = DatasetDAO.delete(self._model, commit=False) security_manager.del_permission_view_menu("datasource_access", dataset.get_perm()) db.session.commit() except (SQLAlchemyError, DAODeleteFailedError) as e: logger.exception(e) db.session.rollback() raise DatasetDeleteFailedError() return dataset