grafana/pkg/services
Alexander Zobnin 959ebf82da
Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465)
* Folders: Show folders user has access to at the root level

* Refactor

* Refactor

* Hide parent folders user has no access to

* Skip expensive computation if possible

* Fix tests

* Fix potential nil access

* Fix duplicated folders

* Fix linter error

* Fix querying folders if no managed permissions set

* Update benchmark

* Add special shared with me folder and fetch available non-root folders on demand

* Fix parents query

* Improve db query for folders

* Reset benchmark changes

* Fix permissions for shared with me folder

* Simplify dedup

* Add option to include shared folder permission to user's permissions

* Fix nil UID

* Remove duplicated folders from shared list

* Folders: Fix fetching empty folder

* Nested folders: Show dashboards with directly assigned permissions

* Fix slow dashboards fetch

* Refactor

* Fix cycle dependencies

* Move shared folder to models

* Fix shared folder links

* Refactor

* Use feature flag for permissions

* Use feature flag

* Review comments

* Expose shared folder UID through frontend settings

* Add frontend type for sharedWithMeFolderUID option

* Refactor: apply review suggestions

* Fix parent uid for shared folder

* Fix listing shared dashboards for users with access to all folders

* Prevent creating folder with "shared" UID

* Add tests for shared folders

* Add test for shared dashboards

* Fix linter

* Add metrics for shared with me folder

* Add metrics for shared with me dashboards

* Fix tests

* Tests: add metrics as a dependency

* Fix access control metadata for shared with me folder

* Use constant for shared with me

* Optimize parent folders access check, fetch all folders in one query.

