resource

package
v0.0.0-...-e194c0f Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2016 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrProcessorRecordNotFound = errors.New("resource: record not found")
	ErrProcessorSkipLeft       = errors.New("resource: skip left")
)

Functions

func Decode

func Decode(context *qor.Context, result interface{}, res Resourcer) error

func DecodeToResource

func DecodeToResource(res Resourcer, result interface{}, metaValues *MetaValues, context *qor.Context) *processor

Types

type ConfigureMetaBeforeInitializeInterface

type ConfigureMetaBeforeInitializeInterface interface {
	ConfigureQorMetaBeforeInitialize(Metaor)
}

ConfigureMetaorBeforeInitializeInterface if a struct's field's type implemented this interface, it will be called when initializing a meta

type ConfigureMetaInterface

type ConfigureMetaInterface interface {
	ConfigureQorMeta(Metaor)
}

ConfigureMetaorInterface if a struct's field's type implemented this interface, it will be called after configed

type ConfigureResourceBeforeInitializeInterface

type ConfigureResourceBeforeInitializeInterface interface {
	ConfigureQorResourceBeforeInitialize(Resourcer)
}

ConfigureResourcerBeforeInitializeInterface if a struct implemented this interface, it will be called before everything when create a resource with the struct

type ConfigureResourceInterface

type ConfigureResourceInterface interface {
	ConfigureQorResource(Resourcer)
}

ConfigureResourcerInterface if a struct implemented this interface, it will be called after configured by user

type Meta

type Meta struct {
	Name            string
	FieldName       string
	Setter          func(resource interface{}, metaValue *MetaValue, context *qor.Context)
	Valuer          func(interface{}, *qor.Context) interface{}
	FormattedValuer func(interface{}, *qor.Context) interface{}
	Permission      *roles.Permission
	Resource        Resourcer
	FieldStruct     *gorm.StructField
}

func (Meta) GetBaseResource

func (meta Meta) GetBaseResource() Resourcer

func (Meta) GetFieldName

func (meta Meta) GetFieldName() string

func (*Meta) GetFormattedValuer

func (meta *Meta) GetFormattedValuer() func(interface{}, *qor.Context) interface{}

func (Meta) GetName

func (meta Meta) GetName() string

func (Meta) GetSetter

func (meta Meta) GetSetter() func(resource interface{}, metaValue *MetaValue, context *qor.Context)

func (Meta) GetValuer

func (meta Meta) GetValuer() func(interface{}, *qor.Context) interface{}

func (Meta) HasPermission

func (meta Meta) HasPermission(mode roles.PermissionMode, context *qor.Context) bool

func (*Meta) Initialize

func (meta *Meta) Initialize() error

func (*Meta) PreInitialize

func (meta *Meta) PreInitialize() error

func (*Meta) SetFieldName

func (meta *Meta) SetFieldName(name string)

func (*Meta) SetFormattedValuer

func (meta *Meta) SetFormattedValuer(fc func(interface{}, *qor.Context) interface{})

func (*Meta) SetPermission

func (meta *Meta) SetPermission(permission *roles.Permission)

func (*Meta) SetSetter

func (meta *Meta) SetSetter(fc func(resource interface{}, metaValue *MetaValue, context *qor.Context))

func (*Meta) SetValuer

func (meta *Meta) SetValuer(fc func(interface{}, *qor.Context) interface{})

type MetaValue

type MetaValue struct {
	Name       string
	Value      interface{}
	MetaValues *MetaValues
	Meta       Metaor
	// contains filtered or unexported fields
}

type MetaValues

type MetaValues struct {
	Values []*MetaValue
}

func ConvertFormToMetaValues

func ConvertFormToMetaValues(request *http.Request, metaors []Metaor, prefix string) (*MetaValues, error)

func ConvertJSONToMetaValues

func ConvertJSONToMetaValues(reader io.Reader, metaors []Metaor) (*MetaValues, error)

func (MetaValues) Get

func (mvs MetaValues) Get(name string) *MetaValue

type Metaor

type Metaor interface {
	GetName() string
	GetFieldName() string
	GetSetter() func(resource interface{}, metaValue *MetaValue, context *qor.Context)
	GetFormattedValuer() func(interface{}, *qor.Context) interface{}
	GetValuer() func(interface{}, *qor.Context) interface{}
	GetResource() Resourcer
	GetMetas() []Metaor
	HasPermission(roles.PermissionMode, *qor.Context) bool
}

type Resource

type Resource struct {
	Name            string
	Value           interface{}
	FindManyHandler func(interface{}, *qor.Context) error
	FindOneHandler  func(interface{}, *MetaValues, *qor.Context) error
	SaveHandler     func(interface{}, *qor.Context) error
	DeleteHandler   func(interface{}, *qor.Context) error
	Permission      *roles.Permission
	// contains filtered or unexported fields
}

func New

func New(value interface{}) *Resource

func (*Resource) AddProcessor

func (res *Resource) AddProcessor(fc func(interface{}, *MetaValues, *qor.Context) error)

func (*Resource) AddValidator

func (res *Resource) AddValidator(fc func(interface{}, *MetaValues, *qor.Context) error)

func (*Resource) CallDelete

func (res *Resource) CallDelete(result interface{}, context *qor.Context) error

func (*Resource) CallFindMany

func (res *Resource) CallFindMany(result interface{}, context *qor.Context) error

func (*Resource) CallFindOne

func (res *Resource) CallFindOne(result interface{}, metaValues *MetaValues, context *qor.Context) error

func (*Resource) CallSave

func (res *Resource) CallSave(result interface{}, context *qor.Context) error

func (*Resource) GetMetas

func (res *Resource) GetMetas([]string) []Metaor

func (*Resource) GetResource

func (res *Resource) GetResource() *Resource

func (*Resource) HasPermission

func (res *Resource) HasPermission(mode roles.PermissionMode, context *qor.Context) bool

func (*Resource) NewSlice

func (res *Resource) NewSlice() interface{}

func (*Resource) NewStruct

func (res *Resource) NewStruct() interface{}

func (*Resource) PrimaryDBName

func (res *Resource) PrimaryDBName() (name string)

PrimaryDBName return db column name of the resource's primary field

func (*Resource) PrimaryField

func (res *Resource) PrimaryField() *gorm.Field

PrimaryField return gorm's primary field

func (*Resource) PrimaryFieldName

func (res *Resource) PrimaryFieldName() (name string)

PrimaryFieldName return struct column name of the resource's primary field

type Resourcer

type Resourcer interface {
	GetResource() *Resource
	GetMetas([]string) []Metaor
	CallFindMany(interface{}, *qor.Context) error
	CallFindOne(interface{}, *MetaValues, *qor.Context) error
	CallSave(interface{}, *qor.Context) error
	CallDelete(interface{}, *qor.Context) error
	NewSlice() interface{}
	NewStruct() interface{}
}

Jump to

Keyboard shortcuts

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