diff --git a/store/rdbms/role_members.gen.go b/store/rdbms/role_members.gen.go index 5d1be361f..879ef62c7 100644 --- a/store/rdbms/role_members.gen.go +++ b/store/rdbms/role_members.gen.go @@ -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 diff --git a/store/rdbms/role_members.go b/store/rdbms/role_members.go new file mode 100644 index 000000000..c42ee7fd8 --- /dev/null +++ b/store/rdbms/role_members.go @@ -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 +} diff --git a/store/role_members.yaml b/store/role_members.yaml index 3bf6e0d23..81b9238cb 100644 --- a/store/role_members.yaml +++ b/store/role_members.yaml @@ -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 +