adsa-cms: github.com/mmanjoura/adsa-cms/media_library Index | Files | Directories

package media_library

import "github.com/mmanjoura/adsa-cms/media_library"

Index

Package Files

asset_manager.go base.go callback.go filesystem.go handlers.go main.go

func RegisterCallbacks Uses

func RegisterCallbacks(db *gorm.DB)

RegisterCallbacks register callback into GORM DB

func RegisterMediaLibraryHandler Uses

func RegisterMediaLibraryHandler(name string, handler MediaLibraryHandler)

RegisterMediaLibraryHandler register Media library handler

type AssetManager Uses

type AssetManager struct {
    gorm.Model
    File FileSystem `media_library:"URL:/system/assets/{{primary_key}}/{{filename_with_hash}}"`
}

AssetManager defined a asset manager that could be used to manage assets in qor admin

func (*AssetManager) ConfigureQorResource Uses

func (*AssetManager) ConfigureQorResource(res resource.Resourcer)

ConfigureQorResource configure qor locale for Qor Admin

type Base Uses

type Base struct {
    FileName    string
    Url         string
    CropOptions map[string]*CropOption `json:",omitempty"`
    Delete      bool                   `json:",omitempty"`
    Crop        bool                   `json:"-"`
    FileHeader  FileHeader             `json:"-"`
    Reader      io.Reader              `json:"-"`
    // contains filtered or unexported fields
}

Base defined a base struct for storages

func (Base) ConfigureQorMetaBeforeInitialize Uses

func (Base) ConfigureQorMetaBeforeInitialize(meta resource.Metaor)

ConfigureQorMetaBeforeInitialize configure this field for Qor Admin

func (*Base) Cropped Uses

func (b *Base) Cropped(values ...bool) (result bool)

Cropped mark the image to be cropped

func (Base) Ext Uses

func (b Base) Ext() string

func (*Base) GetCropOption Uses

func (b *Base) GetCropOption(name string) *image.Rectangle

GetCropOption get crop options

func (Base) GetFileHeader Uses

func (b Base) GetFileHeader() FileHeader

GetFileHeader get file's header, this value only exists when saving files

func (Base) GetFileName Uses

func (b Base) GetFileName() string

GetFileName get file's name

func (Base) GetSizes Uses

func (b Base) GetSizes() map[string]Size

GetSizes get configured sizes, it will be used to crop images accordingly

func (Base) GetURL Uses

func (b Base) GetURL(option *Option, scope *gorm.Scope, field *gorm.Field, templater URLTemplater) string

GetURL get default URL for a model based on its options

func (Base) GetURLTemplate Uses

func (b Base) GetURLTemplate(option *Option) (path string)

GetURLTemplate get url template

func (Base) IsImage Uses

func (b Base) IsImage() bool

IsImage return if it is an image

func (*Base) NeedCrop Uses

func (b *Base) NeedCrop() bool

NeedCrop return the file needs to be cropped or not

func (Base) Retrieve Uses

func (b Base) Retrieve(url string) (*os.File, error)

Retrieve retrieve file content with url

func (*Base) Scan Uses

func (b *Base) Scan(data interface{}) (err error)

Scan scan files, crop options, db values into struct

func (Base) String Uses

func (b Base) String() string

String return file's url

func (Base) URL Uses

func (b Base) URL(styles ...string) string

URL return file's url with given style

func (Base) Value Uses

func (b Base) Value() (driver.Value, error)

Value return struct's Value

type CropOption Uses

type CropOption struct {
    X, Y, Width, Height int
}

CropOption includes crop options

type FileHeader Uses

type FileHeader interface {
    Open() (multipart.File, error)
}

FileHeader is an interface, for matched values, when call its `Open` method will return `multipart.File`

type FileSystem Uses

type FileSystem struct {
    Base
}

FileSystem defined a media library storage using file system

func (FileSystem) GetFullPath Uses

func (f FileSystem) GetFullPath(url string, option *Option) (path string, err error)

GetFullPath return full file path from a relative file path

func (FileSystem) Retrieve Uses

func (f FileSystem) Retrieve(url string) (*os.File, error)

Retrieve retrieve file content with url

func (FileSystem) Store Uses

func (f FileSystem) Store(name string, option *Option, reader io.Reader) (err error)

Store save reader's context with name

type MediaLibrary Uses

type MediaLibrary interface {
    Scan(value interface{}) error
    Value() (driver.Value, error)

    GetURLTemplate(*Option) string
    GetURL(option *Option, scope *gorm.Scope, field *gorm.Field, templater URLTemplater) string

    GetFileHeader() FileHeader
    GetFileName() string

    GetSizes() map[string]Size
    NeedCrop() bool
    Cropped(values ...bool) bool
    GetCropOption(name string) *image.Rectangle

    Store(url string, option *Option, reader io.Reader) error
    Retrieve(url string) (*os.File, error)

    IsImage() bool

    URL(style ...string) string
    Ext() string
    String() string
}

MediaLibrary is an interface including methods that needs for a media library storage

type MediaLibraryHandler Uses

type MediaLibraryHandler interface {
    CouldHandle(media MediaLibrary) bool
    Handle(media MediaLibrary, file multipart.File, option *Option) error
}

MediaLibraryHandler media library handler interface, defined which files could be handled, and the handler

type Option Uses

type Option map[string]string

Option media library option

func (Option) Get Uses

func (option Option) Get(key string) string

Get used to get option with name

type Size Uses

type Size struct {
    Width  int
    Height int
}

Size is a struct, used for `GetSizes` method, it will return a slice of Size, media library will crop images automatically based on it

type URLTemplater Uses

type URLTemplater interface {
    GetURLTemplate(*Option) string
}

URLTemplater is a interface to return url template

Directories

PathSynopsis
aliyun
aliyun/config
aws
qiniu

Package media_library imports 24 packages (graph) and is imported by 9 packages. Updated 2017-06-20. Refresh now. Tools for package owners.