Documentation ¶
Overview ¶
Package views provides a set of functions that can be used to create views for models.
Index ¶
- Constants
- func CreateModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
- func DestroyModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
- func IDFromPathParam(paramName string) func(ctx *gin.Context) string
- func IDFromQueryParamIDFunc(ctx *gin.Context) string
- func ListModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
- func RetrieveModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
- func UpdateModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
- func WriteError(ctx *gin.Context, err error)
- type ActionID
- type ExtraAction
- type IDFunc
- type View
- func (v *View) AddMiddleware(m ...gin.HandlerFunc) *View
- func (v *View) Delete(h func(*gin.Context)) *View
- func (v *View) Get(h func(*gin.Context)) *View
- func (v *View) Patch(h func(*gin.Context)) *View
- func (v *View) Post(h func(*gin.Context)) *View
- func (v *View) Put(h func(*gin.Context)) *View
- func (v *View) Register(r *gin.Engine)
- func (v *View) WithRoute(route *ViewRoute) *View
- type ViewRoute
- type ViewSet
- func (v *ViewSet[Model]) OnCreate(modFunc func(c crud.CreateQueryFunc) crud.CreateQueryFunc) *ViewSet[Model]
- func (v *ViewSet[Model]) OnDestroy(modFunc func(d crud.DestroyQueryFunc) crud.DestroyQueryFunc) *ViewSet[Model]
- func (v *ViewSet[Model]) OnUpdate(modFunc func(u crud.UpdateQueryFunc) crud.UpdateQueryFunc) *ViewSet[Model]
- func (v *ViewSet[Model]) Register(r *gin.Engine)
- func (v *ViewSet[Model]) WithActions(actions ...ActionID) *ViewSet[Model]
- func (v *ViewSet[Model]) WithCreate(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
- func (v *ViewSet[Model]) WithCreateSerializer(serializer serializers.Serializer) *ViewSet[Model]
- func (v *ViewSet[Model]) WithDestroy(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
- func (v *ViewSet[Model]) WithDestroySerializer(serializer serializers.Serializer) *ViewSet[Model]
- func (v *ViewSet[Model]) WithExtraAction(action *ExtraAction[Model], serializer serializers.Serializer, isDetail bool) *ViewSet[Model]
- func (v *ViewSet[Model]) WithFieldTypeMapper(fieldTypeMapper *types.FieldTypeMapper) *ViewSet[Model]
- func (v *ViewSet[Model]) WithList(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
- func (v *ViewSet[Model]) WithListSerializer(serializer serializers.Serializer) *ViewSet[Model]
- func (v *ViewSet[Model]) WithRetrieve(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
- func (v *ViewSet[Model]) WithRetrieveSerializer(serializer serializers.Serializer) *ViewSet[Model]
- func (v *ViewSet[Model]) WithSerializer(serializer serializers.Serializer) *ViewSet[Model]
- func (v *ViewSet[Model]) WithUpdate(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
- func (v *ViewSet[Model]) WithUpdateSerializer(serializer serializers.Serializer) *ViewSet[Model]
- type ViewSetAction
- type ViewSetHandlerFactoryFunc
- type ViewSetHandlerFunc
Constants ¶
View Source
const ( ActionCreate = iota ActionUpdate ActionDestroy ActionList ActionRetrieve )
Variables ¶
This section is empty.
Functions ¶
func CreateModelViewSetFunc ¶
func CreateModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
CreateModelFunc is a function that creates a new model
func DestroyModelViewSetFunc ¶
func DestroyModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
func IDFromQueryParamIDFunc ¶
func ListModelViewSetFunc ¶
func ListModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
ListModelFunc is a gin handler function that lists model instances
func RetrieveModelViewSetFunc ¶
func RetrieveModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
func UpdateModelViewSetFunc ¶
func UpdateModelViewSetFunc[Model any](idf IDFunc, qd queries.Driver[Model], serializer serializers.Serializer) gin.HandlerFunc
func WriteError ¶
WriteError checks for common error types and maps them to correct HTTP status codes
Types ¶
type ExtraAction ¶
type ExtraAction[Model any] struct { Method string RelativePath string Handler ViewSetHandlerFunc[Model] }
func NewExtraAction ¶
func NewExtraAction[Model any](method string, relativePath string, handler ViewSetHandlerFunc[Model]) *ExtraAction[Model]
type View ¶
type View struct {
// contains filtered or unexported fields
}
func (*View) AddMiddleware ¶
func (v *View) AddMiddleware(m ...gin.HandlerFunc) *View
type ViewSet ¶
type ViewSet[Model any] struct { Path string IDFunc IDFunc QueryDriver queries.Driver[Model] ListAction *ViewSetAction[Model] CreateAction *ViewSetAction[Model] RetrieveAction *ViewSetAction[Model] UpdateAction *ViewSetAction[Model] DestroyAction *ViewSetAction[Model] DefaultSerializer serializers.Serializer ListCreateView *View RetrieveUpdateDestroyView *View }
func NewModelViewSet ¶
func NewViewSet ¶
func (*ViewSet[Model]) OnCreate ¶
func (v *ViewSet[Model]) OnCreate(modFunc func(c crud.CreateQueryFunc) crud.CreateQueryFunc) *ViewSet[Model]
func (*ViewSet[Model]) OnDestroy ¶
func (v *ViewSet[Model]) OnDestroy(modFunc func(d crud.DestroyQueryFunc) crud.DestroyQueryFunc) *ViewSet[Model]
func (*ViewSet[Model]) OnUpdate ¶
func (v *ViewSet[Model]) OnUpdate(modFunc func(u crud.UpdateQueryFunc) crud.UpdateQueryFunc) *ViewSet[Model]
func (*ViewSet[Model]) WithActions ¶
func (*ViewSet[Model]) WithCreate ¶
func (v *ViewSet[Model]) WithCreate(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
func (*ViewSet[Model]) WithCreateSerializer ¶
func (v *ViewSet[Model]) WithCreateSerializer(serializer serializers.Serializer) *ViewSet[Model]
func (*ViewSet[Model]) WithDestroy ¶
func (v *ViewSet[Model]) WithDestroy(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
func (*ViewSet[Model]) WithDestroySerializer ¶
func (v *ViewSet[Model]) WithDestroySerializer(serializer serializers.Serializer) *ViewSet[Model]
func (*ViewSet[Model]) WithExtraAction ¶
func (v *ViewSet[Model]) WithExtraAction( action *ExtraAction[Model], serializer serializers.Serializer, isDetail bool, ) *ViewSet[Model]
func (*ViewSet[Model]) WithFieldTypeMapper ¶
func (v *ViewSet[Model]) WithFieldTypeMapper(fieldTypeMapper *types.FieldTypeMapper) *ViewSet[Model]
func (*ViewSet[Model]) WithList ¶
func (v *ViewSet[Model]) WithList(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
func (*ViewSet[Model]) WithListSerializer ¶
func (v *ViewSet[Model]) WithListSerializer(serializer serializers.Serializer) *ViewSet[Model]
func (*ViewSet[Model]) WithRetrieve ¶
func (v *ViewSet[Model]) WithRetrieve(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
func (*ViewSet[Model]) WithRetrieveSerializer ¶
func (v *ViewSet[Model]) WithRetrieveSerializer(serializer serializers.Serializer) *ViewSet[Model]
func (*ViewSet[Model]) WithSerializer ¶
func (v *ViewSet[Model]) WithSerializer(serializer serializers.Serializer) *ViewSet[Model]
func (*ViewSet[Model]) WithUpdate ¶
func (v *ViewSet[Model]) WithUpdate(handlerFactoryFunc ViewSetHandlerFactoryFunc[Model]) *ViewSet[Model]
func (*ViewSet[Model]) WithUpdateSerializer ¶
func (v *ViewSet[Model]) WithUpdateSerializer(serializer serializers.Serializer) *ViewSet[Model]
type ViewSetAction ¶
type ViewSetAction[Model any] struct { Path string View *View ViewSetHandlerFactoryFunc ViewSetHandlerFactoryFunc[Model] Serializer serializers.Serializer QueryDriver queries.Driver[Model] }
type ViewSetHandlerFactoryFunc ¶
type ViewSetHandlerFactoryFunc[Model any] ViewSetHandlerFunc[Model]
type ViewSetHandlerFunc ¶
type ViewSetHandlerFunc[Model any] func(IDFunc, queries.Driver[Model], serializers.Serializer) gin.HandlerFunc
Click to show internal directories.
Click to hide internal directories.