1
0
mirror of https://github.com/rancher/norman.git synced 2025-05-31 03:05:07 +00:00
norman/api/handler/create.go

31 lines
592 B
Go
Raw Normal View History

2017-11-21 20:46:30 +00:00
package handler
import (
"net/http"
"github.com/rancher/norman/httperror"
2017-11-21 20:46:30 +00:00
"github.com/rancher/norman/types"
)
2018-01-30 23:49:37 +00:00
func CreateHandler(apiContext *types.APIContext, next types.RequestHandler) error {
2017-11-21 20:46:30 +00:00
var err error
2017-12-12 03:58:43 +00:00
data, err := ParseAndValidateBody(apiContext, true)
2017-11-21 20:46:30 +00:00
if err != nil {
return err
}
store := apiContext.Schema.Store
if store == nil {
return httperror.NewAPIError(httperror.NotFound, "no store found")
}
data, err = store.Create(apiContext, apiContext.Schema, data)
if err != nil {
return err
2017-11-21 20:46:30 +00:00
}
apiContext.WriteResponse(http.StatusCreated, data)
return nil
}