Skip to content

Commit b2e6d73

Browse files
authored
feat(domain): add status to contact message (#1988)
1 parent 5c9c710 commit b2e6d73

File tree

1 file changed

+51
-2
lines changed

1 file changed

+51
-2
lines changed

api/domain/v2beta1/domain_sdk.go

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,40 @@ func (enum *ContactLegalForm) UnmarshalJSON(data []byte) error {
226226
return nil
227227
}
228228

229+
type ContactStatus string
230+
231+
const (
232+
// If unspecified, the status is unknown by default.
233+
ContactStatusStatusUnknown = ContactStatus("status_unknown")
234+
// The contact is active and can be edited.
235+
ContactStatusActive = ContactStatus("active")
236+
// The contact is temporarily locked (ie. while being edited).
237+
ContactStatusPending = ContactStatus("pending")
238+
)
239+
240+
func (enum ContactStatus) String() string {
241+
if enum == "" {
242+
// return default value if empty
243+
return "status_unknown"
244+
}
245+
return string(enum)
246+
}
247+
248+
func (enum ContactStatus) MarshalJSON() ([]byte, error) {
249+
return []byte(fmt.Sprintf(`"%s"`, enum)), nil
250+
}
251+
252+
func (enum *ContactStatus) UnmarshalJSON(data []byte) error {
253+
tmp := ""
254+
255+
if err := json.Unmarshal(data, &tmp); err != nil {
256+
return err
257+
}
258+
259+
*enum = ContactStatus(ContactStatus(tmp).String())
260+
return nil
261+
}
262+
229263
type DNSZoneStatus string
230264

231265
const (
@@ -1428,6 +1462,9 @@ type Contact struct {
14281462
State string `json:"state"`
14291463

14301464
ExtensionNl *ContactExtensionNL `json:"extension_nl"`
1465+
1466+
// Status: default value: status_unknown
1467+
Status ContactStatus `json:"status"`
14311468
}
14321469

14331470
// ContactRolesRoles: contact roles roles.
@@ -1705,25 +1742,37 @@ type SSLCertificate struct {
17051742

17061743
// Task: task.
17071744
type Task struct {
1745+
// ID: the unique identifier of the task.
17081746
ID string `json:"id"`
17091747

1748+
// ProjectID: the project ID associated to the task.
17101749
ProjectID string `json:"project_id"`
17111750

1751+
// OrganizationID: the organization ID associated to the task.
17121752
OrganizationID string `json:"organization_id"`
17131753

1754+
// Domain: the domain name associated to the task.
17141755
Domain *string `json:"domain"`
17151756

1716-
// Type: default value: unknown
1757+
// Type: the type of the task.
1758+
// Default value: unknown
17171759
Type TaskType `json:"type"`
17181760

1719-
// Status: default value: unavailable
1761+
// Status: the status of the task.
1762+
// Default value: unavailable
17201763
Status TaskStatus `json:"status"`
17211764

1765+
// StartedAt: start date of the task.
17221766
StartedAt *time.Time `json:"started_at"`
17231767

1768+
// UpdatedAt: last update of the task.
17241769
UpdatedAt *time.Time `json:"updated_at"`
17251770

1771+
// Message: error message associated to the task.
17261772
Message *string `json:"message"`
1773+
1774+
// ContactIDentifier: human-friendly contact identifier used when the task concerns a contact.
1775+
ContactIDentifier *string `json:"contact_identifier"`
17271776
}
17281777

17291778
// TransferInDomainRequestTransferRequest: transfer in domain request transfer request.

0 commit comments

Comments
 (0)