|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"github.com/1Panel-dev/1Panel/backend/constant"
|
|
|
|
"path"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type WebsiteSSL struct {
|
|
|
|
BaseModel
|
|
|
|
PrimaryDomain string `gorm:"type:varchar(256);not null" json:"primaryDomain"`
|
|
|
|
PrivateKey string `gorm:"type:longtext;not null" json:"privateKey"`
|
|
|
|
Pem string `gorm:"type:longtext;not null" json:"pem"`
|
|
|
|
Domains string `gorm:"type:varchar(256);not null" json:"domains"`
|
|
|
|
CertURL string `gorm:"type:varchar(256);not null" json:"certURL"`
|
|
|
|
Type string `gorm:"type:varchar(64);not null" json:"type"`
|
|
|
|
Provider string `gorm:"type:varchar(64);not null" json:"provider"`
|
|
|
|
Organization string `gorm:"type:varchar(64);not null" json:"organization"`
|
|
|
|
DnsAccountID uint `gorm:"type:integer;not null" json:"dnsAccountId"`
|
|
|
|
AcmeAccountID uint `gorm:"type:integer;not null" json:"acmeAccountId"`
|
|
|
|
AutoRenew bool `gorm:"type:varchar(64);not null" json:"autoRenew"`
|
|
|
|
ExpireDate time.Time `json:"expireDate"`
|
|
|
|
StartDate time.Time `json:"startDate"`
|
|
|
|
Status string `gorm:"not null;default:ready" json:"status"`
|
|
|
|
Message string `json:"message"`
|
|
|
|
KeyType string `gorm:"not null;default:2048" json:"keyType"`
|
|
|
|
|
|
|
|
AcmeAccount WebsiteAcmeAccount `json:"acmeAccount" gorm:"-:migration"`
|
|
|
|
Websites []Website `json:"websites" gorm:"-:migration"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w WebsiteSSL) TableName() string {
|
|
|
|
return "website_ssls"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w WebsiteSSL) GetLogPath() string {
|
|
|
|
return path.Join(constant.SSLLogDir, fmt.Sprintf("%s-ssl-%d.log", w.PrimaryDomain, w.ID))
|
|
|
|
}
|