package api import ( "context" "net/http" "fr.latosa-escrima/api/core" "fr.latosa-escrima/utils" ) func HandleGetUsers(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { core.JSONError{ Status: core.Error, Message: "Method is not allowed.", }.Respond(w, http.StatusMethodNotAllowed) return } var users []core.User count, err := core.DB.NewSelect(). Model(&users). ScanAndCount(context.Background()) users = utils.Map(users, func(user core.User) core.User { user.Password = "" return user }) if count == 0 { core.JSONError{ Status: core.Error, Message: "Not users.", }.Respond(w, http.StatusNotFound) return } if err != nil { core.JSONError{ Status: core.Error, Message: err.Error(), }.Respond(w, http.StatusInternalServerError) return } // TODO : Remove password core.JSONSuccess{ Status: core.Success, Message: "Users found.", Data: users, }.Respond(w, http.StatusOK) }