* Use interface for factories
* Add most mocks to unit test jobs
* Generate more mocks for main jobs package
* Interface for parser
* Use clients directly without parser
* Regenerate mock
* Eliminate resource clients from Parser
* Interface for folder tree
* include TotalHits when searching for provisioning information and improve tests
* return err when parsing search results with mismatch number of columns and cells and add tests for it
* Move dashboard k8s APIs to a separate app
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Copy dashboard code in Dockerfile
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Fix conversion generation
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Update OpenAPI snapshot for dashboard/v0alpha1
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* wip: Create a proxy state manager to avoid complexity
* Read path redirecting
* add tests for unified dashboard API
* add tests
* Contemplate both formats in DashboardProxy
* Fix force old
* Fix tests for proxy
* catch errors
* Save as V2 when dynamic dashboard is enabled
* Improve tests
* Remove feature toggle
* Use kubernetesDashboards for e2e suite
* Fix issue when loading snapshots
* Fix typescript errors
* Integrate with backend conversion error
* Remove legacy annotation
* fix snapshot loading; lint
* Add missing hideTimeControls
* fix test
* make setupDashboardAPI to all suites
* refactor getDashboardAPI
* Add tests
* fix DashboardScenePage tests
* fix tests
* fix go tests
* Refactor to understand better the need of transforming to v2 to compare
* Fix detect changes logic
* yes status from schema gen
---------
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
* Generate Dashboard kinds with `grafana-app-sdk`
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Hack together a fix for invalid TS codegen for v0 & v1
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Address Go linter issues
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Address TS linter issues
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Add new app to CODEOWNERS
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Fix a couple of issues detected by tests
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Update OpenAPI definitions and test files
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Remove title from Dashboard v1alpha1 spec
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Remove unused CUE schemas
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* remove unrelated files
* allow any in the generated betterer
* Add a comment explaining why we don't use deepcopy-gen
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
* Default to v2alpha1 if dashboards v2 FF is enabled
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* WIP adding custom analyzer so we can do substring search efficiently
* Adding unit tests for title search
* formatting
* adds more title search unit tests
* organize helpers
* fixes issue caused by having two title mappings
* Removes camelcase token filter since it prevents you from searching for a substring of chars and numbers. Adds regression test.
* adds back mapping for title_phrase
* use simple analyzer for input query string so it doesn't filter out english stop words
* ran bleve tests, table snapshots updated
* ignore linter for "unused" test functions. They are very helpful for troubleshooting search. Keeping them.
* only log total hits and query cost if result not nil
* fixes failing test - one more field because there are two title mappings now
* fix test
* fixes test - only take first item when its the title
* Adds separate internal field for title ngram mapping.
When searching with a query, results are sorted by score desc.
When searching without a query, results are sorted by title desc.
Adjusts ngram max to be 10.
Text queries are a disjunction of an exact match, phrase match, and a match. Boosted to have priority in that order.
Adds more unit tests for searching.
* linter
* fix test
* ran tests - generated new test dash json
* sort by title phrase instead of title
* fix test - not relying on /apis/dashboard/search to apply title sorting anymore
* handle "sharedwithme" use-case in both legacy/US modes
* display "Shared with me" as location in dashboard list
* fix missing "TotalHits" prop in mode 2