appmanager

package
v0.0.0-beta4 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Other       byte = iota // 其他
	Environment             // 运行环境
	SystemTool              // 系统工具
	Plugin                  // 插件
	ThirdParty              // 第三方
	Suite                   // 套件
)

Variables

This section is empty.

Functions

func SetDefaultManager

func SetDefaultManager(manager Manager)

Types

type AppInfo

type AppInfo struct {
	Name        string // nginx
	Icon        string // base64;
	Provider    string // 官方
	Description string // 轻量级,占有内存少,并发能力强
	Workdir     string // /duckcp/apps/$Name
	AppType     byte   `db:"app_type"` // 分类
}

func NewAppInfo

func NewAppInfo(name string, icon string, provider string, description string, workdir string, appType byte) *AppInfo

type AppManager

type AppManager struct {
	InfoManager
	VersionManager
	StateManager
}

func NewAppManager

func NewAppManager(infoManager InfoManager, versionManager VersionManager, stateManager StateManager) *AppManager

type AppVersion

type AppVersion struct {
	AppName   string `db:"app_name"`
	Version   string
	VersionId int `db:"version_id"`
	Installed int
	LogPath   string `db:"log_path"` // logs
	LogFile   string `db:"log_file"` // $Name.log
}

func NewAppVersion

func NewAppVersion(appName string, version string, versionId int, installed int, logPath string, logFile string) *AppVersion

type InfoManager

type InfoManager interface {
	Add(appInfo *AppInfo) (err error)
	Update(appInfo *AppInfo) (err error)
	Delete(name string) (err error)
	FindAll() (appInfos []*AppInfo, err error)
	FindByType(appType byte) (appInfos []*AppInfo, err error)
	FindByName(name string) (appInfo *AppInfo, err error)
}

type Manager

type Manager interface {
	InfoManager
	VersionManager
	StateManager
}

func GetDefaultManager

func GetDefaultManager() Manager

type RequiredError

type RequiredError struct {
	NotExistApp   []string
	NotInstallApp []string
}

func (*RequiredError) Error

func (c *RequiredError) Error() string

type StateManager

type StateManager interface {
	Installed(appName, version string) (err error)
	Uninstalled(appName, version string) (err error)
}

type VersionManager

type VersionManager interface {
	GetAllVersion(appName string) (appVersions []*AppVersion, err error)
	GetVersion(appName, version string) (appVersion *AppVersion, err error)
	GetVersionById(appName string, versionId int) (appVersion *AppVersion, err error)
	CreateVersion(version *AppVersion) (err error)
	DeleteVersion(appName string, version string) (err error)

	RequireVersion(versionRequired ...*VersionRequired) (err error)
}

type VersionRequired

type VersionRequired struct {
	AppName   string
	Version   string
	VersionId int
}

func NewVersionRequired

func NewVersionRequired(appName string, version string, versionId int) *VersionRequired

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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