mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-01-31 00:38:37 +08:00
73 lines
1.7 KiB
Go
73 lines
1.7 KiB
Go
|
// Package sysin
|
|||
|
// @Link https://github.com/bufanyun/hotgo
|
|||
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
|||
|
// @Author Ms <133814250@qq.com>
|
|||
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
|||
|
package sysin
|
|||
|
|
|||
|
import (
|
|||
|
"context"
|
|||
|
"github.com/gogf/gf/v2/errors/gerror"
|
|||
|
"github.com/gogf/gf/v2/text/gregex"
|
|||
|
"hotgo/internal/library/addons"
|
|||
|
"hotgo/internal/model/input/form"
|
|||
|
)
|
|||
|
|
|||
|
// AddonsListInp 获取列表
|
|||
|
type AddonsListInp struct {
|
|||
|
form.PageReq
|
|||
|
Name string `json:"name"`
|
|||
|
Group int `json:"group"`
|
|||
|
Status int `json:"status"`
|
|||
|
}
|
|||
|
|
|||
|
type AddonsListModel struct {
|
|||
|
addons.Skeleton
|
|||
|
GroupName string `json:"groupName" dc:"分组名称"`
|
|||
|
InstallVersion string `json:"installVersion" dc:"安装版本"`
|
|||
|
InstallStatus int `json:"installStatus" dc:"安装状态"`
|
|||
|
CanSave bool `json:"canSave" dc:"是否可以更新"`
|
|||
|
}
|
|||
|
|
|||
|
// AddonsSelectsInp 选项
|
|||
|
type AddonsSelectsInp struct {
|
|||
|
}
|
|||
|
type AddonsSelectsModel struct {
|
|||
|
GroupType form.Selects `json:"groupType" dc:"分组类型"`
|
|||
|
Status form.Selects `json:"status" dc:"安装状态"`
|
|||
|
}
|
|||
|
|
|||
|
// AddonsBuildInp 提交生成
|
|||
|
type AddonsBuildInp struct {
|
|||
|
addons.Skeleton
|
|||
|
}
|
|||
|
|
|||
|
func (in *AddonsBuildInp) Filter(ctx context.Context) (err error) {
|
|||
|
if in.Name == "" {
|
|||
|
err = gerror.New("插件名称不能为空")
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
if !gregex.IsMatchString(`^[a-zA-Z]{1}\w{1,23}$`, in.Name) {
|
|||
|
err = gerror.New("插件名称格式不正确,字母开头,只能包含字母、数字和下划线,长度在2~24之间")
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// AddonsInstallInp 安装模块
|
|||
|
type AddonsInstallInp struct {
|
|||
|
addons.Skeleton
|
|||
|
}
|
|||
|
|
|||
|
// AddonsUpgradeInp 更新模块
|
|||
|
type AddonsUpgradeInp struct {
|
|||
|
addons.Skeleton
|
|||
|
}
|
|||
|
|
|||
|
// AddonsUnInstallInp 卸载模块
|
|||
|
type AddonsUnInstallInp struct {
|
|||
|
addons.Skeleton
|
|||
|
}
|