All checks were successful
Golan Testing / testing (1.25.x, ubuntu-latest) (push) Successful in 24s
64 lines
2.0 KiB
Go
64 lines
2.0 KiB
Go
package client
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
)
|
|
|
|
type PagerGroup struct {
|
|
ID string `json:"_id"`
|
|
SubscriberID int `json:"subscriberId"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
ToneTolerance float64 `json:"tone_tolerance"`
|
|
GapLength int `json:"gaplength"`
|
|
IgnoreAfter int `json:"ignore_after"`
|
|
RecordDelay int `json:"record_delay"`
|
|
RecordSeconds int `json:"record_seconds"`
|
|
ReleaseTime int `json:"release_time"`
|
|
PlaybackDuringRecord int `json:"playback_during_record"`
|
|
PostEmailCommand string `json:"post_email_command"`
|
|
AlertCommand string `json:"alert_command"`
|
|
ATone float64 `json:"atone"`
|
|
BTone float64 `json:"btone"`
|
|
AToneLength float64 `json:"atonelength"`
|
|
BToneLength float64 `json:"btonelength"`
|
|
LongTone *float64 `json:"longtone"`
|
|
LongToneLength *float64 `json:"longtonelength"`
|
|
CreateDate string `json:"createDate"`
|
|
}
|
|
|
|
type TTDSetting struct {
|
|
KeySetting string `json:"keySetting"`
|
|
KeyValue int `json:"keyValue,string"`
|
|
}
|
|
|
|
type AddAlert struct {
|
|
ID string `json:"_id"`
|
|
TextAlert string `json:"textAlert"`
|
|
PagerGroup string `json:"pagerGroup"`
|
|
AudioUrl *string `json:"audioUrl,omitempty"`
|
|
SubscriberID int `json:"subscriberId"`
|
|
}
|
|
|
|
type Data struct {
|
|
GetMutualPagerGroupsList []PagerGroup `json:"getMutualPagerGroupsList,omitempty"`
|
|
GetTTDSetting TTDSetting `json:"getTTDSetting,omitempty"`
|
|
AddAlert AddAlert `json:"addAlert,omitempty"`
|
|
}
|
|
|
|
type Response struct {
|
|
Data Data `json:"data"`
|
|
}
|
|
|
|
func (r *Response) Unmarshal(data []byte) (*Response, error) {
|
|
if data == nil {
|
|
return nil, errors.New("response data is nil")
|
|
}
|
|
var resp Response
|
|
if err := json.Unmarshal(data, &resp); err != nil {
|
|
return nil, err
|
|
}
|
|
return &resp, nil
|
|
}
|