resource

package
v0.0.0-...-f7b13be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package resource automates CRUD via resource controllers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PathID

func PathID(req *http.Request, pathID string) (string, error)

PathID finds an id in a request url.

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

func New(m model.Model, optID ...func(req *http.Request) (string, error)) *Resource

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.

func (*Resource) Store

func (r *Resource) Store(resp http.ResponseWriter, req *http.Request)

Store is a POST request for creating a new item.

func (*Resource) Update

func (r *Resource) Update(resp http.ResponseWriter, req *http.Request)

Update is a PUT request for replacing 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL