Commit
This commit is contained in:
74
internal/app/safeLineApi/Cert.go
Normal file
74
internal/app/safeLineApi/Cert.go
Normal file
@ -0,0 +1,74 @@
|
||||
package safeLineApi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
)
|
||||
|
||||
type UpsertReq struct {
|
||||
Acme struct {
|
||||
Domains []string `json:"domains"`
|
||||
Email string `json:"email"`
|
||||
} `json:"acme"`
|
||||
Id int `json:"id"`
|
||||
Manual struct {
|
||||
Crt string `json:"crt"`
|
||||
Key string `json:"key"`
|
||||
} `json:"manual"`
|
||||
Type int `json:"type"`
|
||||
}
|
||||
|
||||
func (upsertReq *UpsertReq) Create(domains []string, email, dir string, id, Type int) {
|
||||
certificate, _ := os.ReadFile(filepath.Join(dir, domains[0]+".crt"))
|
||||
privateKey, _ := os.ReadFile(filepath.Join(dir, domains[0]+".key"))
|
||||
upsertReq.Acme.Domains = domains
|
||||
upsertReq.Acme.Email = email
|
||||
upsertReq.Manual.Crt = string(certificate)
|
||||
upsertReq.Manual.Key = string(privateKey)
|
||||
upsertReq.Id = id
|
||||
upsertReq.Type = Type
|
||||
}
|
||||
|
||||
func (upsertReq *UpsertReq) Marshal() []byte {
|
||||
data, _ := json.Marshal(upsertReq)
|
||||
return data
|
||||
}
|
||||
|
||||
type UpsertResp struct {
|
||||
Data int `json:"data"`
|
||||
Err interface{} `json:"err"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
func (upsertResp *UpsertResp) Unmarshal(data []byte) {
|
||||
_ = json.Unmarshal(data, &upsertResp)
|
||||
}
|
||||
|
||||
type ListResp struct {
|
||||
Data struct {
|
||||
Nodes `json:"nodes"`
|
||||
Total int `json:"total"`
|
||||
} `json:"data"`
|
||||
Err string `json:"err"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
type Nodes []struct {
|
||||
Id int `json:"id"`
|
||||
Domains []string `json:"domains"`
|
||||
Issuer string `json:"issuer"`
|
||||
SelfSignature bool `json:"self_signature"`
|
||||
Trusted bool `json:"trusted"`
|
||||
Revoked bool `json:"revoked"`
|
||||
Expired bool `json:"expired"`
|
||||
Type int `json:"type"`
|
||||
AcmeMessage string `json:"acme_message"`
|
||||
ValidBefore time.Time `json:"valid_before"`
|
||||
RelatedSites []string `json:"related_sites"`
|
||||
}
|
||||
|
||||
func (listResp *ListResp) Unmarshal(data []byte) {
|
||||
_ = json.Unmarshal(data, &listResp)
|
||||
}
|
Reference in New Issue
Block a user