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  }