feature(request): ajouter MembrePreferedNamePUT et ProgrammesGET
This commit is contained in:
parent
4d338f2b03
commit
26b3134861
1 changed files with 78 additions and 0 deletions
78
request.go
78
request.go
|
@ -195,3 +195,81 @@ func (request MembresGETRequest) Request(v *voki.Voki) (response MembresGETRespo
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ voki.Requester[MembrePreferedNamePUTResponse] = MembrePreferedNamePUTRequest{}
|
||||||
|
|
||||||
|
type MembrePreferedNamePUTRequest struct {
|
||||||
|
Data struct {
|
||||||
|
PreferedName string `json:"prefered_name"`
|
||||||
|
} `json:"data"`
|
||||||
|
Param struct {
|
||||||
|
MembreID string `json:"membre_id" param:"membre_id"`
|
||||||
|
} `json:"param"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (request MembrePreferedNamePUTRequest) Complete() bool {
|
||||||
|
return IsMembreID(request.Param.MembreID) && len(request.Data.PreferedName) != 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (request MembrePreferedNamePUTRequest) Request(v *voki.Voki) (response MembrePreferedNamePUTResponse, err error) {
|
||||||
|
if !request.Complete() {
|
||||||
|
err = fmt.Errorf("Incomplete MembrePreferedNamePUTRequest")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
if err = json.NewEncoder(&buf).Encode(request.Data); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
statusCode, body, err := v.CallAndParse(
|
||||||
|
http.MethodPut,
|
||||||
|
"/api/v7/membre/%s/",
|
||||||
|
&buf,
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("code=%d err=%s", statusCode, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
response.SetStatusCode(statusCode)
|
||||||
|
if err = json.Unmarshal(body, &response); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ voki.Requester[ProgrammesGETResponse] = ProgrammesGETRequest{}
|
||||||
|
|
||||||
|
type ProgrammesGETRequest struct {
|
||||||
|
Query struct {
|
||||||
|
Limit int `json:"limit" query:"limit"`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (request ProgrammesGETRequest) Complete() bool { return true }
|
||||||
|
|
||||||
|
func (request ProgrammesGETRequest) Request(v *voki.Voki) (response ProgrammesGETResponse, err error) {
|
||||||
|
if !request.Complete() {
|
||||||
|
err = fmt.Errorf("Incomplete ProgrammesGETRequest")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
statusCode, body, err := v.CallAndParse(
|
||||||
|
http.MethodGet,
|
||||||
|
fmt.Sprintf("/api/v7/programme/?limit=%d", request.Query.Limit),
|
||||||
|
nil,
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("code=%d err=%s", statusCode, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
response.SetStatusCode(statusCode)
|
||||||
|
if err = json.Unmarshal(body, &response); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue