* rebase master and resolve conflicts
* pylint to makefile
* fix crash when pivot operator
* fix comments
* add precision argument
* query test
* wip
* fix ut
* rename
* set time_offsets to cache key
wip
* refactor get_df_payload
wip
* extra query cache
* cache ut
* normalize df
* fix timeoffset
* fix ut
* make cache key logging sense
* resolve conflicts
* backend follow up iteration 1
wip
* rolling window type
* rebase master
* py lint and minor follow ups
* pylintrc
* [dashboard] Refactor API using SIP-35
* [dashboard] Fix, import
* [dashboard] more tests
* [dashboards] a misc of improvements
* [charts] Fix, DAO and tests
* [dashboards] small exceptions refactor
* [dashboards] lint
* [dashboards] Improves comments on base classes
* [dashboards] lint
* [charts] New REST API
* [charts] Small improvements
* [charts] Fix, lint
* [charts] Tests and datasource validation
* [charts] Fix, lint
* [charts] DRY post schemas
* [charts] lint and improve type declarations
* [charts] DRY owned REST APIs
* [charts] Small fixes
* [charts] More tests
* [charts] Tests and DRY
* [charts] Tests for update
* [charts] More tests
* [charts] Fix, isort
* [charts] DRY and improve quality
* [charts] DRY and more tests
* [charts] Refactor base for api and schemas
* [charts] Fix bug on partial updates for dashboards
* [charts] Fix missing apache license
* black app.py after merge
* [charts] Fix, missing imports and black
* [api] Log on sqlalchemy error
* [api] isort
* Moving appbuilder.xxx out of view files ands into app.py
* Pulled url map converters out into their own file
* Adding license blurb
* Linting
* Linting again...
* [log] New, make action log configurable and generic
* [log] Fix, missing apache license
* [log] Fix, user_id is a required parameter on event logs
* [log] Fix, Rename Action to Event
* [log] Fix, flake8
* [logger] Change all log_this decorators to new abstract one
* [logger] [docs] Simple docs to show how to override the event log
* [style] Fix, single quote to double quote
* [style] Fix, single quote to double quote
* Wrap <LoadableRenderer /> with <ErrorBoundary />
It appears that since the introduction of <SuperChart />, errors in the
visualization javascript (which are somewhat common and expected,
especially as we'll support plugins) were not handled and the whole
page would throw and go missing.
Here I'm introducing a new <ErrorBoundary /> component that elegantly
wraps other
components and handles errors. It's inspired by:
https://reactjs.org/docs/error-boundaries.html
The default behavior of the component is to simply surface the error
as an <Alert bsStyle="danger" /> and exposes the React stacktrace
when clicking on the error.
It's also possible to use component and pass an onError handler and not
show the default message.
This also fixes some minor bugs in TimeTable.
* Addressing comments
* Getting more stack traces
* Adressing comments
* [SIP-5] Open a new /api/v1/query endpoint that takes query_obj
- Introduce a new handle_superset_exception decorator to avoid repeating the logic for catching SupersetExceptions
- Create a query_obj_backfill method that takes form_data and constructs a query_obj that will be constructed in the client in the future. Use the backfill in explore_json.
- Create a new /api/v1/query endpoint that takes query_obj only and returns the payload data. Note the query_obj is constructed in the client. The endpoint currently only handles query_obj for table view viz (we'll be adding support to new viz types as we go).
- Unit test to verify the new endpoint for table view
* fix tests and lint errors
* - Move the new query endpoint into its own api.py view.
- Create QueryObject and QueryContext class to encapsulate query_object to be built from the client and additional info (e.g. datasource) needed to get the data payload for a given query
- Remove the query_obj_backfill as we'll start building the first query_object on the client so it no longer makes sense to have a short-lived backfill for the matter of days.
* Fixing lint and test errors
* Fixing additional lint error from the previous rebase.
* fixing additional lint error
* addressing additional pr comments
* Make /query accept a list of queries in the query_context object.
* fixing a lint error
* - Move time_shift based calculation and since, until check into util
- Add typing info for get_since_until
- Add new unit tests to verify time_shift calculation and the since until check