wip: data source permissions hooks

This commit is contained in:
Torkel Ödegaard
2018-10-01 15:38:55 +02:00
parent d2464812eb
commit b3c78f1265
6 changed files with 55 additions and 63 deletions
+24 -2
View File
@@ -29,6 +29,7 @@ var (
ErrDataSourceNameExists = errors.New("Data source with same name already exists")
ErrDataSourceUpdatingOldVersion = errors.New("Trying to update old version of datasource")
ErrDatasourceIsReadOnly = errors.New("Data source is readonly. Can only be updated from configuration.")
ErrDataSourceAccessDenied = errors.New("Data source access denied")
)
type DsAccess string
@@ -165,6 +166,7 @@ type DeleteDataSourceByNameCommand struct {
type GetDataSourcesQuery struct {
OrgId int64
User *SignedInUser
Result []*DataSource
}
@@ -185,6 +187,26 @@ type GetDataSourceByNameQuery struct {
}
// ---------------------
// EVENTS
type DataSourceCreatedEvent struct {
// Permissions
// ---------------------
type DataSourcePermissionType int
const (
DsPermissionQuery DataSourcePermissionType = 1 << iota
DsPermissionAdmin
)
func (p DataSourcePermissionType) String() string {
names := map[int]string{
int(DsPermissionQuery): "Query",
int(DsPermissionAdmin): "Admin",
}
return names[int(p)]
}
type HasRequiredDataSourcePermissionQuery struct {
Id int64
User *SignedInUser
RequiredPermission DataSourcePermissionType
}