forked from heimweh/go-pagerduty
/
custom_field_data_type.go
63 lines (54 loc) · 1.87 KB
/
custom_field_data_type.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package pagerduty
import (
"bytes"
"encoding/json"
"fmt"
)
// CustomFieldDataType is an enumeration of available datatypes for fields.
//
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
type CustomFieldDataType int64
const (
CustomFieldDataTypeUnknown CustomFieldDataType = iota
CustomFieldDataTypeString
CustomFieldDataTypeInt
CustomFieldDataTypeFloat
CustomFieldDataTypeBool
CustomFieldDataTypeUrl
CustomFieldDataTypeDateTime
CustomFieldDataTypeFieldOption
)
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func (d CustomFieldDataType) String() string {
return "unknown"
}
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func CustomFieldDataTypeFromString(s string) CustomFieldDataType {
return CustomFieldDataTypeUnknown
}
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func (d CustomFieldDataType) MarshalJSON() ([]byte, error) {
buffer := bytes.NewBufferString(fmt.Sprintf(`"%v"`, d.String()))
return buffer.Bytes(), nil
}
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func (d *CustomFieldDataType) UnmarshalJSON(data []byte) error {
var str string
err := json.Unmarshal(data, &str)
if err != nil {
return err
}
*d = CustomFieldDataTypeFromString(str)
return nil
}
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func (d *CustomFieldDataType) IsKnown() bool {
return *d != CustomFieldDataTypeUnknown
}
// IsAllowedOnField determines if the CustomFieldDataType is a legal value for fields. This enables field_option to be a defined datatype
// (as is necessary for default values on field configurations) but not on fields.
//
// Deprecated: Use IncidentCustomFieldDataType for Incident Custom Fields
func (d *CustomFieldDataType) IsAllowedOnField() bool {
return d.IsKnown() && *d != CustomFieldDataTypeFieldOption
}