| 12345678910111213141516171819202122232425262728293031323334353637383940 | package certimport (	"github.com/0xJacky/Nginx-UI/internal/helper"	"github.com/0xJacky/Nginx-UI/internal/logger"	"github.com/0xJacky/Nginx-UI/model"	"github.com/0xJacky/Nginx-UI/query"	"github.com/go-acme/lego/v4/certcrypto"	"time")type ConfigPayload struct {	ServerName      []string                   `json:"server_name"`	ChallengeMethod string                     `json:"challenge_method"`	DNSCredentialID int                        `json:"dns_credential_id"`	ACMEUserID      int                        `json:"acme_user_id"`	KeyType         certcrypto.KeyType         `json:"key_type"`	Resource        *model.CertificateResource `json:"resource,omitempty"`	NotBefore       time.Time}func (c *ConfigPayload) GetACMEUser() (user *model.AcmeUser, err error) {	u := query.AcmeUser	// if acme_user_id == 0, use default user	if c.ACMEUserID == 0 {		return GetDefaultACMEUser()	}	// use the acme_user_id to get the acme user	user, err = u.Where(u.ID.Eq(c.ACMEUserID)).First()	// if acme_user not exist, use default user	if err != nil {		logger.Error(err)		return GetDefaultACMEUser()	}	return}func (c *ConfigPayload) GetKeyType() certcrypto.KeyType {	return helper.GetKeyType(c.KeyType)}
 |