select active permission when fetch eligible menu

This commit is contained in:
renaldybrada
2026-02-26 09:59:35 +07:00
parent e281f4ef65
commit cbd90a7850
+19 -3
View File
@@ -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,
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",
},
},