staticfy

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StaticfyStaticsPath   = "./staticfy%s"
	StaticfyConfigYmlPath = "./staticfy/config.yml"
)

Variables

View Source
var MySQLSchema = `` /* 449-byte string literal not displayed */
View Source
var PostgresQLSchema = `` /* 420-byte string literal not displayed */

Functions

This section is empty.

Types

type Assets

type Assets struct {
	ID         int64                 `json:"id" db:"id"`
	URL        string                `json:"url" db:"url"`
	CreatedAt  time.Time             `json:"createdAt" db:"created_at"`
	UpdatedAt  time.Time             `json:"updatedAt" db:"updated_at"`
	UserID     string                `json:"userId,omitempty" db:"user_id"`
	FilePath   string                `json:"-" db:"file_path"`
	Host       string                `json:"-"`
	Directory  string                `json:"-"`
	Path       string                `json:"-"`
	Ext        string                `json:"-"`
	FileHeader *multipart.FileHeader `json:"-"`
}

type Config

type Config struct {
	Staticfy Staticfy `yaml:"staticfy"`
}

Config is a model

type DataSource

type DataSource interface {
	Find(asset Assets) (Assets, error)
	Create(asset Assets) (Assets, error)
	Delete(asset Assets) error
}

DataSource is the interface

func NewMySQLDataSource

func NewMySQLDataSource(sqlX *sqlx.DB) DataSource

NewMySQLDataSource is instance

func NewPqDataSource

func NewPqDataSource(sqlX *sqlx.DB) DataSource

NewPqDataSource is instance

type FileSystem

type FileSystem struct {
	// contains filtered or unexported fields
}

FileSystem custom file system handler

func (FileSystem) Open

func (fs FileSystem) Open(path string) (http.File, error)

Open opens file

type Handler

type Handler interface {
	UploadHandler(static Staticfy) func(w http.ResponseWriter, r *http.Request)
	DeleteHandler(static Staticfy) func(w http.ResponseWriter, r *http.Request)
}

Handler the interface

func NewHandler

func NewHandler(useCase UseCase) Handler

NewHandler is instance

type Repository

type Repository interface {
	CreateFile(asset Assets) (Assets, error)
	DeleteFile(asset Assets) (Assets, error)
}

func NewRepository

func NewRepository(fileX filex.FileX, dataSource DataSource, mySQLSource DataSource) Repository

type Route

type Route struct {
	Path      string   `yaml:"path"`
	Method    string   `yaml:"method"`
	Support   []string `yaml:"support"`
	Directory string   `yaml:"directory"`
}

Route is a model

type Router

type Router interface {
	Register()
}

Router the interface

func NewRouter

func NewRouter(handle Handler) Router

NewRouter is instance

type Staticfy

type Staticfy struct {
	Port      int    `yaml:"port"`
	Host      string `yaml:"host"`
	Directory string `yaml:"directory"`
	Prefix    string `yaml:"prefix"`
	Routes    struct {
		Upload Route `yaml:"upload"`
		Delete Route `yaml:"delete"`
	}
}

Staticfy is a model

type UseCase

type UseCase interface {
	Upload(asset Assets) (Assets, error)
	Delete(asset Assets) (Assets, error)
}

func NewUseCase

func NewUseCase(repo Repository) UseCase

Jump to

Keyboard shortcuts

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