github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_agent_status.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 "strings" 20 ) 21 22 // Linger please 23 var ( 24 _ context.Context 25 ) 26 27 type AgentStatusApiService service 28 29 /* 30 AgentStatusApiService Changing an agent's status 31 This method updates an agent's availability. Can be used to set either channels statuses OR custom status. If both parameters are provided, ignores custom status.The status parameter **MUST** be either “away” or “available”. Authorization: only users that have the right to monitor the task view. 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param agentId 34 * @param optional nil or *ChangeAgentStatusOpts - Optional Parameters: 35 * @param "Status" (optional.String) - A hash of channel_id => availability (must contain all channels). 36 * @param "CustomStatusId" (optional.String) - id of presence status (optional) 37 @return AgentStatus 38 */ 39 40 type ChangeAgentStatusOpts struct { 41 Status optional.String 42 CustomStatusId optional.String 43 } 44 45 func (a *AgentStatusApiService) ChangeAgentStatus(ctx context.Context, agentId string, localVarOptionals *ChangeAgentStatusOpts) (AgentStatus, *http.Response, error) { 46 var ( 47 localVarHttpMethod = http.MethodPut 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 localVarReturnValue AgentStatus 53 ) 54 55 // create path and map variables 56 localVarPath := a.client.cfg.BasePath + "/status/{agentId}" 57 localVarPath = strings.Replace(localVarPath, "{"+"agentId"+"}", fmt.Sprintf("%v", agentId), -1) 58 59 localVarHeaderParams := make(map[string]string) 60 localVarQueryParams := url.Values{} 61 localVarFormParams := url.Values{} 62 63 if localVarOptionals != nil && localVarOptionals.Status.IsSet() { 64 localVarQueryParams.Add("status", parameterToString(localVarOptionals.Status.Value(), "")) 65 } 66 if localVarOptionals != nil && localVarOptionals.CustomStatusId.IsSet() { 67 localVarQueryParams.Add("custom_status_id", parameterToString(localVarOptionals.CustomStatusId.Value(), "")) 68 } 69 // to determine the Content-Type header 70 localVarHttpContentTypes := []string{} 71 72 // set Content-Type header 73 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 74 if localVarHttpContentType != "" { 75 localVarHeaderParams["Content-Type"] = localVarHttpContentType 76 } 77 78 // to determine the Accept header 79 localVarHttpHeaderAccepts := []string{"application/json"} 80 81 // set Accept header 82 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 83 if localVarHttpHeaderAccept != "" { 84 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 85 } 86 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 87 if err != nil { 88 return localVarReturnValue, nil, err 89 } 90 91 localVarHttpResponse, err := a.client.callAPI(r) 92 if err != nil || localVarHttpResponse == nil { 93 return localVarReturnValue, localVarHttpResponse, err 94 } 95 96 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 97 localVarHttpResponse.Body.Close() 98 if err != nil { 99 return localVarReturnValue, localVarHttpResponse, err 100 } 101 102 if localVarHttpResponse.StatusCode >= 300 { 103 newErr := GenericOpenAPIError{ 104 body: localVarBody, 105 error: localVarHttpResponse.Status, 106 } 107 if localVarHttpResponse.StatusCode == 200 { 108 var v AgentStatus 109 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 110 if err != nil { 111 newErr.error = err.Error() 112 return localVarReturnValue, localVarHttpResponse, newErr 113 } 114 newErr.model = v 115 return localVarReturnValue, localVarHttpResponse, newErr 116 } 117 return localVarReturnValue, localVarHttpResponse, newErr 118 } 119 120 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 121 if err != nil { 122 newErr := GenericOpenAPIError{ 123 body: localVarBody, 124 error: err.Error(), 125 } 126 return localVarReturnValue, localVarHttpResponse, newErr 127 } 128 129 return localVarReturnValue, localVarHttpResponse, nil 130 } 131 132 /* 133 AgentStatusApiService Get a connected agent status 134 This method get the status of a connected agent. Returns a 404 if the user does not exist (not_found) or if he’s not connected (disconnected). Authorization: only users that have the right to monitor the task view. 135 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 136 * @param agentId 137 @return AgentStatus 138 */ 139 func (a *AgentStatusApiService) GetAgentStatus(ctx context.Context, agentId string) (AgentStatus, *http.Response, error) { 140 var ( 141 localVarHttpMethod = http.MethodGet 142 localVarPostBody interface{} 143 localVarFormFileName string 144 localVarFileName string 145 localVarFileBytes []byte 146 localVarReturnValue AgentStatus 147 ) 148 149 // create path and map variables 150 localVarPath := a.client.cfg.BasePath + "/status/{agentId}" 151 localVarPath = strings.Replace(localVarPath, "{"+"agentId"+"}", fmt.Sprintf("%v", agentId), -1) 152 153 localVarHeaderParams := make(map[string]string) 154 localVarQueryParams := url.Values{} 155 localVarFormParams := url.Values{} 156 157 // to determine the Content-Type header 158 localVarHttpContentTypes := []string{} 159 160 // set Content-Type header 161 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 162 if localVarHttpContentType != "" { 163 localVarHeaderParams["Content-Type"] = localVarHttpContentType 164 } 165 166 // to determine the Accept header 167 localVarHttpHeaderAccepts := []string{"application/json"} 168 169 // set Accept header 170 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 171 if localVarHttpHeaderAccept != "" { 172 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 173 } 174 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 175 if err != nil { 176 return localVarReturnValue, nil, err 177 } 178 179 localVarHttpResponse, err := a.client.callAPI(r) 180 if err != nil || localVarHttpResponse == nil { 181 return localVarReturnValue, localVarHttpResponse, err 182 } 183 184 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 185 localVarHttpResponse.Body.Close() 186 if err != nil { 187 return localVarReturnValue, localVarHttpResponse, err 188 } 189 190 if localVarHttpResponse.StatusCode >= 300 { 191 newErr := GenericOpenAPIError{ 192 body: localVarBody, 193 error: localVarHttpResponse.Status, 194 } 195 if localVarHttpResponse.StatusCode == 200 { 196 var v AgentStatus 197 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 198 if err != nil { 199 newErr.error = err.Error() 200 return localVarReturnValue, localVarHttpResponse, newErr 201 } 202 newErr.model = v 203 return localVarReturnValue, localVarHttpResponse, newErr 204 } 205 return localVarReturnValue, localVarHttpResponse, newErr 206 } 207 208 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 209 if err != nil { 210 newErr := GenericOpenAPIError{ 211 body: localVarBody, 212 error: err.Error(), 213 } 214 return localVarReturnValue, localVarHttpResponse, newErr 215 } 216 217 return localVarReturnValue, localVarHttpResponse, nil 218 } 219 220 /* 221 AgentStatusApiService Get all connected agents status 222 This method get all currently connected agents & their status. Authorization: only users that have the right to monitor the task view. 223 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 224 @return []AgentStatus 225 */ 226 func (a *AgentStatusApiService) GetAllAgentStatus(ctx context.Context) ([]AgentStatus, *http.Response, error) { 227 var ( 228 localVarHttpMethod = http.MethodGet 229 localVarPostBody interface{} 230 localVarFormFileName string 231 localVarFileName string 232 localVarFileBytes []byte 233 localVarReturnValue []AgentStatus 234 ) 235 236 // create path and map variables 237 localVarPath := a.client.cfg.BasePath + "/status" 238 239 localVarHeaderParams := make(map[string]string) 240 localVarQueryParams := url.Values{} 241 localVarFormParams := url.Values{} 242 243 // to determine the Content-Type header 244 localVarHttpContentTypes := []string{} 245 246 // set Content-Type header 247 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 248 if localVarHttpContentType != "" { 249 localVarHeaderParams["Content-Type"] = localVarHttpContentType 250 } 251 252 // to determine the Accept header 253 localVarHttpHeaderAccepts := []string{"application/json"} 254 255 // set Accept header 256 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 257 if localVarHttpHeaderAccept != "" { 258 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 259 } 260 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 261 if err != nil { 262 return localVarReturnValue, nil, err 263 } 264 265 localVarHttpResponse, err := a.client.callAPI(r) 266 if err != nil || localVarHttpResponse == nil { 267 return localVarReturnValue, localVarHttpResponse, err 268 } 269 270 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 271 localVarHttpResponse.Body.Close() 272 if err != nil { 273 return localVarReturnValue, localVarHttpResponse, err 274 } 275 276 if localVarHttpResponse.StatusCode >= 300 { 277 newErr := GenericOpenAPIError{ 278 body: localVarBody, 279 error: localVarHttpResponse.Status, 280 } 281 if localVarHttpResponse.StatusCode == 200 { 282 var v []AgentStatus 283 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 284 if err != nil { 285 newErr.error = err.Error() 286 return localVarReturnValue, localVarHttpResponse, newErr 287 } 288 newErr.model = v 289 return localVarReturnValue, localVarHttpResponse, newErr 290 } 291 return localVarReturnValue, localVarHttpResponse, newErr 292 } 293 294 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 295 if err != nil { 296 newErr := GenericOpenAPIError{ 297 body: localVarBody, 298 error: err.Error(), 299 } 300 return localVarReturnValue, localVarHttpResponse, newErr 301 } 302 303 return localVarReturnValue, localVarHttpResponse, nil 304 }