github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_attachments.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 "os" 20 "strings" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type AttachmentsApiService service 29 30 /* 31 AttachmentsApiService Creating an attachment 32 This method allows you to create an new attachment. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param optional nil or *CreateAttachmentOpts - Optional Parameters: 35 * @param "File" (optional.Interface of *os.File) - 36 * @param "Private" (optional.String) - 37 @return Attachment 38 */ 39 40 type CreateAttachmentOpts struct { 41 File optional.Interface 42 Private optional.String 43 } 44 45 func (a *AttachmentsApiService) CreateAttachment(ctx context.Context, localVarOptionals *CreateAttachmentOpts) (Attachment, *http.Response, error) { 46 var ( 47 localVarHttpMethod = http.MethodPost 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 localVarReturnValue Attachment 53 ) 54 55 // create path and map variables 56 localVarPath := a.client.cfg.BasePath + "/attachments" 57 58 localVarHeaderParams := make(map[string]string) 59 localVarQueryParams := url.Values{} 60 localVarFormParams := url.Values{} 61 62 // to determine the Content-Type header 63 localVarHttpContentTypes := []string{"multipart/form-data:"} 64 65 // set Content-Type header 66 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 67 if localVarHttpContentType != "" { 68 localVarHeaderParams["Content-Type"] = localVarHttpContentType 69 } 70 71 // to determine the Accept header 72 localVarHttpHeaderAccepts := []string{"application/json"} 73 74 // set Accept header 75 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 76 if localVarHttpHeaderAccept != "" { 77 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 78 } 79 localVarFormFileName = "file" 80 var localVarFile *os.File 81 if localVarOptionals != nil && localVarOptionals.File.IsSet() { 82 localVarFileOk := false 83 localVarFile, localVarFileOk = localVarOptionals.File.Value().(*os.File) 84 if !localVarFileOk { 85 return localVarReturnValue, nil, reportError("file should be *os.File") 86 } 87 } 88 if localVarFile != nil { 89 fbs, _ := ioutil.ReadAll(localVarFile) 90 localVarFileBytes = fbs 91 localVarFileName = localVarFile.Name() 92 localVarFile.Close() 93 } 94 if localVarOptionals != nil && localVarOptionals.Private.IsSet() { 95 localVarFormParams.Add("private", parameterToString(localVarOptionals.Private.Value(), "")) 96 } 97 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 98 if err != nil { 99 return localVarReturnValue, nil, err 100 } 101 102 localVarHttpResponse, err := a.client.callAPI(r) 103 if err != nil || localVarHttpResponse == nil { 104 return localVarReturnValue, localVarHttpResponse, err 105 } 106 107 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 108 localVarHttpResponse.Body.Close() 109 if err != nil { 110 return localVarReturnValue, localVarHttpResponse, err 111 } 112 113 if localVarHttpResponse.StatusCode >= 300 { 114 newErr := GenericOpenAPIError{ 115 body: localVarBody, 116 error: localVarHttpResponse.Status, 117 } 118 if localVarHttpResponse.StatusCode == 200 { 119 var v Attachment 120 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 121 if err != nil { 122 newErr.error = err.Error() 123 return localVarReturnValue, localVarHttpResponse, newErr 124 } 125 newErr.model = v 126 return localVarReturnValue, localVarHttpResponse, newErr 127 } 128 return localVarReturnValue, localVarHttpResponse, newErr 129 } 130 131 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 132 if err != nil { 133 newErr := GenericOpenAPIError{ 134 body: localVarBody, 135 error: err.Error(), 136 } 137 return localVarReturnValue, localVarHttpResponse, newErr 138 } 139 140 return localVarReturnValue, localVarHttpResponse, nil 141 } 142 143 /* 144 AttachmentsApiService Getting all attachments 145 This method renders attachments ordered by creation date (descending). 146 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 147 * @param optional nil or *GetAllAttachmentsOpts - Optional Parameters: 148 * @param "Offset" (optional.Int32) - The record index to start. Default value is 0. 149 * @param "Limit" (optional.Int32) - The max number of records to return. Default value is 30, max value is 150. 150 @return GetAllAttachmentsResponse 151 */ 152 153 type GetAllAttachmentsOpts struct { 154 Offset optional.Int32 155 Limit optional.Int32 156 } 157 158 func (a *AttachmentsApiService) GetAllAttachments(ctx context.Context, localVarOptionals *GetAllAttachmentsOpts) (GetAllAttachmentsResponse, *http.Response, error) { 159 var ( 160 localVarHttpMethod = http.MethodGet 161 localVarPostBody interface{} 162 localVarFormFileName string 163 localVarFileName string 164 localVarFileBytes []byte 165 localVarReturnValue GetAllAttachmentsResponse 166 ) 167 168 // create path and map variables 169 localVarPath := a.client.cfg.BasePath + "/attachments" 170 171 localVarHeaderParams := make(map[string]string) 172 localVarQueryParams := url.Values{} 173 localVarFormParams := url.Values{} 174 175 if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { 176 localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) 177 } 178 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 179 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 180 } 181 // to determine the Content-Type header 182 localVarHttpContentTypes := []string{} 183 184 // set Content-Type header 185 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 186 if localVarHttpContentType != "" { 187 localVarHeaderParams["Content-Type"] = localVarHttpContentType 188 } 189 190 // to determine the Accept header 191 localVarHttpHeaderAccepts := []string{"application/json"} 192 193 // set Accept header 194 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 195 if localVarHttpHeaderAccept != "" { 196 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 197 } 198 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 199 if err != nil { 200 return localVarReturnValue, nil, err 201 } 202 203 localVarHttpResponse, err := a.client.callAPI(r) 204 if err != nil || localVarHttpResponse == nil { 205 return localVarReturnValue, localVarHttpResponse, err 206 } 207 208 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 209 localVarHttpResponse.Body.Close() 210 if err != nil { 211 return localVarReturnValue, localVarHttpResponse, err 212 } 213 214 if localVarHttpResponse.StatusCode >= 300 { 215 newErr := GenericOpenAPIError{ 216 body: localVarBody, 217 error: localVarHttpResponse.Status, 218 } 219 if localVarHttpResponse.StatusCode == 200 { 220 var v GetAllAttachmentsResponse 221 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 222 if err != nil { 223 newErr.error = err.Error() 224 return localVarReturnValue, localVarHttpResponse, newErr 225 } 226 newErr.model = v 227 return localVarReturnValue, localVarHttpResponse, newErr 228 } 229 return localVarReturnValue, localVarHttpResponse, newErr 230 } 231 232 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 233 if err != nil { 234 newErr := GenericOpenAPIError{ 235 body: localVarBody, 236 error: err.Error(), 237 } 238 return localVarReturnValue, localVarHttpResponse, newErr 239 } 240 241 return localVarReturnValue, localVarHttpResponse, nil 242 } 243 244 /* 245 AttachmentsApiService Getting an attachment from its id 246 This method renders an attachment from given id. 247 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 248 * @param attachmentId 249 @return Attachment 250 */ 251 func (a *AttachmentsApiService) GetAttachment(ctx context.Context, attachmentId string) (Attachment, *http.Response, error) { 252 var ( 253 localVarHttpMethod = http.MethodGet 254 localVarPostBody interface{} 255 localVarFormFileName string 256 localVarFileName string 257 localVarFileBytes []byte 258 localVarReturnValue Attachment 259 ) 260 261 // create path and map variables 262 localVarPath := a.client.cfg.BasePath + "/attachments/{attachmentId}" 263 localVarPath = strings.Replace(localVarPath, "{"+"attachmentId"+"}", fmt.Sprintf("%v", attachmentId), -1) 264 265 localVarHeaderParams := make(map[string]string) 266 localVarQueryParams := url.Values{} 267 localVarFormParams := url.Values{} 268 269 // to determine the Content-Type header 270 localVarHttpContentTypes := []string{} 271 272 // set Content-Type header 273 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 274 if localVarHttpContentType != "" { 275 localVarHeaderParams["Content-Type"] = localVarHttpContentType 276 } 277 278 // to determine the Accept header 279 localVarHttpHeaderAccepts := []string{"application/json"} 280 281 // set Accept header 282 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 283 if localVarHttpHeaderAccept != "" { 284 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 285 } 286 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 287 if err != nil { 288 return localVarReturnValue, nil, err 289 } 290 291 localVarHttpResponse, err := a.client.callAPI(r) 292 if err != nil || localVarHttpResponse == nil { 293 return localVarReturnValue, localVarHttpResponse, err 294 } 295 296 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 297 localVarHttpResponse.Body.Close() 298 if err != nil { 299 return localVarReturnValue, localVarHttpResponse, err 300 } 301 302 if localVarHttpResponse.StatusCode >= 300 { 303 newErr := GenericOpenAPIError{ 304 body: localVarBody, 305 error: localVarHttpResponse.Status, 306 } 307 if localVarHttpResponse.StatusCode == 200 { 308 var v Attachment 309 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 310 if err != nil { 311 newErr.error = err.Error() 312 return localVarReturnValue, localVarHttpResponse, newErr 313 } 314 newErr.model = v 315 return localVarReturnValue, localVarHttpResponse, newErr 316 } 317 return localVarReturnValue, localVarHttpResponse, newErr 318 } 319 320 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 321 if err != nil { 322 newErr := GenericOpenAPIError{ 323 body: localVarBody, 324 error: err.Error(), 325 } 326 return localVarReturnValue, localVarHttpResponse, newErr 327 } 328 329 return localVarReturnValue, localVarHttpResponse, nil 330 }