filterUsersByQuery 根据 URL 查询参数过滤用户列表。
(items []users.User, r *http.Request)
| 699 | |
| 700 | // filterUsersByQuery 根据 URL 查询参数过滤用户列表。 |
| 701 | func filterUsersByQuery(items []users.User, r *http.Request) ([]users.User, int) { |
| 702 | q := r.URL.Query() |
| 703 | search := strings.ToLower(strings.TrimSpace(q.Get("search"))) |
| 704 | statusFilter := strings.ToLower(strings.TrimSpace(q.Get("status"))) |
| 705 | |
| 706 | out := make([]users.User, 0, len(items)) |
| 707 | for _, u := range items { |
| 708 | if statusFilter != "" && u.EffectiveStatus() != statusFilter { |
| 709 | continue |
| 710 | } |
| 711 | if search != "" { |
| 712 | if !strings.Contains(strings.ToLower(u.Username), search) { |
| 713 | continue |
| 714 | } |
| 715 | } |
| 716 | out = append(out, u) |
| 717 | } |
| 718 | return out, len(out) |
| 719 | } |
| 720 | |
| 721 | func filterEnabledAccesses(accesses []users.UserInbound, userMap map[string]users.User) []users.UserInbound { |
| 722 | out := make([]users.UserInbound, 0, len(accesses)) |
no test coverage detected