agecem-org/apirequest/spec.go
Victor Lacasse-Beaudoin 7bf489315e feat(api): add pave spec to route /v1/spec and add seed to it
Exposes the API spec in pave format, which intends to show information
about all API routes.

Also pave V1SeedPOST and V1SpecGET
2023-11-20 15:13:42 -05:00

29 lines
648 B
Go

package apirequest
import (
"fmt"
"net/http"
"codeberg.org/vlbeaudoin/voki"
"codeberg.org/vlbeaudoin/voki/request"
"git.agecem.com/agecem/agecem-org/apiresponse"
)
var _ request.Requester[apiresponse.V1SpecGET] = V1SpecGET{}
type V1SpecGET struct{}
func NewV1SpecGET() (request V1SpecGET, err error) {
return
}
func (request V1SpecGET) Complete() bool { return true }
func (request V1SpecGET) Request(v *voki.Voki) (response apiresponse.V1SpecGET, err error) {
if !request.Complete() {
err = fmt.Errorf("Incomplete V1SpecGET")
return
}
return response, v.UnmarshalIfComplete(http.MethodGet, "/v1/spec", nil, true, &response)
}