feat: Adds a key-value endpoint to store the state of dashboard filters (#17536)

* feat: Adds a key-value endpoint to store the state of dashboard filters

* Fixes pylint issues

* Adds openapi schemas

* Adds more tests, move logic to commands and use singular form for the endpoint name

* Fixes model description

* Removes database model

* Adds open api specs

* Simplifies the commands

* Adds more tests

* Validates the value content and submits the correct http status code

* Fixes import order

* Skips flakky test

* Fixes tests

* Updates UPDATING.md
This commit is contained in:
Michael S. Molina
2021-12-01 09:06:49 -03:00
committed by GitHub
parent d7e3a601b6
commit 2f2e8fe412
22 changed files with 1037 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ class CacheManager:
self._cache = Cache()
self._data_cache = Cache()
self._thumbnail_cache = Cache()
self._filter_state_cache = Cache()
def init_app(self, app: Flask) -> None:
self._cache.init_app(
@@ -48,6 +49,13 @@ class CacheManager:
**app.config["THUMBNAIL_CACHE_CONFIG"],
},
)
self._filter_state_cache.init_app(
app,
{
"CACHE_DEFAULT_TIMEOUT": app.config["CACHE_DEFAULT_TIMEOUT"],
**app.config["FILTER_STATE_CACHE_CONFIG"],
},
)
@property
def data_cache(self) -> Cache:
@@ -60,3 +68,7 @@ class CacheManager:
@property
def thumbnail_cache(self) -> Cache:
return self._thumbnail_cache
@property
def filter_state_cache(self) -> Cache:
return self._filter_state_cache