mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
52 lines
1.9 KiB
Go
52 lines
1.9 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type TLSCertificate struct {
|
|
ID uint `json:"id" gorm:"primaryKey"`
|
|
Name string `json:"name" gorm:"uniqueIndex;size:255;not null"`
|
|
CertPEM string `json:"-" gorm:"type:text;not null"`
|
|
KeyPEM string `json:"-" gorm:"type:text;not null"`
|
|
NotBefore time.Time `json:"not_before"`
|
|
NotAfter time.Time `json:"not_after"`
|
|
Remark string `json:"remark" gorm:"size:255"`
|
|
Provider string `json:"provider" gorm:"size:64;default:'upload'"` // upload, acme
|
|
AcmeAccountID uint `json:"acme_account_id"`
|
|
DnsAccountID uint `json:"dns_account_id"`
|
|
KeyAlgorithm string `json:"key_algorithm" gorm:"size:32"`
|
|
AutoRenew bool `json:"auto_renew"`
|
|
PrimaryDomain string `json:"primary_domain" gorm:"size:255"`
|
|
OtherDomains string `json:"other_domains" gorm:"type:text"`
|
|
DisableCNAME bool `json:"disable_cname"`
|
|
SkipDNS bool `json:"skip_dns"`
|
|
DNS1 string `json:"dns1" gorm:"size:128"`
|
|
DNS2 string `json:"dns2" gorm:"size:128"`
|
|
ApplyStatus string `json:"apply_status" gorm:"size:64;default:'ready'"`
|
|
ApplyMessage string `json:"apply_message" gorm:"type:text"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func ListTLSCertificates() (certificates []*TLSCertificate, err error) {
|
|
err = DB.Order("id desc").Find(&certificates).Error
|
|
return certificates, err
|
|
}
|
|
|
|
func GetTLSCertificateByID(id uint) (*TLSCertificate, error) {
|
|
certificate := &TLSCertificate{}
|
|
err := DB.First(certificate, id).Error
|
|
return certificate, err
|
|
}
|
|
|
|
func (certificate *TLSCertificate) Insert() error {
|
|
return DB.Create(certificate).Error
|
|
}
|
|
|
|
func (certificate *TLSCertificate) Update() error {
|
|
return DB.Save(certificate).Error
|
|
}
|
|
|
|
func (certificate *TLSCertificate) Delete() error {
|
|
return DB.Delete(certificate).Error
|
|
}
|