From 59edc092dbc36afe146ae29231266efa8489ab13 Mon Sep 17 00:00:00 2001 From: renaldybrada Date: Mon, 16 Mar 2026 09:38:46 +0700 Subject: [PATCH] list user disable sandbox users --- internal/domain/access/repository.go | 10 +++++++++- internal/domain/access/request.go | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/internal/domain/access/repository.go b/internal/domain/access/repository.go index a8c1383..8b7b550 100644 --- a/internal/domain/access/repository.go +++ b/internal/domain/access/repository.go @@ -201,13 +201,21 @@ func (r accessRepo) ListUserRole(c context.Context, q QueryListUserRole) (ListUs }, } + if !q.IsDev { + sandboxEmail := []string{"akbarantrean@gmail.com", "renaldy.brada@gmail.com", "yusron.sandbox@gmai.com", "danuar@gmail.com"} + excludeSandboxUserFilter := []queryUtils.DynamicFilter{ + {Column: "email", Operator: queryUtils.OpNotIn, Value: sandboxEmail}, + } + query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: excludeSandboxUserFilter, LogicOp: "AND"}) + } + if q.Search != "" { searchFilters := []queryUtils.DynamicFilter{ {Column: "name", Operator: queryUtils.OpILike, Value: "%" + q.Search + "%"}, {Column: "email", Operator: queryUtils.OpILike, Value: "%" + q.Search + "%"}, } - query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: searchFilters, LogicOp: "OR"}) + query.Filters = append(query.Filters, queryUtils.FilterGroup{Filters: searchFilters, LogicOp: "AND"}) } dbconn, err := r.db.GetSQLXDB(DB_NAME) diff --git a/internal/domain/access/request.go b/internal/domain/access/request.go index fc6667b..e02dd29 100644 --- a/internal/domain/access/request.go +++ b/internal/domain/access/request.go @@ -15,6 +15,7 @@ type UpsertAccessPermissionRequest struct { type QueryListUserRole struct { Search string `form:"search"` + IsDev bool `form:"is_dev,default=false"` Limit int `form:"limit,default=10"` Offset int `form:"offset,default=0"` }