mirror of
				https://github.com/1Panel-dev/1Panel.git
				synced 2025-11-01 03:37:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package model
 | |
| 
 | |
| import (
 | |
| 	"path"
 | |
| 	"strings"
 | |
| 
 | |
| 	"github.com/1Panel-dev/1Panel/agent/constant"
 | |
| 	"github.com/1Panel-dev/1Panel/agent/global"
 | |
| )
 | |
| 
 | |
| type AppInstall struct {
 | |
| 	BaseModel
 | |
| 	Name          string `json:"name" gorm:"not null;UNIQUE"`
 | |
| 	AppId         uint   `json:"appId" gorm:"not null"`
 | |
| 	AppDetailId   uint   `json:"appDetailId" gorm:"not null"`
 | |
| 	Version       string `json:"version" gorm:"not null"`
 | |
| 	Param         string `json:"param"`
 | |
| 	Env           string `json:"env"`
 | |
| 	DockerCompose string `json:"dockerCompose" `
 | |
| 	Status        string `json:"status" gorm:"not null"`
 | |
| 	Description   string `json:"description"`
 | |
| 	Message       string `json:"message"`
 | |
| 	ContainerName string `json:"containerName" gorm:"not null"`
 | |
| 	ServiceName   string `json:"serviceName" gorm:"not null"`
 | |
| 	HttpPort      int    `json:"httpPort"`
 | |
| 	HttpsPort     int    `json:"httpsPort"`
 | |
| 	WebUI         string `json:"webUI"`
 | |
| 	Favorite      bool   `json:"favorite"`
 | |
| 
 | |
| 	App App `json:"app" gorm:"-:migration"`
 | |
| }
 | |
| 
 | |
| func (i *AppInstall) GetPath() string {
 | |
| 	return path.Join(i.GetAppPath(), i.Name)
 | |
| }
 | |
| 
 | |
| func (i *AppInstall) GetComposePath() string {
 | |
| 	return path.Join(i.GetAppPath(), i.Name, "docker-compose.yml")
 | |
| }
 | |
| 
 | |
| func (i *AppInstall) GetEnvPath() string {
 | |
| 	return path.Join(i.GetAppPath(), i.Name, ".env")
 | |
| }
 | |
| 
 | |
| func (i *AppInstall) GetAppPath() string {
 | |
| 	if i.App.Resource == constant.AppResourceLocal {
 | |
| 		return path.Join(global.Dir.LocalAppInstallDir, strings.TrimPrefix(i.App.Key, constant.AppResourceLocal))
 | |
| 	} else {
 | |
| 		return path.Join(global.Dir.AppInstallDir, i.App.Key)
 | |
| 	}
 | |
| }
 |