select active permission when fetch eligible menu
This commit is contained in:
@@ -161,7 +161,7 @@ func (r accessRepo) GetAvailablePageByKeycloakId(c context.Context, keycloakId s
|
||||
user := &fetchUsers[0]
|
||||
|
||||
var permissionIds []string
|
||||
fetchUserPermission, err := r.getUserPermissionByUserId(c, dbconn, user.ID)
|
||||
fetchUserPermission, err := r.getUserActivePermissionByUserId(c, dbconn, user.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -670,20 +670,36 @@ func (r accessRepo) getOrCreateUserPermission(c context.Context, db *sqlx.DB, tx
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r accessRepo) getUserPermissionByUserId(c context.Context, db *sqlx.DB, userId string) ([]RoleUserPermissionModel, error) {
|
||||
func (r accessRepo) getUserActivePermissionByUserId(c context.Context, db *sqlx.DB, userId string) ([]RoleUserPermissionModel, error) {
|
||||
var result []RoleUserPermissionModel
|
||||
|
||||
query := queryUtils.DynamicQuery{
|
||||
From: TBL_USER_PERMISSION,
|
||||
From: TBL_USER_PERMISSION,
|
||||
Aliases: "up",
|
||||
Fields: []queryUtils.SelectField{
|
||||
{Expression: "id"},
|
||||
{Expression: "up.id"},
|
||||
{Expression: "id_user"},
|
||||
{Expression: "id_permission"},
|
||||
},
|
||||
Joins: []queryUtils.Join{
|
||||
{
|
||||
Type: "LEFT",
|
||||
Table: TBL_PERMISSION,
|
||||
Alias: "p",
|
||||
OnConditions: queryUtils.FilterGroup{
|
||||
Filters: []queryUtils.DynamicFilter{
|
||||
{
|
||||
Column: "p.id", Operator: queryUtils.OpEqual, Value: "up.id_permission",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
Filters: []queryUtils.FilterGroup{
|
||||
{
|
||||
Filters: []queryUtils.DynamicFilter{
|
||||
{Column: "id_user", Operator: queryUtils.OpEqual, Value: userId},
|
||||
{Column: "p.is_active", Operator: queryUtils.OpEqual, Value: true},
|
||||
}, LogicOp: "AND",
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user