mirror of https://github.com/grafana/grafana
Zanzana: Support subresources for typed resources (#102470)
* Zanzana: Support subresources for folders * refactor * fix subresource requests * implement listing for folders subresources * teams subresources PoC * re-enable tests * use team resource def from iam * fix tests * remove unused code * refactor: rename to subresource * split resource schema * update workspaces * rename folder relation to subresource * refactor: rename folder resources to subresources * update readme * fix listing * rename params in subresource filterpull/102781/head
parent
a13d90db45
commit
c34394f385
@ -0,0 +1,30 @@ |
||||
module resource |
||||
|
||||
extend type folder |
||||
relations |
||||
define resource_view: [user, service-account, team#member, role#assignee] or resource_edit or resource_view from parent |
||||
define resource_edit: [user, service-account, team#member, role#assignee] or resource_admin or resource_edit from parent |
||||
define resource_admin: [user, service-account, team#member, role#assignee] or resource_admin from parent |
||||
|
||||
define resource_get: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_view or resource_get from parent |
||||
define resource_create: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit or resource_create from parent |
||||
define resource_update: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit or resource_update from parent |
||||
define resource_delete: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit or resource_delete from parent |
||||
|
||||
define resource_get_permissions: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_admin or resource_get_permissions from parent |
||||
define resource_set_permissions: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_admin or resource_set_permissions from parent |
||||
|
||||
extend type team |
||||
relations |
||||
define resource_view: [user, service-account, team#member, role#assignee] or resource_edit |
||||
define resource_edit: [user, service-account, team#member, role#assignee] or resource_admin |
||||
define resource_admin: [user, service-account, team#member, role#assignee] |
||||
|
||||
define resource_get: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_view |
||||
define resource_create: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit |
||||
define resource_update: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit |
||||
define resource_delete: [user with subresource_filter, service-account with subresource_filter, team#member with subresource_filter, role#assignee with subresource_filter] or resource_edit |
||||
|
||||
condition subresource_filter(subresource: string, subresources: list<string>) { |
||||
subresource in subresources |
||||
} |
Loading…
Reference in new issue