dashboard folders acl work
This commit is contained in:
@@ -11,6 +11,7 @@ func init() {
|
||||
bus.AddHandler("sql", AddOrUpdateDashboardPermission)
|
||||
bus.AddHandler("sql", RemoveDashboardPermission)
|
||||
bus.AddHandler("sql", GetDashboardPermissions)
|
||||
bus.AddHandler("sql", GetDashboardAcl)
|
||||
}
|
||||
|
||||
func AddOrUpdateDashboardPermission(cmd *m.AddOrUpdateDashboardPermissionCommand) error {
|
||||
@@ -85,6 +86,28 @@ func RemoveDashboardPermission(cmd *m.RemoveDashboardPermissionCommand) error {
|
||||
})
|
||||
}
|
||||
|
||||
func GetDashboardAcl(query *m.GetDashboardAclQuery) error {
|
||||
rawSQL := `SELECT
|
||||
da.id,
|
||||
da.org_id,
|
||||
da.id,
|
||||
da.dashboard_id,
|
||||
da.user_id,
|
||||
da.user_group_id,
|
||||
da.permissions,
|
||||
da.created,
|
||||
da.updated,
|
||||
FROM` + dialect.Quote("dashboard_acl") + ` as da
|
||||
WHERE dashboard_id IN (
|
||||
SELECT id FROM dashboard where id = ?
|
||||
UNION
|
||||
SELECT parent_id from dashboard where id = ?
|
||||
)`
|
||||
|
||||
query.Result = make([]*m.DashboardAcl, 0)
|
||||
return x.SQL(rawSQL, query.DashboardId).Find(&query.Result)
|
||||
}
|
||||
|
||||
func GetDashboardPermissions(query *m.GetDashboardPermissionsQuery) error {
|
||||
rawSQL := `SELECT
|
||||
da.id,
|
||||
|
||||
@@ -76,12 +76,12 @@ func createUser(name string, role string, isAdmin bool) m.User {
|
||||
return currentUserCmd.Result
|
||||
}
|
||||
|
||||
func updateTestDashboardWithAcl(dashId int64, userId int64, permissionType m.PermissionType) {
|
||||
func updateTestDashboardWithAcl(dashId int64, userId int64, permission m.PermissionType) {
|
||||
err := AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{
|
||||
OrgId: 1,
|
||||
UserId: userId,
|
||||
DashboardId: dashId,
|
||||
PermissionType: permissionType,
|
||||
OrgId: 1,
|
||||
UserId: userId,
|
||||
DashboardId: dashId,
|
||||
Permissions: permission,
|
||||
})
|
||||
So(err, ShouldBeNil)
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ func TestUserGroupCommandsAndQueries(t *testing.T) {
|
||||
So(err, ShouldBeNil)
|
||||
err = AddUserGroupMember(&m.AddUserGroupMemberCommand{OrgId: 1, UserGroupId: groupId, UserId: userIds[2]})
|
||||
So(err, ShouldBeNil)
|
||||
err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: 1, PermissionType: m.PERMISSION_EDIT, UserGroupId: groupId})
|
||||
err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: 1, Permissions: m.PERMISSION_EDIT, UserGroupId: groupId})
|
||||
|
||||
err = DeleteUserGroup(&m.DeleteUserGroupCommand{Id: groupId})
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
@@ -99,7 +99,7 @@ func TestUserDataAccess(t *testing.T) {
|
||||
err = AddOrgUser(&models.AddOrgUserCommand{LoginOrEmail: users[0].Login, Role: models.ROLE_VIEWER, OrgId: users[0].OrgId})
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
err = AddOrUpdateDashboardPermission(&models.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: users[0].OrgId, UserId: users[0].Id, PermissionType: models.PERMISSION_EDIT})
|
||||
err = AddOrUpdateDashboardPermission(&models.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: users[0].OrgId, UserId: users[0].Id, Permissions: models.PERMISSION_EDIT})
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
err = SavePreferences(&models.SavePreferencesCommand{UserId: users[0].Id, OrgId: users[0].OrgId, HomeDashboardId: 1, Theme: "dark"})
|
||||
|
||||
Reference in New Issue
Block a user