feat: add gname applicant

This commit is contained in:
Fu Diwei
2025-01-24 03:42:34 +08:00
parent 469d4b35c1
commit 0e1a964e7c
19 changed files with 400 additions and 43 deletions

View File

@@ -5,7 +5,7 @@ type BaseResponse interface {
GetMsg() string
}
type AddDNSRecordRequest struct {
type AddDomainResolutionRequest struct {
ZoneName string `json:"ym"`
RecordType string `json:"lx"`
RecordName string `json:"zj"`
@@ -14,21 +14,21 @@ type AddDNSRecordRequest struct {
TTL int `json:"ttl"`
}
type AddDNSRecordResponse struct {
type AddDomainResolutionResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data int `json:"data"`
}
func (r *AddDNSRecordResponse) GetCode() int {
func (r *AddDomainResolutionResponse) GetCode() int {
return r.Code
}
func (r *AddDNSRecordResponse) GetMsg() string {
func (r *AddDomainResolutionResponse) GetMsg() string {
return r.Msg
}
type EditDNSRecordRequest struct {
type ModifyDomainResolutionRequest struct {
ID string `json:"jxid"`
ZoneName string `json:"ym"`
RecordType string `json:"lx"`
@@ -38,53 +38,53 @@ type EditDNSRecordRequest struct {
TTL int `json:"ttl"`
}
type EditDNSRecordResponse struct {
type ModifyDomainResolutionResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
}
func (r *EditDNSRecordResponse) GetCode() int {
func (r *ModifyDomainResolutionResponse) GetCode() int {
return r.Code
}
func (r *EditDNSRecordResponse) GetMsg() string {
func (r *ModifyDomainResolutionResponse) GetMsg() string {
return r.Msg
}
type DeleteDNSRecordRequest struct {
type DeleteDomainResolutionRequest struct {
ZoneName string `json:"ym"`
RecordId int `json:"jxid"`
RecordID string `json:"jxid"`
}
type DeleteDNSRecordResponse struct {
type DeleteDomainResolutionResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
}
func (r *DeleteDNSRecordResponse) GetCode() int {
func (r *DeleteDomainResolutionResponse) GetCode() int {
return r.Code
}
func (r *DeleteDNSRecordResponse) GetMsg() string {
func (r *DeleteDomainResolutionResponse) GetMsg() string {
return r.Msg
}
type ListDNSRecordRequest struct {
type ListDomainResolutionRequest struct {
ZoneName string `json:"ym"`
Page *int `json:"page,omitempty"`
PageSize *int `json:"limit,omitempty"`
}
type ListDNSRecordResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
Count int `json:"count"`
Data []*DNSRecord `json:"data"`
Page int `json:"page"`
PageSize int `json:"pagesize"`
type ListDomainResolutionResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
Count int `json:"count"`
Data []*ResolutionRecord `json:"data"`
Page int `json:"page"`
PageSize int `json:"pagesize"`
}
type DNSRecord struct {
type ResolutionRecord struct {
ID string `json:"id"`
ZoneName string `json:"ym"`
RecordType string `json:"lx"`
@@ -93,10 +93,10 @@ type DNSRecord struct {
MX int `json:"mx"`
}
func (r *ListDNSRecordResponse) GetCode() int {
func (r *ListDomainResolutionResponse) GetCode() int {
return r.Code
}
func (r *ListDNSRecordResponse) GetMsg() string {
func (r *ListDomainResolutionResponse) GetMsg() string {
return r.Msg
}

View File

@@ -35,12 +35,12 @@ func (c *GnameClient) WithTimeout(timeout time.Duration) *GnameClient {
return c
}
func (c *GnameClient) AddDNSRecord(req *AddDNSRecordRequest) (*AddDNSRecordResponse, error) {
func (c *GnameClient) AddDomainResolution(req *AddDomainResolutionRequest) (*AddDomainResolutionResponse, error) {
params := make(map[string]any)
jsonData, _ := json.Marshal(req)
json.Unmarshal(jsonData, &params)
result := AddDNSRecordResponse{}
result := AddDomainResolutionResponse{}
err := c.sendRequestWithResult("/api/resolution/add", params, &result)
if err != nil {
return nil, err
@@ -48,12 +48,12 @@ func (c *GnameClient) AddDNSRecord(req *AddDNSRecordRequest) (*AddDNSRecordRespo
return &result, nil
}
func (c *GnameClient) EditDNSRecord(req *EditDNSRecordRequest) (*EditDNSRecordResponse, error) {
func (c *GnameClient) ModifyDomainResolution(req *ModifyDomainResolutionRequest) (*ModifyDomainResolutionResponse, error) {
params := make(map[string]any)
jsonData, _ := json.Marshal(req)
json.Unmarshal(jsonData, &params)
result := EditDNSRecordResponse{}
result := ModifyDomainResolutionResponse{}
err := c.sendRequestWithResult("/api/resolution/edit", params, &result)
if err != nil {
return nil, err
@@ -61,12 +61,12 @@ func (c *GnameClient) EditDNSRecord(req *EditDNSRecordRequest) (*EditDNSRecordRe
return &result, nil
}
func (c *GnameClient) DeleteDNSRecord(req *DeleteDNSRecordRequest) (*DeleteDNSRecordResponse, error) {
func (c *GnameClient) DeleteDomainResolution(req *DeleteDomainResolutionRequest) (*DeleteDomainResolutionResponse, error) {
params := make(map[string]any)
jsonData, _ := json.Marshal(req)
json.Unmarshal(jsonData, &params)
result := DeleteDNSRecordResponse{}
result := DeleteDomainResolutionResponse{}
err := c.sendRequestWithResult("/api/resolution/delete", params, &result)
if err != nil {
return nil, err
@@ -74,12 +74,12 @@ func (c *GnameClient) DeleteDNSRecord(req *DeleteDNSRecordRequest) (*DeleteDNSRe
return &result, nil
}
func (c *GnameClient) ListDNSRecord(req *ListDNSRecordRequest) (*ListDNSRecordResponse, error) {
func (c *GnameClient) ListDomainResolution(req *ListDomainResolutionRequest) (*ListDomainResolutionResponse, error) {
params := make(map[string]any)
jsonData, _ := json.Marshal(req)
json.Unmarshal(jsonData, &params)
result := ListDNSRecordResponse{}
result := ListDomainResolutionResponse{}
err := c.sendRequestWithResult("/api/resolution/list", params, &result)
if err != nil {
return nil, err
@@ -124,7 +124,7 @@ func (c *GnameClient) sendRequest(path string, params map[string]any) (*resty.Re
data["gntime"] = fmt.Sprintf("%d", time.Now().Unix())
data["gntoken"] = c.generateSignature(data)
url := "https://api.gname.com" + path
url := "http://api.gname.com" + path
req := c.client.R().
SetHeader("Content-Type", "application/x-www-form-urlencoded").
SetFormData(data)