mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
AccessControl: Create own interface and impl for each permission service (#48871)
* Create own interfaces for team, folder, dashboard and data source permissions services * Remove service container and inject them individually
This commit is contained in:
@@ -43,11 +43,21 @@ type PermissionsProvider interface {
|
||||
GetUserPermissions(ctx context.Context, query GetUserPermissionsQuery) ([]*Permission, error)
|
||||
}
|
||||
|
||||
type PermissionsServices interface {
|
||||
GetTeamService() PermissionsService
|
||||
GetFolderService() PermissionsService
|
||||
GetDashboardService() PermissionsService
|
||||
GetDataSourceService() PermissionsService
|
||||
type TeamPermissionsService interface {
|
||||
GetPermissions(ctx context.Context, user *models.SignedInUser, resourceID string) ([]ResourcePermission, error)
|
||||
SetUserPermission(ctx context.Context, orgID int64, user User, resourceID, permission string) (*ResourcePermission, error)
|
||||
}
|
||||
|
||||
type FolderPermissionsService interface {
|
||||
PermissionsService
|
||||
}
|
||||
|
||||
type DashboardPermissionsService interface {
|
||||
PermissionsService
|
||||
}
|
||||
|
||||
type DatasourcePermissionsService interface {
|
||||
PermissionsService
|
||||
}
|
||||
|
||||
type PermissionsService interface {
|
||||
|
||||
Reference in New Issue
Block a user