mirror of
https://github.com/crazy-max/diun.git
synced 2025-12-21 21:33:22 +01:00
chore: go mod vendor
This commit is contained in:
59
vendor/github.com/gregdel/pushover/receipt_details.go
generated
vendored
Normal file
59
vendor/github.com/gregdel/pushover/receipt_details.go
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
package pushover
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"time"
|
||||
)
|
||||
|
||||
// ReceiptDetails represents the receipt informations in case of emergency
|
||||
// priority.
|
||||
type ReceiptDetails struct {
|
||||
Status int
|
||||
Acknowledged bool
|
||||
AcknowledgedBy string
|
||||
Expired bool
|
||||
CalledBack bool
|
||||
ID string
|
||||
AcknowledgedAt *time.Time
|
||||
LastDeliveredAt *time.Time
|
||||
ExpiresAt *time.Time
|
||||
CalledBackAt *time.Time
|
||||
}
|
||||
|
||||
// UnmarshalJSON is a custom unmarshal function to handle timestamps and
|
||||
// boolean as int and convert them to the right type.
|
||||
func (r *ReceiptDetails) UnmarshalJSON(data []byte) error {
|
||||
dataBytes := bytes.NewReader(data)
|
||||
var aux struct {
|
||||
ID string `json:"request"`
|
||||
Status int `json:"status"`
|
||||
Acknowledged intBool `json:"acknowledged"`
|
||||
AcknowledgedBy string `json:"acknowledged_by"`
|
||||
Expired intBool `json:"expired"`
|
||||
CalledBack intBool `json:"called_back"`
|
||||
AcknowledgedAt *timestamp `json:"acknowledged_at"`
|
||||
LastDeliveredAt *timestamp `json:"last_delivered_at"`
|
||||
ExpiresAt *timestamp `json:"expires_at"`
|
||||
CalledBackAt *timestamp `json:"called_back_at"`
|
||||
}
|
||||
|
||||
// Decode json into the aux struct
|
||||
if err := json.NewDecoder(dataBytes).Decode(&aux); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Set the RecipientDetails with the right types
|
||||
r.Status = aux.Status
|
||||
r.Acknowledged = bool(aux.Acknowledged)
|
||||
r.AcknowledgedBy = aux.AcknowledgedBy
|
||||
r.Expired = bool(aux.Expired)
|
||||
r.CalledBack = bool(aux.CalledBack)
|
||||
r.ID = aux.ID
|
||||
r.AcknowledgedAt = aux.AcknowledgedAt.Time
|
||||
r.LastDeliveredAt = aux.LastDeliveredAt.Time
|
||||
r.ExpiresAt = aux.ExpiresAt.Time
|
||||
r.CalledBackAt = aux.CalledBackAt.Time
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user