forked from talon-one/talon_go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_achievement.go
282 lines (235 loc) · 7.63 KB
/
model_achievement.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
/*
* Talon.One API
*
* Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
*
* API version:
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/
package talon
import (
"bytes"
"encoding/json"
"time"
)
// Achievement
type Achievement struct {
// Internal ID of this entity.
Id int32 `json:"id"`
// The time this entity was created.
Created time.Time `json:"created"`
// The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created.
Name string `json:"name"`
// The display name for the achievement in the Campaign Manager.
Title string `json:"title"`
// A description of the achievement.
Description string `json:"description"`
// The required number of actions or the transactional milestone to complete the achievement.
Target float32 `json:"target"`
// The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period.
Period string `json:"period"`
PeriodEndOverride *TimePoint `json:"periodEndOverride,omitempty"`
// ID of the campaign, to which the achievement belongs to
CampaignId int32 `json:"campaignId"`
// ID of the user that created this achievement.
UserId int32 `json:"userId"`
// Name of the user that created the achievement. **Note**: This is not available if the user has been deleted.
CreatedBy string `json:"createdBy"`
// Indicates if a customer has made progress in the achievement.
HasProgress *bool `json:"hasProgress,omitempty"`
}
// GetId returns the Id field value
func (o *Achievement) GetId() int32 {
if o == nil {
var ret int32
return ret
}
return o.Id
}
// SetId sets field value
func (o *Achievement) SetId(v int32) {
o.Id = v
}
// GetCreated returns the Created field value
func (o *Achievement) GetCreated() time.Time {
if o == nil {
var ret time.Time
return ret
}
return o.Created
}
// SetCreated sets field value
func (o *Achievement) SetCreated(v time.Time) {
o.Created = v
}
// GetName returns the Name field value
func (o *Achievement) GetName() string {
if o == nil {
var ret string
return ret
}
return o.Name
}
// SetName sets field value
func (o *Achievement) SetName(v string) {
o.Name = v
}
// GetTitle returns the Title field value
func (o *Achievement) GetTitle() string {
if o == nil {
var ret string
return ret
}
return o.Title
}
// SetTitle sets field value
func (o *Achievement) SetTitle(v string) {
o.Title = v
}
// GetDescription returns the Description field value
func (o *Achievement) GetDescription() string {
if o == nil {
var ret string
return ret
}
return o.Description
}
// SetDescription sets field value
func (o *Achievement) SetDescription(v string) {
o.Description = v
}
// GetTarget returns the Target field value
func (o *Achievement) GetTarget() float32 {
if o == nil {
var ret float32
return ret
}
return o.Target
}
// SetTarget sets field value
func (o *Achievement) SetTarget(v float32) {
o.Target = v
}
// GetPeriod returns the Period field value
func (o *Achievement) GetPeriod() string {
if o == nil {
var ret string
return ret
}
return o.Period
}
// SetPeriod sets field value
func (o *Achievement) SetPeriod(v string) {
o.Period = v
}
// GetPeriodEndOverride returns the PeriodEndOverride field value if set, zero value otherwise.
func (o *Achievement) GetPeriodEndOverride() TimePoint {
if o == nil || o.PeriodEndOverride == nil {
var ret TimePoint
return ret
}
return *o.PeriodEndOverride
}
// GetPeriodEndOverrideOk returns a tuple with the PeriodEndOverride field value if set, zero value otherwise
// and a boolean to check if the value has been set.
func (o *Achievement) GetPeriodEndOverrideOk() (TimePoint, bool) {
if o == nil || o.PeriodEndOverride == nil {
var ret TimePoint
return ret, false
}
return *o.PeriodEndOverride, true
}
// HasPeriodEndOverride returns a boolean if a field has been set.
func (o *Achievement) HasPeriodEndOverride() bool {
if o != nil && o.PeriodEndOverride != nil {
return true
}
return false
}
// SetPeriodEndOverride gets a reference to the given TimePoint and assigns it to the PeriodEndOverride field.
func (o *Achievement) SetPeriodEndOverride(v TimePoint) {
o.PeriodEndOverride = &v
}
// GetCampaignId returns the CampaignId field value
func (o *Achievement) GetCampaignId() int32 {
if o == nil {
var ret int32
return ret
}
return o.CampaignId
}
// SetCampaignId sets field value
func (o *Achievement) SetCampaignId(v int32) {
o.CampaignId = v
}
// GetUserId returns the UserId field value
func (o *Achievement) GetUserId() int32 {
if o == nil {
var ret int32
return ret
}
return o.UserId
}
// SetUserId sets field value
func (o *Achievement) SetUserId(v int32) {
o.UserId = v
}
// GetCreatedBy returns the CreatedBy field value
func (o *Achievement) GetCreatedBy() string {
if o == nil {
var ret string
return ret
}
return o.CreatedBy
}
// SetCreatedBy sets field value
func (o *Achievement) SetCreatedBy(v string) {
o.CreatedBy = v
}
// GetHasProgress returns the HasProgress field value if set, zero value otherwise.
func (o *Achievement) GetHasProgress() bool {
if o == nil || o.HasProgress == nil {
var ret bool
return ret
}
return *o.HasProgress
}
// GetHasProgressOk returns a tuple with the HasProgress field value if set, zero value otherwise
// and a boolean to check if the value has been set.
func (o *Achievement) GetHasProgressOk() (bool, bool) {
if o == nil || o.HasProgress == nil {
var ret bool
return ret, false
}
return *o.HasProgress, true
}
// HasHasProgress returns a boolean if a field has been set.
func (o *Achievement) HasHasProgress() bool {
if o != nil && o.HasProgress != nil {
return true
}
return false
}
// SetHasProgress gets a reference to the given bool and assigns it to the HasProgress field.
func (o *Achievement) SetHasProgress(v bool) {
o.HasProgress = &v
}
type NullableAchievement struct {
Value Achievement
ExplicitNull bool
}
func (v NullableAchievement) MarshalJSON() ([]byte, error) {
switch {
case v.ExplicitNull:
return []byte("null"), nil
default:
return json.Marshal(v.Value)
}
}
func (v *NullableAchievement) UnmarshalJSON(src []byte) error {
if bytes.Equal(src, []byte("null")) {
v.ExplicitNull = true
return nil
}
return json.Unmarshal(src, &v.Value)
}