forked from MyPureCloud/platform-client-sdk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
buagentschedulerescheduleresponse.go
104 lines (74 loc) · 3.15 KB
/
buagentschedulerescheduleresponse.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package platformclientv2
import (
"github.com/leekchan/timeutil"
"encoding/json"
"strconv"
"strings"
)
// Buagentschedulerescheduleresponse
type Buagentschedulerescheduleresponse struct {
// User - The user to whom this agent schedule applies
User *Userreference `json:"user"`
// Shifts - The shift definitions for this agent schedule
Shifts *[]Buagentscheduleshift `json:"shifts"`
// FullDayTimeOffMarkers - Full day time off markers which apply to this agent schedule
FullDayTimeOffMarkers *[]Bufulldaytimeoffmarker `json:"fullDayTimeOffMarkers"`
// WorkPlan - The work plan for this user
WorkPlan *Workplanreference `json:"workPlan"`
// WorkPlansPerWeek - The work plans per week for this user from the work plan rotation. Null values in the list denotes that user is not part of any work plan for that week
WorkPlansPerWeek *[]Workplanreference `json:"workPlansPerWeek"`
}
func (o *Buagentschedulerescheduleresponse) MarshalJSON() ([]byte, error) {
// Redundant initialization to avoid unused import errors for models with no Time values
_ = timeutil.Timedelta{}
type Alias Buagentschedulerescheduleresponse
return json.Marshal(&struct {
User *Userreference `json:"user"`
Shifts *[]Buagentscheduleshift `json:"shifts"`
FullDayTimeOffMarkers *[]Bufulldaytimeoffmarker `json:"fullDayTimeOffMarkers"`
WorkPlan *Workplanreference `json:"workPlan"`
WorkPlansPerWeek *[]Workplanreference `json:"workPlansPerWeek"`
*Alias
}{
User: o.User,
Shifts: o.Shifts,
FullDayTimeOffMarkers: o.FullDayTimeOffMarkers,
WorkPlan: o.WorkPlan,
WorkPlansPerWeek: o.WorkPlansPerWeek,
Alias: (*Alias)(o),
})
}
func (o *Buagentschedulerescheduleresponse) UnmarshalJSON(b []byte) error {
var BuagentschedulerescheduleresponseMap map[string]interface{}
err := json.Unmarshal(b, &BuagentschedulerescheduleresponseMap)
if err != nil {
return err
}
if User, ok := BuagentschedulerescheduleresponseMap["user"].(map[string]interface{}); ok {
UserString, _ := json.Marshal(User)
json.Unmarshal(UserString, &o.User)
}
if Shifts, ok := BuagentschedulerescheduleresponseMap["shifts"].([]interface{}); ok {
ShiftsString, _ := json.Marshal(Shifts)
json.Unmarshal(ShiftsString, &o.Shifts)
}
if FullDayTimeOffMarkers, ok := BuagentschedulerescheduleresponseMap["fullDayTimeOffMarkers"].([]interface{}); ok {
FullDayTimeOffMarkersString, _ := json.Marshal(FullDayTimeOffMarkers)
json.Unmarshal(FullDayTimeOffMarkersString, &o.FullDayTimeOffMarkers)
}
if WorkPlan, ok := BuagentschedulerescheduleresponseMap["workPlan"].(map[string]interface{}); ok {
WorkPlanString, _ := json.Marshal(WorkPlan)
json.Unmarshal(WorkPlanString, &o.WorkPlan)
}
if WorkPlansPerWeek, ok := BuagentschedulerescheduleresponseMap["workPlansPerWeek"].([]interface{}); ok {
WorkPlansPerWeekString, _ := json.Marshal(WorkPlansPerWeek)
json.Unmarshal(WorkPlansPerWeekString, &o.WorkPlansPerWeek)
}
return nil
}
// String returns a JSON representation of the model
func (o *Buagentschedulerescheduleresponse) String() string {
j, _ := json.Marshal(o)
str, _ := strconv.Unquote(strings.Replace(strconv.Quote(string(j)), `\\u`, `\u`, -1))
return str
}