* Use labels for metrics
2023-12-05 16:13:31 +01:00
..
accesscontrol Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
alerting Authz: Remove use of SignedInUser copy for permission evaluation (#78448) 2023-11-22 14:20:22 +01:00
annotations Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
anonymous Auth: Add anonymous users view and stats (#78685) 2023-11-29 17:58:41 +01:00
apikey Swagger: Rename API Key AddCommand (#78491) 2023-11-21 11:25:21 -05:00
auth Auth: Add more context to logs around token rotation, revocation (#78600) 2023-11-23 16:48:54 +01:00
authn Authn: Only resolve org id once (#78811) 2023-11-29 15:55:39 +01:00
caching Fixing typos (#70487) 2023-06-22 09:43:38 +01:00
cleanup Tracing: Standardize on otel tracing (#75528) 2023-10-03 14:54:20 +02:00
contexthandler Auth: id response header (#77871) 2023-11-29 15:51:13 +01:00
correlations Identity: Unfurl OrgID in pkg/services to allow using identity.Requester interface (#76113) 2023-10-09 10:40:19 +02:00
dashboardimport Chore: Deprecate ID from Folder (#78281) 2023-11-20 15:44:51 -05:00
dashboards Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
dashboardsnapshots Snapshots: Do not return internal database ids (#77672) 2023-11-06 06:53:52 -08:00
dashboardversion Chore: Deprecate FolderID from SaveDashboardCommand (#77813) 2023-11-15 11:21:02 -05:00
datasourceproxy Errors: Make errors the same in dev as prod (#77366) 2023-10-30 14:06:26 -04:00
datasources Team LBAC: Limit access to data source (#78376) 2023-12-05 13:45:40 +02:00
encryption Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
extsvcauth Chore: Fix flaky test by removing the extsvcauth background service (#79044) 2023-12-04 22:26:55 +01:00
featuremgmt FeatureFlags: Add created time property (#78996) 2023-12-03 20:45:51 -08:00
folder Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
grafana-apiserver K8s: Prevent user impersonation (#78555) 2023-11-22 15:55:37 -05:00
grpcserver FeatureToggles: Add context and and an explicit global check (#78081) 2023-11-14 12:50:27 -08:00
guardian Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
hooks Hooks: Remove AddLoginHook and RunLogin hooks (#73227) 2023-08-17 09:51:45 +02:00
kmsproviders Secrets: Make the Migrator extensible (#67307) 2023-06-19 23:44:01 +02:00
ldap Login: refactor auth info package (#78459) 2023-11-21 14:47:23 +01:00
libraryelements Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
librarypanels Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
licensing Chore: Clean up old navigation (#66287) 2023-04-14 09:43:11 +01:00
live Live: Default to local engine if redis is unavailable (#77467) 2023-11-08 12:22:26 +00:00
login Login: refactor auth info package (#78459) 2023-11-21 14:47:23 +01:00
loginattempt Chore: capitalise log message for auth packages (#74332) 2023-09-04 18:49:47 +02:00
navtree Navigation: add application-observability icon (#78935) 2023-12-02 09:51:46 +00:00
ngalert Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
notifications Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
oauthtoken Login: refactor auth info package (#78459) 2023-11-21 14:47:23 +01:00
org Chore: delete team related entries for an org after the org gets deleted (#76706) 2023-10-18 10:40:26 +01:00
playlist K8s: Implement playlist api with k8s client (#77405) 2023-10-31 10:26:39 -07:00
plugindashboards Chore: Deprecate FolderIDs only used by Swagger (#78219) 2023-11-16 09:57:04 -05:00
pluginsintegration Plugins: Rename externalServiceAuthentication to iam (#78686) 2023-12-04 13:14:21 +01:00
preference Preferences: Remove SQLX backing store (#78015) 2023-11-13 06:22:22 -08:00
provisioning Chore: Deprecate FolderID from Dashboard (#77823) 2023-11-15 10:28:50 -05:00
publicdashboards Authz: Remove use of SignedInUser copy for permission evaluation (#78448) 2023-11-22 14:20:22 +01:00
query Chore: Upgrade Go to 1.21.3 (#77304) 2023-11-01 09:17:38 -07:00
queryhistory Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
quota Alerting: Fix deleting rules in a folder with matching UID in another organization (#78258) 2023-12-04 11:34:38 +02:00
rendering FeatureToggles: Add context and and an explicit global check (#78081) 2023-11-14 12:50:27 -08:00
screenshot Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
search Authz: Remove use of SignedInUser copy for permission evaluation (#78448) 2023-11-22 14:20:22 +01:00
searchusers Team: Support sort query param for teams search endpoint (#75622) 2023-09-28 18:20:51 +03:00
searchV2 Chore: Deprecate FolderID from Dashboard (#77823) 2023-11-15 10:28:50 -05:00
secrets FeatureToggles: Add context and and an explicit global check (#78081) 2023-11-14 12:50:27 -08:00
serviceaccounts ExtSvcAuth: Assign roles locally (#78669) 2023-11-29 12:12:30 +01:00
shorturls Chore: Add errutils helpers (#73577) 2023-08-22 12:52:24 +02:00
signingkeys Siningkeys: Fix test setup (#76333) 2023-10-11 13:50:38 +02:00
sqlstore Folders: Show dashboards and folders with directly assigned permissions in "Shared" folder (#78465) 2023-12-05 16:13:31 +01:00
ssosettings Auth: Load ini/env vars settings in the fallback strategy (#78495) 2023-12-01 15:35:44 +01:00
star Stars: Remove sqlx storage implementation (#77766) 2023-11-07 06:55:24 -08:00
stats Usagestats: Add stat group for alert rule groups (#78825) 2023-11-29 14:37:36 -06:00
store FeatureToggles: Add context and and an explicit global check (#78081) 2023-11-14 12:50:27 -08:00
supportbundles Auth: Remove oAuthProviders from Social service (#78732) 2023-11-30 09:30:35 +01:00
tag FeatureFlags: Cleanup usage of cfg.IsFeatureToggleEnabled (#78014) 2023-11-13 07:55:15 -08:00
team Authz: Remove use of SignedInUser copy for permission evaluation (#78448) 2023-11-22 14:20:22 +01:00
temp_user Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
updatechecker Plugins: Move store and plugin dto to pluginsintegration (#74655) 2023-09-11 13:59:24 +02:00
user Chore: Remove unused CacheService dependency from sqlstore (#78507) 2023-12-04 10:00:45 -05:00
validations chore: move validations model into the validations service (#61953) 2023-01-23 15:10:14 -05:00