code.gitea.io/gitea@v1.21.7/routers/web/user/search.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package user 5 6 import ( 7 "net/http" 8 9 "code.gitea.io/gitea/models/db" 10 user_model "code.gitea.io/gitea/models/user" 11 "code.gitea.io/gitea/modules/context" 12 "code.gitea.io/gitea/services/convert" 13 ) 14 15 // Search search users 16 func Search(ctx *context.Context) { 17 listOptions := db.ListOptions{ 18 Page: ctx.FormInt("page"), 19 PageSize: convert.ToCorrectPageSize(ctx.FormInt("limit")), 20 } 21 22 users, maxResults, err := user_model.SearchUsers(ctx, &user_model.SearchUserOptions{ 23 Actor: ctx.Doer, 24 Keyword: ctx.FormTrim("q"), 25 UID: ctx.FormInt64("uid"), 26 Type: user_model.UserTypeIndividual, 27 IsActive: ctx.FormOptionalBool("active"), 28 ListOptions: listOptions, 29 }) 30 if err != nil { 31 ctx.JSON(http.StatusInternalServerError, map[string]any{ 32 "ok": false, 33 "error": err.Error(), 34 }) 35 return 36 } 37 38 ctx.SetTotalCountHeader(maxResults) 39 40 ctx.JSON(http.StatusOK, map[string]any{ 41 "ok": true, 42 "data": convert.ToUsers(ctx, ctx.Doer, users), 43 }) 44 }