github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_channels.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 ChannelsApiService service 29 30 /* 31 ChannelsApiService Getting all channels 32 This method renders all channels ordered by date of creation. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param optional nil or *GetAllChannelsOpts - Optional Parameters: 35 * @param "Offset" (optional.Int32) - The record index to start. Default value is 0. 36 * @param "Limit" (optional.Int32) - The max number of records to return. Default value is 30, max value is 150. 37 @return GetAllChannelsResponse 38 */ 39 40 type GetAllChannelsOpts struct { 41 Offset optional.Int32 42 Limit optional.Int32 43 } 44 45 func (a *ChannelsApiService) GetAllChannels(ctx context.Context, localVarOptionals *GetAllChannelsOpts) (GetAllChannelsResponse, *http.Response, error) { 46 var ( 47 localVarHttpMethod = http.MethodGet 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 localVarReturnValue GetAllChannelsResponse 53 ) 54 55 // create path and map variables 56 localVarPath := a.client.cfg.BasePath + "/channels" 57 58 localVarHeaderParams := make(map[string]string) 59 localVarQueryParams := url.Values{} 60 localVarFormParams := url.Values{} 61 62 if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { 63 localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) 64 } 65 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 66 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 67 } 68 // to determine the Content-Type header 69 localVarHttpContentTypes := []string{} 70 71 // set Content-Type header 72 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 73 if localVarHttpContentType != "" { 74 localVarHeaderParams["Content-Type"] = localVarHttpContentType 75 } 76 77 // to determine the Accept header 78 localVarHttpHeaderAccepts := []string{"application/json"} 79 80 // set Accept header 81 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 82 if localVarHttpHeaderAccept != "" { 83 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 84 } 85 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 86 if err != nil { 87 return localVarReturnValue, nil, err 88 } 89 90 localVarHttpResponse, err := a.client.callAPI(r) 91 if err != nil || localVarHttpResponse == nil { 92 return localVarReturnValue, localVarHttpResponse, err 93 } 94 95 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 96 localVarHttpResponse.Body.Close() 97 if err != nil { 98 return localVarReturnValue, localVarHttpResponse, err 99 } 100 101 if localVarHttpResponse.StatusCode >= 300 { 102 newErr := GenericOpenAPIError{ 103 body: localVarBody, 104 error: localVarHttpResponse.Status, 105 } 106 if localVarHttpResponse.StatusCode == 200 { 107 var v GetAllChannelsResponse 108 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 109 if err != nil { 110 newErr.error = err.Error() 111 return localVarReturnValue, localVarHttpResponse, newErr 112 } 113 newErr.model = v 114 return localVarReturnValue, localVarHttpResponse, newErr 115 } 116 return localVarReturnValue, localVarHttpResponse, newErr 117 } 118 119 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 120 if err != nil { 121 newErr := GenericOpenAPIError{ 122 body: localVarBody, 123 error: err.Error(), 124 } 125 return localVarReturnValue, localVarHttpResponse, newErr 126 } 127 128 return localVarReturnValue, localVarHttpResponse, nil 129 } 130 131 /* 132 ChannelsApiService Getting a channel from its id 133 This method renders a channel from given id. 134 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 135 * @param channelId 136 @return Channel 137 */ 138 func (a *ChannelsApiService) GetChannel(ctx context.Context, channelId string) (Channel, *http.Response, error) { 139 var ( 140 localVarHttpMethod = http.MethodGet 141 localVarPostBody interface{} 142 localVarFormFileName string 143 localVarFileName string 144 localVarFileBytes []byte 145 localVarReturnValue Channel 146 ) 147 148 // create path and map variables 149 localVarPath := a.client.cfg.BasePath + "/channels/{channelId}" 150 localVarPath = strings.Replace(localVarPath, "{"+"channelId"+"}", fmt.Sprintf("%v", channelId), -1) 151 152 localVarHeaderParams := make(map[string]string) 153 localVarQueryParams := url.Values{} 154 localVarFormParams := url.Values{} 155 156 // to determine the Content-Type header 157 localVarHttpContentTypes := []string{} 158 159 // set Content-Type header 160 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 161 if localVarHttpContentType != "" { 162 localVarHeaderParams["Content-Type"] = localVarHttpContentType 163 } 164 165 // to determine the Accept header 166 localVarHttpHeaderAccepts := []string{"application/json"} 167 168 // set Accept header 169 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 170 if localVarHttpHeaderAccept != "" { 171 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 172 } 173 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 174 if err != nil { 175 return localVarReturnValue, nil, err 176 } 177 178 localVarHttpResponse, err := a.client.callAPI(r) 179 if err != nil || localVarHttpResponse == nil { 180 return localVarReturnValue, localVarHttpResponse, err 181 } 182 183 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 184 localVarHttpResponse.Body.Close() 185 if err != nil { 186 return localVarReturnValue, localVarHttpResponse, err 187 } 188 189 if localVarHttpResponse.StatusCode >= 300 { 190 newErr := GenericOpenAPIError{ 191 body: localVarBody, 192 error: localVarHttpResponse.Status, 193 } 194 if localVarHttpResponse.StatusCode == 200 { 195 var v Channel 196 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 197 if err != nil { 198 newErr.error = err.Error() 199 return localVarReturnValue, localVarHttpResponse, newErr 200 } 201 newErr.model = v 202 return localVarReturnValue, localVarHttpResponse, newErr 203 } 204 return localVarReturnValue, localVarHttpResponse, newErr 205 } 206 207 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 208 if err != nil { 209 newErr := GenericOpenAPIError{ 210 body: localVarBody, 211 error: err.Error(), 212 } 213 return localVarReturnValue, localVarHttpResponse, newErr 214 } 215 216 return localVarReturnValue, localVarHttpResponse, nil 217 } 218 219 /* 220 ChannelsApiService Updating a channel 221 This method updates an existing channel from given attributes and renders it in case of success. Authorization​: only users that are able to update channels. 222 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 223 * @param channelId 224 * @param optional nil or *UpdateChannelOpts - Optional Parameters: 225 * @param "Name" (optional.String) - The name of the channel. 226 * @param "SourceIds" (optional.Interface of []string) - An array containing id of each source assigned to a channel (multiple). 227 * @param "SoftCapability" (optional.Int32) - Number of tasks that can be assigned to agent by the routing before they are considered \"occupied\". 228 * @param "HardCapability" (optional.Int32) - M​aximum number of tasks that can be assigned to agents. 229 * @param "TaskTimeoutSeconds" (optional.Int32) - this field defines the time before a task expires (in seconds). 230 @return Channel 231 */ 232 233 type UpdateChannelOpts struct { 234 Name optional.String 235 SourceIds optional.Interface 236 SoftCapability optional.Int32 237 HardCapability optional.Int32 238 TaskTimeoutSeconds optional.Int32 239 } 240 241 func (a *ChannelsApiService) UpdateChannel(ctx context.Context, channelId string, localVarOptionals *UpdateChannelOpts) (Channel, *http.Response, error) { 242 var ( 243 localVarHttpMethod = http.MethodPut 244 localVarPostBody interface{} 245 localVarFormFileName string 246 localVarFileName string 247 localVarFileBytes []byte 248 localVarReturnValue Channel 249 ) 250 251 // create path and map variables 252 localVarPath := a.client.cfg.BasePath + "/channels/{channelId}" 253 localVarPath = strings.Replace(localVarPath, "{"+"channelId"+"}", fmt.Sprintf("%v", channelId), -1) 254 255 localVarHeaderParams := make(map[string]string) 256 localVarQueryParams := url.Values{} 257 localVarFormParams := url.Values{} 258 259 if localVarOptionals != nil && localVarOptionals.Name.IsSet() { 260 localVarQueryParams.Add("name", parameterToString(localVarOptionals.Name.Value(), "")) 261 } 262 if localVarOptionals != nil && localVarOptionals.SourceIds.IsSet() { 263 t := localVarOptionals.SourceIds.Value() 264 if reflect.TypeOf(t).Kind() == reflect.Slice { 265 s := reflect.ValueOf(t) 266 for i := 0; i < s.Len(); i++ { 267 localVarQueryParams.Add("source_ids", parameterToString(s.Index(i), "multi")) 268 } 269 } else { 270 localVarQueryParams.Add("source_ids", parameterToString(t, "multi")) 271 } 272 } 273 if localVarOptionals != nil && localVarOptionals.SoftCapability.IsSet() { 274 localVarQueryParams.Add("soft_capability", parameterToString(localVarOptionals.SoftCapability.Value(), "")) 275 } 276 if localVarOptionals != nil && localVarOptionals.HardCapability.IsSet() { 277 localVarQueryParams.Add("hard_capability", parameterToString(localVarOptionals.HardCapability.Value(), "")) 278 } 279 if localVarOptionals != nil && localVarOptionals.TaskTimeoutSeconds.IsSet() { 280 localVarQueryParams.Add("task_timeout_seconds", parameterToString(localVarOptionals.TaskTimeoutSeconds.Value(), "")) 281 } 282 // to determine the Content-Type header 283 localVarHttpContentTypes := []string{} 284 285 // set Content-Type header 286 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 287 if localVarHttpContentType != "" { 288 localVarHeaderParams["Content-Type"] = localVarHttpContentType 289 } 290 291 // to determine the Accept header 292 localVarHttpHeaderAccepts := []string{"application/json"} 293 294 // set Accept header 295 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 296 if localVarHttpHeaderAccept != "" { 297 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 298 } 299 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 300 if err != nil { 301 return localVarReturnValue, nil, err 302 } 303 304 localVarHttpResponse, err := a.client.callAPI(r) 305 if err != nil || localVarHttpResponse == nil { 306 return localVarReturnValue, localVarHttpResponse, err 307 } 308 309 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 310 localVarHttpResponse.Body.Close() 311 if err != nil { 312 return localVarReturnValue, localVarHttpResponse, err 313 } 314 315 if localVarHttpResponse.StatusCode >= 300 { 316 newErr := GenericOpenAPIError{ 317 body: localVarBody, 318 error: localVarHttpResponse.Status, 319 } 320 if localVarHttpResponse.StatusCode == 200 { 321 var v Channel 322 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 323 if err != nil { 324 newErr.error = err.Error() 325 return localVarReturnValue, localVarHttpResponse, newErr 326 } 327 newErr.model = v 328 return localVarReturnValue, localVarHttpResponse, newErr 329 } 330 return localVarReturnValue, localVarHttpResponse, newErr 331 } 332 333 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 334 if err != nil { 335 newErr := GenericOpenAPIError{ 336 body: localVarBody, 337 error: err.Error(), 338 } 339 return localVarReturnValue, localVarHttpResponse, newErr 340 } 341 342 return localVarReturnValue, localVarHttpResponse, nil 343 }