3
0
Files
corteza/sam/rest/request/user.go
2018-08-29 17:22:31 +02:00

84 lines
1.7 KiB
Go

package request
/*
Hello! This file is auto-generated from `docs/src/spec.json`.
For development:
In order to update the generated files, edit this file under the location,
add your struct fields, imports, API definitions and whatever you want, and:
1. run [spec](https://github.com/titpetric/spec) in the same folder,
2. run `./_gen.php` in this folder.
You may edit `user.go`, `user.util.go` or `user_test.go` to
implement your API calls, helper functions and tests. The file `user.go`
is only generated the first time, and will not be overwritten if it exists.
*/
import (
"github.com/go-chi/chi"
"net/http"
)
var _ = chi.URLParam
// User search request parameters
type UserSearch struct {
Query string
}
func NewUserSearch() *UserSearch {
return &UserSearch{}
}
func (u *UserSearch) Fill(r *http.Request) error {
r.ParseForm()
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
for name, param := range urlQuery {
get[name] = string(param[0])
}
postVars := r.Form
for name, param := range postVars {
post[name] = string(param[0])
}
u.Query = get["query"]
return nil
}
var _ RequestFiller = NewUserSearch()
// User message request parameters
type UserMessage struct {
UserID uint64
Message string
}
func NewUserMessage() *UserMessage {
return &UserMessage{}
}
func (u *UserMessage) Fill(r *http.Request) error {
r.ParseForm()
get := map[string]string{}
post := map[string]string{}
urlQuery := r.URL.Query()
for name, param := range urlQuery {
get[name] = string(param[0])
}
postVars := r.Form
for name, param := range postVars {
post[name] = string(param[0])
}
u.UserID = parseUInt64(chi.URLParam(r, "userID"))
u.Message = post["message"]
return nil
}
var _ RequestFiller = NewUserMessage()