package user import ( "nixcn-cms/data" "nixcn-cms/utils" "strconv" "github.com/gin-gonic/gin" ) func List(c *gin.Context) { // Get limit and offset from query limit, ok := c.GetQuery("limit") if !ok { limit = "0" } offset, ok := c.GetQuery("offset") if !ok { utils.HttpResponse(c, 400, "", "offset not found") return } // Parse string to int64 limitNum, err := strconv.ParseInt(limit, 10, 64) if err != nil { utils.HttpResponse(c, 400, "", "parse string to int error") return } offsetNum, err := strconv.ParseInt(offset, 10, 64) if err != nil { utils.HttpResponse(c, 400, "", "parse string to int error") return } // Get user list from search engine list, err := new(data.User).FastListUsers(limitNum, offsetNum) if err != nil { utils.HttpResponse(c, 500, "", "failed list users from meilisearch") } userListResp := struct { List *[]data.UserSearchDoc `json:"list"` }{list} utils.HttpResponse(c, 200, "", "success", userListResp) }