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.V1SeedPOST] = V1SeedPOST{}

type V1SeedPOST struct{}

func NewV1SeedPOST() (request V1SeedPOST, err error) {
	return
}

func (r V1SeedPOST) Complete() bool { return true }

func (r V1SeedPOST) Request(v *voki.Voki) (response apiresponse.V1SeedPOST, err error) {
	if !r.Complete() {
		err = fmt.Errorf("Incomplete V1SeedPOST")
		return
	}

	return response, v.UnmarshalIfComplete(http.MethodPost, "/v1/seed", nil, true, &response)
}
