mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Annotations: Optimize search on large number of dashboards * refactor * fix batch size * Return early if no annotations found * revert go.mod * return nil in case of error * Move default limit to the API package * fix empty access control filter * Set default limit to 100 * optimize query when number of annotations is less than limit * Update pkg/services/annotations/annotationsimpl/annotations.go Co-authored-by: Ieva <ieva.vasiljeva@grafana.com> * remove limit from store since it's set in API * set default limit in Find method (do not break tests) * Only add limit to the query if it's set * use limit trick for all searches without dashboard filter * set default page if not provided --------- Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
19 lines
603 B
Go
19 lines
603 B
Go
package accesscontrol
|
|
|
|
// AccessResources contains resources that are used to filter annotations based on RBAC.
|
|
type AccessResources struct {
|
|
// Dashboards is a map of dashboard UIDs to IDs
|
|
Dashboards map[string]int64
|
|
// CanAccessDashAnnotations true if the user is allowed to access some dashboard annotations
|
|
CanAccessDashAnnotations bool
|
|
// CanAccessOrgAnnotations true if the user is allowed to access organization annotations
|
|
CanAccessOrgAnnotations bool
|
|
// Skip filtering
|
|
SkipAccessControlFilter bool
|
|
}
|
|
|
|
type dashboardProjection struct {
|
|
ID int64 `xorm:"id"`
|
|
UID string `xorm:"uid"`
|
|
}
|