feat: file list shows full package files, desktop shortcut per-file setting
This commit is contained in:
@@ -227,8 +227,8 @@ type Version struct {
|
||||
FileSize int64 `json:"file_size"`
|
||||
FileHash string `gorm:"size:64" json:"file_hash"`
|
||||
EntryFile string `gorm:"size:255" json:"entry_file"`
|
||||
EntryFiles string `gorm:"type:text" json:"entry_files"` // JSON数组,多入口文件
|
||||
CreateDesktopShortcut bool `gorm:"default:false" json:"create_desktop_shortcut"` // 是否创建桌面快捷方式
|
||||
EntryFiles string `gorm:"type:text" json:"entry_files"` // JSON数组,可启动的入口文件
|
||||
DesktopShortcutFiles string `gorm:"type:text" json:"desktop_shortcut_files"` // JSON数组,需要创建桌面快捷方式的文件
|
||||
CreateStartMenu bool `gorm:"default:false" json:"create_start_menu"` // 是否创建开始菜单
|
||||
AutoRun bool `gorm:"default:false" json:"auto_run"` // 是否自动运行
|
||||
DefaultInstallDir string `gorm:"size:500" json:"default_install_dir"` // 默认安装目录
|
||||
|
||||
@@ -249,36 +249,45 @@ func handleGetVersionByID(c *gin.Context) {
|
||||
"changelog": version.Changelog,
|
||||
"status": version.PublishStatus,
|
||||
"publish_status": version.PublishStatus,
|
||||
"superseded_by": version.SupersededBy,
|
||||
"published_at": version.PublishedAt,
|
||||
"deprecated_at": version.DeprecatedAt,
|
||||
"base_version_id": version.BaseVersionID,
|
||||
"files": version.Files,
|
||||
"created_at": version.CreatedAt,
|
||||
"updated_at": version.UpdatedAt,
|
||||
"superseded_by": version.SupersededBy,
|
||||
"published_at": version.PublishedAt,
|
||||
"deprecated_at": version.DeprecatedAt,
|
||||
"base_version_id": version.BaseVersionID,
|
||||
"entry_file": version.EntryFile,
|
||||
"entry_files": version.EntryFiles,
|
||||
"desktop_shortcut_files": version.DesktopShortcutFiles,
|
||||
"create_start_menu": version.CreateStartMenu,
|
||||
"auto_run": version.AutoRun,
|
||||
"default_install_dir": version.DefaultInstallDir,
|
||||
"full_package_path": version.FullPackagePath,
|
||||
"full_package_size": version.FullPackageSize,
|
||||
"full_package_hash": version.FullPackageHash,
|
||||
"files": version.Files,
|
||||
"created_at": version.CreatedAt,
|
||||
"updated_at": version.UpdatedAt,
|
||||
})
|
||||
}
|
||||
|
||||
type CreateVersionRequest struct {
|
||||
ApplicationID uint `json:"application_id"`
|
||||
Version string `json:"version"`
|
||||
FilePath string `json:"file_path"`
|
||||
FileSize int64 `json:"file_size"`
|
||||
FileHash string `json:"file_hash"`
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
CreateDesktopShortcut bool `json:"create_desktop_shortcut"`
|
||||
CreateStartMenu bool `json:"create_start_menu"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
UpdateMethod string `json:"update_method"`
|
||||
CustomDownloadURL string `json:"custom_download_url"`
|
||||
Description string `json:"description"`
|
||||
Changelog string `json:"changelog"`
|
||||
BaseVersionID *uint `json:"base_version_id"`
|
||||
Files []VersionFileInput `json:"files"`
|
||||
ApplicationID uint `json:"application_id"`
|
||||
Version string `json:"version"`
|
||||
FilePath string `json:"file_path"`
|
||||
FileSize int64 `json:"file_size"`
|
||||
FileHash string `json:"file_hash"`
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||
CreateStartMenu bool `json:"create_start_menu"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
UpdateMethod string `json:"update_method"`
|
||||
CustomDownloadURL string `json:"custom_download_url"`
|
||||
Description string `json:"description"`
|
||||
Changelog string `json:"changelog"`
|
||||
BaseVersionID *uint `json:"base_version_id"`
|
||||
Files []VersionFileInput `json:"files"`
|
||||
}
|
||||
|
||||
type VersionFileInput struct {
|
||||
@@ -317,24 +326,24 @@ func handleCreateVersionGlobal(c *gin.Context) {
|
||||
}
|
||||
|
||||
version := model.Version{
|
||||
ApplicationID: req.ApplicationID,
|
||||
Version: req.Version,
|
||||
FilePath: req.FilePath,
|
||||
FileSize: req.FileSize,
|
||||
FileHash: req.FileHash,
|
||||
EntryFile: req.EntryFile,
|
||||
EntryFiles: req.EntryFiles,
|
||||
CreateDesktopShortcut: req.CreateDesktopShortcut,
|
||||
CreateStartMenu: req.CreateStartMenu,
|
||||
AutoRun: req.AutoRun,
|
||||
DefaultInstallDir: req.DefaultInstallDir,
|
||||
UpdateStrategy: req.UpdateStrategy,
|
||||
UpdateType: req.UpdateType,
|
||||
UpdateMethod: req.UpdateMethod,
|
||||
CustomDownloadURL: req.CustomDownloadURL,
|
||||
Description: req.Description,
|
||||
Changelog: req.Changelog,
|
||||
PublishStatus: "draft",
|
||||
ApplicationID: req.ApplicationID,
|
||||
Version: req.Version,
|
||||
FilePath: req.FilePath,
|
||||
FileSize: req.FileSize,
|
||||
FileHash: req.FileHash,
|
||||
EntryFile: req.EntryFile,
|
||||
EntryFiles: req.EntryFiles,
|
||||
DesktopShortcutFiles: req.DesktopShortcutFiles,
|
||||
CreateStartMenu: req.CreateStartMenu,
|
||||
AutoRun: req.AutoRun,
|
||||
DefaultInstallDir: req.DefaultInstallDir,
|
||||
UpdateStrategy: req.UpdateStrategy,
|
||||
UpdateType: req.UpdateType,
|
||||
UpdateMethod: req.UpdateMethod,
|
||||
CustomDownloadURL: req.CustomDownloadURL,
|
||||
Description: req.Description,
|
||||
Changelog: req.Changelog,
|
||||
PublishStatus: "draft",
|
||||
}
|
||||
|
||||
if version.UpdateStrategy == "" {
|
||||
@@ -465,24 +474,24 @@ func handleCreateVersionGlobal(c *gin.Context) {
|
||||
}
|
||||
|
||||
type UpdateVersionRequest struct {
|
||||
Version string `json:"version"`
|
||||
FilePath string `json:"file_path"`
|
||||
FileSize int64 `json:"file_size"`
|
||||
FileHash string `json:"file_hash"`
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
CreateDesktopShortcut bool `json:"create_desktop_shortcut"`
|
||||
CreateStartMenu bool `json:"create_start_menu"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
UpdateMethod string `json:"update_method"`
|
||||
CustomDownloadURL string `json:"custom_download_url"`
|
||||
Description string `json:"description"`
|
||||
Changelog string `json:"changelog"`
|
||||
BaseVersionID *uint `json:"base_version_id"`
|
||||
Files []VersionFileInput `json:"files"`
|
||||
Version string `json:"version"`
|
||||
FilePath string `json:"file_path"`
|
||||
FileSize int64 `json:"file_size"`
|
||||
FileHash string `json:"file_hash"`
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||
CreateStartMenu bool `json:"create_start_menu"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
UpdateMethod string `json:"update_method"`
|
||||
CustomDownloadURL string `json:"custom_download_url"`
|
||||
Description string `json:"description"`
|
||||
Changelog string `json:"changelog"`
|
||||
BaseVersionID *uint `json:"base_version_id"`
|
||||
Files []VersionFileInput `json:"files"`
|
||||
}
|
||||
|
||||
func handleUpdateVersionGlobal(c *gin.Context) {
|
||||
@@ -541,7 +550,7 @@ func handleUpdateVersionGlobal(c *gin.Context) {
|
||||
}
|
||||
updates["entry_file"] = req.EntryFile
|
||||
updates["entry_files"] = req.EntryFiles
|
||||
updates["create_desktop_shortcut"] = req.CreateDesktopShortcut
|
||||
updates["desktop_shortcut_files"] = req.DesktopShortcutFiles
|
||||
updates["create_start_menu"] = req.CreateStartMenu
|
||||
updates["auto_run"] = req.AutoRun
|
||||
updates["default_install_dir"] = req.DefaultInstallDir
|
||||
|
||||
@@ -121,7 +121,7 @@ func handleAppCheckUpdate(c *gin.Context) {
|
||||
"file_hash": downloadHash,
|
||||
"entry_file": latestVersion.EntryFile,
|
||||
"entry_files": latestVersion.EntryFiles,
|
||||
"create_desktop_shortcut": latestVersion.CreateDesktopShortcut,
|
||||
"desktop_shortcut_files": latestVersion.DesktopShortcutFiles,
|
||||
"create_start_menu": latestVersion.CreateStartMenu,
|
||||
"auto_run": latestVersion.AutoRun,
|
||||
"default_install_dir": latestVersion.DefaultInstallDir,
|
||||
@@ -263,10 +263,10 @@ func handleAppCheckUpdate(c *gin.Context) {
|
||||
"file_hash": downloadHash,
|
||||
"entry_file": latestVersion.EntryFile,
|
||||
"entry_files": latestVersion.EntryFiles,
|
||||
"create_desktop_shortcut": latestVersion.CreateDesktopShortcut,
|
||||
"create_start_menu": latestVersion.CreateStartMenu,
|
||||
"auto_run": latestVersion.AutoRun,
|
||||
"default_install_dir": latestVersion.DefaultInstallDir,
|
||||
"desktop_shortcut_files": latestVersion.DesktopShortcutFiles,
|
||||
"create_start_menu": latestVersion.CreateStartMenu,
|
||||
"auto_run": latestVersion.AutoRun,
|
||||
"default_install_dir": latestVersion.DefaultInstallDir,
|
||||
"update_notes": latestVersion.Description,
|
||||
"update_strategy": updateStrategy,
|
||||
"update_type": latestVersion.UpdateType,
|
||||
|
||||
Reference in New Issue
Block a user