Implement missing role-membership filter on role
This commit is contained in:
@@ -31,7 +31,10 @@ func (s Store) SearchRoleMembers(ctx context.Context, f types.RoleMemberFilter)
|
||||
)
|
||||
|
||||
return set, f, func() error {
|
||||
q = s.roleMembersSelectBuilder()
|
||||
q, err = s.convertRoleMemberFilter(f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set, err = s.QueryRoleMembers(ctx, q, nil)
|
||||
return err
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package rdbms
|
||||
|
||||
import (
|
||||
"github.com/Masterminds/squirrel"
|
||||
"github.com/cortezaproject/corteza-server/system/types"
|
||||
)
|
||||
|
||||
func (s Store) convertRoleMemberFilter(f types.RoleMemberFilter) (query squirrel.SelectBuilder, err error) {
|
||||
query = s.roleMembersSelectBuilder()
|
||||
|
||||
if f.RoleID > 0 {
|
||||
query = query.Where(squirrel.Eq{"rm.rel_role": f.RoleID})
|
||||
}
|
||||
|
||||
if f.UserID > 0 {
|
||||
query = query.Where(squirrel.Eq{"rm.rel_user": f.UserID})
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
@@ -5,12 +5,13 @@ fields:
|
||||
- { field: UserID, isPrimaryKey: true }
|
||||
- { field: RoleID, isPrimaryKey: true }
|
||||
|
||||
rdbms:
|
||||
alias: rm
|
||||
table: role_members
|
||||
|
||||
search:
|
||||
enableSorting: false
|
||||
enablePaging: false
|
||||
customFilterConverter: true
|
||||
enableFilterCheckFunction: false
|
||||
|
||||
rdbms:
|
||||
alias: rm
|
||||
table: role_members
|
||||
customFilterConverter: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user