github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_time_sheets.go (about) 1 /* 2 * Engage Digital API 3 * 4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package engagedigital 11 12 import ( 13 "context" 14 "fmt" 15 "github.com/antihax/optional" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "reflect" 20 "strings" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type TimeSheetsApiService service 29 30 /* 31 TimeSheetsApiService Creating a time sheet 32 This method creates a time sheet. In case of success it renders the time sheet, otherwise, it renders an error (422 HTTP code). Authorization: only users that can create time sheet. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param label The label of the time sheet. 35 * @param optional nil or *CreateTimeSheetOpts - Optional Parameters: 36 * @param "Active" (optional.Bool) - true or false, this field is used to enable/disable a time sheet. 37 * @param "SourceIds" (optional.Interface of []string) - An array containing id of each source using your time sheet. 38 * @param "HolidaysRegion" (optional.String) - A string containing the first two letters of your country (example: \"fr\"/\"en\"/\"es\"), useful to bootstrap default holidays following to a country. 39 * @param "Holidays" (optional.String) - An array containing one or more hash of holidays, a holiday must contain a name (string) and a date (string), the date must be in a valid format, a valid format is a format corresponding to your domain’s locale). 40 * @param "MondayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. For example: “a-b,c-d”: “a” is the beginning of the first interval of the day, “b” is the ending of the first interval of the day, “c” is the beginning of the second interval of the day, “d” is the ending of the second interval of the day 41 * @param "TuesdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 42 * @param "WednesdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 43 * @param "ThursdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 44 * @param "FridayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 45 * @param "SaturdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 46 * @param "SundayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 47 @return TimeSheet 48 */ 49 50 type CreateTimeSheetOpts struct { 51 Active optional.Bool 52 SourceIds optional.Interface 53 HolidaysRegion optional.String 54 Holidays optional.String 55 MondayHours optional.String 56 TuesdayHours optional.String 57 WednesdayHours optional.String 58 ThursdayHours optional.String 59 FridayHours optional.String 60 SaturdayHours optional.String 61 SundayHours optional.String 62 } 63 64 func (a *TimeSheetsApiService) CreateTimeSheet(ctx context.Context, label string, localVarOptionals *CreateTimeSheetOpts) (TimeSheet, *http.Response, error) { 65 var ( 66 localVarHttpMethod = http.MethodPost 67 localVarPostBody interface{} 68 localVarFormFileName string 69 localVarFileName string 70 localVarFileBytes []byte 71 localVarReturnValue TimeSheet 72 ) 73 74 // create path and map variables 75 localVarPath := a.client.cfg.BasePath + "/time_sheets" 76 77 localVarHeaderParams := make(map[string]string) 78 localVarQueryParams := url.Values{} 79 localVarFormParams := url.Values{} 80 81 if localVarOptionals != nil && localVarOptionals.Active.IsSet() { 82 localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), "")) 83 } 84 localVarQueryParams.Add("label", parameterToString(label, "")) 85 if localVarOptionals != nil && localVarOptionals.SourceIds.IsSet() { 86 t := localVarOptionals.SourceIds.Value() 87 if reflect.TypeOf(t).Kind() == reflect.Slice { 88 s := reflect.ValueOf(t) 89 for i := 0; i < s.Len(); i++ { 90 localVarQueryParams.Add("source_ids", parameterToString(s.Index(i), "multi")) 91 } 92 } else { 93 localVarQueryParams.Add("source_ids", parameterToString(t, "multi")) 94 } 95 } 96 if localVarOptionals != nil && localVarOptionals.HolidaysRegion.IsSet() { 97 localVarQueryParams.Add("holidays_region", parameterToString(localVarOptionals.HolidaysRegion.Value(), "")) 98 } 99 if localVarOptionals != nil && localVarOptionals.Holidays.IsSet() { 100 localVarQueryParams.Add("holidays", parameterToString(localVarOptionals.Holidays.Value(), "")) 101 } 102 if localVarOptionals != nil && localVarOptionals.MondayHours.IsSet() { 103 localVarQueryParams.Add("monday_hours", parameterToString(localVarOptionals.MondayHours.Value(), "")) 104 } 105 if localVarOptionals != nil && localVarOptionals.TuesdayHours.IsSet() { 106 localVarQueryParams.Add("tuesday_hours", parameterToString(localVarOptionals.TuesdayHours.Value(), "")) 107 } 108 if localVarOptionals != nil && localVarOptionals.WednesdayHours.IsSet() { 109 localVarQueryParams.Add("wednesday_hours", parameterToString(localVarOptionals.WednesdayHours.Value(), "")) 110 } 111 if localVarOptionals != nil && localVarOptionals.ThursdayHours.IsSet() { 112 localVarQueryParams.Add("thursday_hours", parameterToString(localVarOptionals.ThursdayHours.Value(), "")) 113 } 114 if localVarOptionals != nil && localVarOptionals.FridayHours.IsSet() { 115 localVarQueryParams.Add("friday_hours", parameterToString(localVarOptionals.FridayHours.Value(), "")) 116 } 117 if localVarOptionals != nil && localVarOptionals.SaturdayHours.IsSet() { 118 localVarQueryParams.Add("saturday_hours", parameterToString(localVarOptionals.SaturdayHours.Value(), "")) 119 } 120 if localVarOptionals != nil && localVarOptionals.SundayHours.IsSet() { 121 localVarQueryParams.Add("sunday_hours", parameterToString(localVarOptionals.SundayHours.Value(), "")) 122 } 123 // to determine the Content-Type header 124 localVarHttpContentTypes := []string{} 125 126 // set Content-Type header 127 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 128 if localVarHttpContentType != "" { 129 localVarHeaderParams["Content-Type"] = localVarHttpContentType 130 } 131 132 // to determine the Accept header 133 localVarHttpHeaderAccepts := []string{"application/json"} 134 135 // set Accept header 136 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 137 if localVarHttpHeaderAccept != "" { 138 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 139 } 140 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 141 if err != nil { 142 return localVarReturnValue, nil, err 143 } 144 145 localVarHttpResponse, err := a.client.callAPI(r) 146 if err != nil || localVarHttpResponse == nil { 147 return localVarReturnValue, localVarHttpResponse, err 148 } 149 150 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 151 localVarHttpResponse.Body.Close() 152 if err != nil { 153 return localVarReturnValue, localVarHttpResponse, err 154 } 155 156 if localVarHttpResponse.StatusCode >= 300 { 157 newErr := GenericOpenAPIError{ 158 body: localVarBody, 159 error: localVarHttpResponse.Status, 160 } 161 if localVarHttpResponse.StatusCode == 200 { 162 var v TimeSheet 163 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 164 if err != nil { 165 newErr.error = err.Error() 166 return localVarReturnValue, localVarHttpResponse, newErr 167 } 168 newErr.model = v 169 return localVarReturnValue, localVarHttpResponse, newErr 170 } 171 return localVarReturnValue, localVarHttpResponse, newErr 172 } 173 174 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 175 if err != nil { 176 newErr := GenericOpenAPIError{ 177 body: localVarBody, 178 error: err.Error(), 179 } 180 return localVarReturnValue, localVarHttpResponse, newErr 181 } 182 183 return localVarReturnValue, localVarHttpResponse, nil 184 } 185 186 /* 187 TimeSheetsApiService Deleting a time sheet 188 This method destroys an existing time sheet. It renders time sheet itself. It renders a 404 if id is invalid. 189 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 190 * @param timeSheetId 191 @return TimeSheet 192 */ 193 func (a *TimeSheetsApiService) DeleteTimeSheet(ctx context.Context, timeSheetId string) (TimeSheet, *http.Response, error) { 194 var ( 195 localVarHttpMethod = http.MethodDelete 196 localVarPostBody interface{} 197 localVarFormFileName string 198 localVarFileName string 199 localVarFileBytes []byte 200 localVarReturnValue TimeSheet 201 ) 202 203 // create path and map variables 204 localVarPath := a.client.cfg.BasePath + "/time_sheets/{timeSheetId}" 205 localVarPath = strings.Replace(localVarPath, "{"+"timeSheetId"+"}", fmt.Sprintf("%v", timeSheetId), -1) 206 207 localVarHeaderParams := make(map[string]string) 208 localVarQueryParams := url.Values{} 209 localVarFormParams := url.Values{} 210 211 // to determine the Content-Type header 212 localVarHttpContentTypes := []string{} 213 214 // set Content-Type header 215 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 216 if localVarHttpContentType != "" { 217 localVarHeaderParams["Content-Type"] = localVarHttpContentType 218 } 219 220 // to determine the Accept header 221 localVarHttpHeaderAccepts := []string{"application/json"} 222 223 // set Accept header 224 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 225 if localVarHttpHeaderAccept != "" { 226 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 227 } 228 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 229 if err != nil { 230 return localVarReturnValue, nil, err 231 } 232 233 localVarHttpResponse, err := a.client.callAPI(r) 234 if err != nil || localVarHttpResponse == nil { 235 return localVarReturnValue, localVarHttpResponse, err 236 } 237 238 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 239 localVarHttpResponse.Body.Close() 240 if err != nil { 241 return localVarReturnValue, localVarHttpResponse, err 242 } 243 244 if localVarHttpResponse.StatusCode >= 300 { 245 newErr := GenericOpenAPIError{ 246 body: localVarBody, 247 error: localVarHttpResponse.Status, 248 } 249 if localVarHttpResponse.StatusCode == 200 { 250 var v TimeSheet 251 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 252 if err != nil { 253 newErr.error = err.Error() 254 return localVarReturnValue, localVarHttpResponse, newErr 255 } 256 newErr.model = v 257 return localVarReturnValue, localVarHttpResponse, newErr 258 } 259 return localVarReturnValue, localVarHttpResponse, newErr 260 } 261 262 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 263 if err != nil { 264 newErr := GenericOpenAPIError{ 265 body: localVarBody, 266 error: err.Error(), 267 } 268 return localVarReturnValue, localVarHttpResponse, newErr 269 } 270 271 return localVarReturnValue, localVarHttpResponse, nil 272 } 273 274 /* 275 TimeSheetsApiService Getting all time sheets 276 This method renders time sheets ordered by active and label. 277 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 278 * @param optional nil or *GetAllTimeSheetsOpts - Optional Parameters: 279 * @param "Offset" (optional.Int32) - The record index to start. Default value is 0. 280 * @param "Limit" (optional.Int32) - The max number of records to return. Default value is 30, max value is 150. 281 @return GetAllTimeSheetsResponse 282 */ 283 284 type GetAllTimeSheetsOpts struct { 285 Offset optional.Int32 286 Limit optional.Int32 287 } 288 289 func (a *TimeSheetsApiService) GetAllTimeSheets(ctx context.Context, localVarOptionals *GetAllTimeSheetsOpts) (GetAllTimeSheetsResponse, *http.Response, error) { 290 var ( 291 localVarHttpMethod = http.MethodGet 292 localVarPostBody interface{} 293 localVarFormFileName string 294 localVarFileName string 295 localVarFileBytes []byte 296 localVarReturnValue GetAllTimeSheetsResponse 297 ) 298 299 // create path and map variables 300 localVarPath := a.client.cfg.BasePath + "/time_sheets" 301 302 localVarHeaderParams := make(map[string]string) 303 localVarQueryParams := url.Values{} 304 localVarFormParams := url.Values{} 305 306 if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { 307 localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) 308 } 309 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 310 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 311 } 312 // to determine the Content-Type header 313 localVarHttpContentTypes := []string{} 314 315 // set Content-Type header 316 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 317 if localVarHttpContentType != "" { 318 localVarHeaderParams["Content-Type"] = localVarHttpContentType 319 } 320 321 // to determine the Accept header 322 localVarHttpHeaderAccepts := []string{"application/json"} 323 324 // set Accept header 325 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 326 if localVarHttpHeaderAccept != "" { 327 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 328 } 329 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 330 if err != nil { 331 return localVarReturnValue, nil, err 332 } 333 334 localVarHttpResponse, err := a.client.callAPI(r) 335 if err != nil || localVarHttpResponse == nil { 336 return localVarReturnValue, localVarHttpResponse, err 337 } 338 339 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 340 localVarHttpResponse.Body.Close() 341 if err != nil { 342 return localVarReturnValue, localVarHttpResponse, err 343 } 344 345 if localVarHttpResponse.StatusCode >= 300 { 346 newErr := GenericOpenAPIError{ 347 body: localVarBody, 348 error: localVarHttpResponse.Status, 349 } 350 if localVarHttpResponse.StatusCode == 200 { 351 var v GetAllTimeSheetsResponse 352 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 353 if err != nil { 354 newErr.error = err.Error() 355 return localVarReturnValue, localVarHttpResponse, newErr 356 } 357 newErr.model = v 358 return localVarReturnValue, localVarHttpResponse, newErr 359 } 360 return localVarReturnValue, localVarHttpResponse, newErr 361 } 362 363 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 364 if err != nil { 365 newErr := GenericOpenAPIError{ 366 body: localVarBody, 367 error: err.Error(), 368 } 369 return localVarReturnValue, localVarHttpResponse, newErr 370 } 371 372 return localVarReturnValue, localVarHttpResponse, nil 373 } 374 375 /* 376 TimeSheetsApiService Getting a time sheet from its id 377 This method renders a time sheet from given id. Authorization: only users that can see time sheets in administration section. 378 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 379 * @param timeSheetId 380 @return TimeSheet 381 */ 382 func (a *TimeSheetsApiService) GetTimeSheet(ctx context.Context, timeSheetId string) (TimeSheet, *http.Response, error) { 383 var ( 384 localVarHttpMethod = http.MethodGet 385 localVarPostBody interface{} 386 localVarFormFileName string 387 localVarFileName string 388 localVarFileBytes []byte 389 localVarReturnValue TimeSheet 390 ) 391 392 // create path and map variables 393 localVarPath := a.client.cfg.BasePath + "/time_sheets/{timeSheetId}" 394 localVarPath = strings.Replace(localVarPath, "{"+"timeSheetId"+"}", fmt.Sprintf("%v", timeSheetId), -1) 395 396 localVarHeaderParams := make(map[string]string) 397 localVarQueryParams := url.Values{} 398 localVarFormParams := url.Values{} 399 400 // to determine the Content-Type header 401 localVarHttpContentTypes := []string{} 402 403 // set Content-Type header 404 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 405 if localVarHttpContentType != "" { 406 localVarHeaderParams["Content-Type"] = localVarHttpContentType 407 } 408 409 // to determine the Accept header 410 localVarHttpHeaderAccepts := []string{"application/json"} 411 412 // set Accept header 413 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 414 if localVarHttpHeaderAccept != "" { 415 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 416 } 417 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 418 if err != nil { 419 return localVarReturnValue, nil, err 420 } 421 422 localVarHttpResponse, err := a.client.callAPI(r) 423 if err != nil || localVarHttpResponse == nil { 424 return localVarReturnValue, localVarHttpResponse, err 425 } 426 427 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 428 localVarHttpResponse.Body.Close() 429 if err != nil { 430 return localVarReturnValue, localVarHttpResponse, err 431 } 432 433 if localVarHttpResponse.StatusCode >= 300 { 434 newErr := GenericOpenAPIError{ 435 body: localVarBody, 436 error: localVarHttpResponse.Status, 437 } 438 if localVarHttpResponse.StatusCode == 200 { 439 var v TimeSheet 440 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 441 if err != nil { 442 newErr.error = err.Error() 443 return localVarReturnValue, localVarHttpResponse, newErr 444 } 445 newErr.model = v 446 return localVarReturnValue, localVarHttpResponse, newErr 447 } 448 return localVarReturnValue, localVarHttpResponse, newErr 449 } 450 451 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 452 if err != nil { 453 newErr := GenericOpenAPIError{ 454 body: localVarBody, 455 error: err.Error(), 456 } 457 return localVarReturnValue, localVarHttpResponse, newErr 458 } 459 460 return localVarReturnValue, localVarHttpResponse, nil 461 } 462 463 /* 464 TimeSheetsApiService Updating a time sheet 465 This method updates an existing team from given attributes and renders it in case of success. 466 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 467 * @param timeSheetId 468 * @param optional nil or *UpdateTimeSheetOpts - Optional Parameters: 469 * @param "Active" (optional.Bool) - true or false, this field is used to enable/disable a time sheet. 470 * @param "Label" (optional.String) - The label of the time sheet. 471 * @param "SourceIds" (optional.Interface of []string) - An array containing id of each source using your time sheet. 472 * @param "Holidays" (optional.String) - An array containing one or more hash of holidays, a holiday must contain a name (string) and a date (string), the date must be in a valid format, a valid format is a format corresponding to your domain’s locale). 473 * @param "MondayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. For example: “a-b,c-d”: “a” is the beginning of the first interval of the day, “b” is the ending of the first interval of the day, “c” is the beginning of the second interval of the day, “d” is the ending of the second interval of the day 474 * @param "TuesdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 475 * @param "WednesdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 476 * @param "ThursdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 477 * @param "FridayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 478 * @param "SaturdayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 479 * @param "SundayHours" (optional.String) - this field define the time intervals of the day (in secs). An empty string means that there are no business hours on this day. See `monday_hours` for the format. 480 @return TimeSheet 481 */ 482 483 type UpdateTimeSheetOpts struct { 484 Active optional.Bool 485 Label optional.String 486 SourceIds optional.Interface 487 Holidays optional.String 488 MondayHours optional.String 489 TuesdayHours optional.String 490 WednesdayHours optional.String 491 ThursdayHours optional.String 492 FridayHours optional.String 493 SaturdayHours optional.String 494 SundayHours optional.String 495 } 496 497 func (a *TimeSheetsApiService) UpdateTimeSheet(ctx context.Context, timeSheetId string, localVarOptionals *UpdateTimeSheetOpts) (TimeSheet, *http.Response, error) { 498 var ( 499 localVarHttpMethod = http.MethodPut 500 localVarPostBody interface{} 501 localVarFormFileName string 502 localVarFileName string 503 localVarFileBytes []byte 504 localVarReturnValue TimeSheet 505 ) 506 507 // create path and map variables 508 localVarPath := a.client.cfg.BasePath + "/time_sheets/{timeSheetId}" 509 localVarPath = strings.Replace(localVarPath, "{"+"timeSheetId"+"}", fmt.Sprintf("%v", timeSheetId), -1) 510 511 localVarHeaderParams := make(map[string]string) 512 localVarQueryParams := url.Values{} 513 localVarFormParams := url.Values{} 514 515 if localVarOptionals != nil && localVarOptionals.Active.IsSet() { 516 localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), "")) 517 } 518 if localVarOptionals != nil && localVarOptionals.Label.IsSet() { 519 localVarQueryParams.Add("label", parameterToString(localVarOptionals.Label.Value(), "")) 520 } 521 if localVarOptionals != nil && localVarOptionals.SourceIds.IsSet() { 522 t := localVarOptionals.SourceIds.Value() 523 if reflect.TypeOf(t).Kind() == reflect.Slice { 524 s := reflect.ValueOf(t) 525 for i := 0; i < s.Len(); i++ { 526 localVarQueryParams.Add("source_ids[]", parameterToString(s.Index(i), "multi")) 527 } 528 } else { 529 localVarQueryParams.Add("source_ids[]", parameterToString(t, "multi")) 530 } 531 } 532 if localVarOptionals != nil && localVarOptionals.Holidays.IsSet() { 533 localVarQueryParams.Add("holidays", parameterToString(localVarOptionals.Holidays.Value(), "")) 534 } 535 if localVarOptionals != nil && localVarOptionals.MondayHours.IsSet() { 536 localVarQueryParams.Add("monday_hours", parameterToString(localVarOptionals.MondayHours.Value(), "")) 537 } 538 if localVarOptionals != nil && localVarOptionals.TuesdayHours.IsSet() { 539 localVarQueryParams.Add("tuesday_hours", parameterToString(localVarOptionals.TuesdayHours.Value(), "")) 540 } 541 if localVarOptionals != nil && localVarOptionals.WednesdayHours.IsSet() { 542 localVarQueryParams.Add("wednesday_hours", parameterToString(localVarOptionals.WednesdayHours.Value(), "")) 543 } 544 if localVarOptionals != nil && localVarOptionals.ThursdayHours.IsSet() { 545 localVarQueryParams.Add("thursday_hours", parameterToString(localVarOptionals.ThursdayHours.Value(), "")) 546 } 547 if localVarOptionals != nil && localVarOptionals.FridayHours.IsSet() { 548 localVarQueryParams.Add("friday_hours", parameterToString(localVarOptionals.FridayHours.Value(), "")) 549 } 550 if localVarOptionals != nil && localVarOptionals.SaturdayHours.IsSet() { 551 localVarQueryParams.Add("saturday_hours", parameterToString(localVarOptionals.SaturdayHours.Value(), "")) 552 } 553 if localVarOptionals != nil && localVarOptionals.SundayHours.IsSet() { 554 localVarQueryParams.Add("sunday_hours", parameterToString(localVarOptionals.SundayHours.Value(), "")) 555 } 556 // to determine the Content-Type header 557 localVarHttpContentTypes := []string{} 558 559 // set Content-Type header 560 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 561 if localVarHttpContentType != "" { 562 localVarHeaderParams["Content-Type"] = localVarHttpContentType 563 } 564 565 // to determine the Accept header 566 localVarHttpHeaderAccepts := []string{"application/json"} 567 568 // set Accept header 569 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 570 if localVarHttpHeaderAccept != "" { 571 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 572 } 573 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 574 if err != nil { 575 return localVarReturnValue, nil, err 576 } 577 578 localVarHttpResponse, err := a.client.callAPI(r) 579 if err != nil || localVarHttpResponse == nil { 580 return localVarReturnValue, localVarHttpResponse, err 581 } 582 583 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 584 localVarHttpResponse.Body.Close() 585 if err != nil { 586 return localVarReturnValue, localVarHttpResponse, err 587 } 588 589 if localVarHttpResponse.StatusCode >= 300 { 590 newErr := GenericOpenAPIError{ 591 body: localVarBody, 592 error: localVarHttpResponse.Status, 593 } 594 if localVarHttpResponse.StatusCode == 200 { 595 var v TimeSheet 596 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 597 if err != nil { 598 newErr.error = err.Error() 599 return localVarReturnValue, localVarHttpResponse, newErr 600 } 601 newErr.model = v 602 return localVarReturnValue, localVarHttpResponse, newErr 603 } 604 return localVarReturnValue, localVarHttpResponse, newErr 605 } 606 607 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 608 if err != nil { 609 newErr := GenericOpenAPIError{ 610 body: localVarBody, 611 error: err.Error(), 612 } 613 return localVarReturnValue, localVarHttpResponse, newErr 614 } 615 616 return localVarReturnValue, localVarHttpResponse, nil 617 }