Documentation
¶
Overview ¶
Package resource automates CRUD via resource controllers.
Index ¶
- func PathID(req *http.Request, pathID string) (string, error)
- type ExtendedResource
- func (e *ExtendedResource) Apply(resp http.ResponseWriter, req *http.Request)
- func (e *ExtendedResource) Destroy(resp http.ResponseWriter, req *http.Request)
- func (e *ExtendedResource) Index(resp http.ResponseWriter, req *http.Request)
- func (e *ExtendedResource) Show(resp http.ResponseWriter, req *http.Request)
- func (e *ExtendedResource) Store(resp http.ResponseWriter, req *http.Request)
- func (e *ExtendedResource) Update(resp http.ResponseWriter, req *http.Request)
- type Resource
- func (r *Resource) Apply(resp http.ResponseWriter, req *http.Request)
- func (r *Resource) Destroy(resp http.ResponseWriter, req *http.Request)
- func (r *Resource) Extend(m blueprint.Model, optID ...func(req *http.Request) (string, error)) *ExtendedResource
- func (r *Resource) Index(resp http.ResponseWriter, req *http.Request)
- func (r *Resource) Show(resp http.ResponseWriter, req *http.Request)
- func (r *Resource) Store(resp http.ResponseWriter, req *http.Request)
- func (r *Resource) Update(resp http.ResponseWriter, req *http.Request)
- type Resourcer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ExtendedResource ¶
type ExtendedResource struct { ID func(req *http.Request) (string, error) // contains filtered or unexported fields }
ExtendedResource represents a resource controller with CRUD operations.
func (*ExtendedResource) Apply ¶
func (e *ExtendedResource) Apply(resp http.ResponseWriter, req *http.Request)
Apply is a PATCH request for updating a single item.
func (*ExtendedResource) Destroy ¶
func (e *ExtendedResource) Destroy(resp http.ResponseWriter, req *http.Request)
Destroy is a DELETE request for deleting a single item.
func (*ExtendedResource) Index ¶
func (e *ExtendedResource) Index(resp http.ResponseWriter, req *http.Request)
Index is a GET request for returning a list of items.
func (*ExtendedResource) Show ¶
func (e *ExtendedResource) Show(resp http.ResponseWriter, req *http.Request)
Show is a GET request for showing an item.
func (*ExtendedResource) Store ¶
func (e *ExtendedResource) Store(resp http.ResponseWriter, req *http.Request)
Store is a POST request for creating a new item.
func (*ExtendedResource) Update ¶
func (e *ExtendedResource) Update(resp http.ResponseWriter, req *http.Request)
Update is a PUT request for replacing a single item.
type Resource ¶
type Resource struct { ID func(req *http.Request) (string, error) // contains filtered or unexported fields }
Resource describes a resource controller.
func New ¶
New takes a model and returns a new Resource.
It also takes an optional func to get an ID from request. This is useful for '/user' routes based on session identification.
func (*Resource) Apply ¶
func (r *Resource) Apply(resp http.ResponseWriter, req *http.Request)
Apply is a PATCH request for updating a single item.
func (*Resource) Destroy ¶
func (r *Resource) Destroy(resp http.ResponseWriter, req *http.Request)
Destroy is a DELETE request for deleting a single item.
func (*Resource) Extend ¶
func (r *Resource) Extend(m blueprint.Model, optID ...func(req *http.Request) (string, error)) *ExtendedResource
Extend extends a base resource.
Optional way to get an ID from request. This is useful for '/user' routes based on session identification.
func (*Resource) Index ¶
func (r *Resource) Index(resp http.ResponseWriter, req *http.Request)
Index is a GET request for returning a list of items.
func (*Resource) Show ¶
func (r *Resource) Show(resp http.ResponseWriter, req *http.Request)
Show is a GET request for displaying a single item.
type Resourcer ¶
type Resourcer interface { Index(resp http.ResponseWriter, req *http.Request) Show(resp http.ResponseWriter, req *http.Request) Store(resp http.ResponseWriter, req *http.Request) Update(resp http.ResponseWriter, req *http.Request) Apply(resp http.ResponseWriter, req *http.Request) Destroy(resp http.ResponseWriter, req *http.Request) }
Resourcer represents a resource controller and its action methods.