github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_identity_groups.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 IdentityGroupsApiService service
    29  
    30  /*
    31  IdentityGroupsApiService Getting all identity groups
    32  This method renders identity groups ordered by creation date (descending). Note that identity_group are created in a lazily only when data are manually added to an identity OR a two identity are merged altogether. That means that some identity DON’T have identity_group, and identity_group do not cover all identities.  Authorization​: no.
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param optional nil or *GetAllIdentityGroupsOpts - Optional Parameters:
    35   * @param "Firstname" (optional.String) -  To filter groups on given firstname.
    36   * @param "Lastname" (optional.String) -  To filter groups on given lastname.
    37   * @param "Email" (optional.String) -  To filter groups that have given email.
    38   * @param "Uuid" (optional.String) -  To filter groups that have given uuid.
    39   * @param "Sort" (optional.String) -  To change the criteria chosen to sort the identities. The value can be “created_at” or “updated_at”.
    40   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
    41   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
    42  @return GetAllIdentityGroupsResponse
    43  */
    44  
    45  type GetAllIdentityGroupsOpts struct {
    46  	Firstname optional.String
    47  	Lastname  optional.String
    48  	Email     optional.String
    49  	Uuid      optional.String
    50  	Sort      optional.String
    51  	Offset    optional.Int32
    52  	Limit     optional.Int32
    53  }
    54  
    55  func (a *IdentityGroupsApiService) GetAllIdentityGroups(ctx context.Context, localVarOptionals *GetAllIdentityGroupsOpts) (GetAllIdentityGroupsResponse, *http.Response, error) {
    56  	var (
    57  		localVarHttpMethod   = http.MethodGet
    58  		localVarPostBody     interface{}
    59  		localVarFormFileName string
    60  		localVarFileName     string
    61  		localVarFileBytes    []byte
    62  		localVarReturnValue  GetAllIdentityGroupsResponse
    63  	)
    64  
    65  	// create path and map variables
    66  	localVarPath := a.client.cfg.BasePath + "/identity_groups"
    67  
    68  	localVarHeaderParams := make(map[string]string)
    69  	localVarQueryParams := url.Values{}
    70  	localVarFormParams := url.Values{}
    71  
    72  	if localVarOptionals != nil && localVarOptionals.Firstname.IsSet() {
    73  		localVarQueryParams.Add("firstname", parameterToString(localVarOptionals.Firstname.Value(), ""))
    74  	}
    75  	if localVarOptionals != nil && localVarOptionals.Lastname.IsSet() {
    76  		localVarQueryParams.Add("lastname", parameterToString(localVarOptionals.Lastname.Value(), ""))
    77  	}
    78  	if localVarOptionals != nil && localVarOptionals.Email.IsSet() {
    79  		localVarQueryParams.Add("email", parameterToString(localVarOptionals.Email.Value(), ""))
    80  	}
    81  	if localVarOptionals != nil && localVarOptionals.Uuid.IsSet() {
    82  		localVarQueryParams.Add("uuid", parameterToString(localVarOptionals.Uuid.Value(), ""))
    83  	}
    84  	if localVarOptionals != nil && localVarOptionals.Sort.IsSet() {
    85  		localVarQueryParams.Add("sort", parameterToString(localVarOptionals.Sort.Value(), ""))
    86  	}
    87  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
    88  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
    89  	}
    90  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
    91  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
    92  	}
    93  	// to determine the Content-Type header
    94  	localVarHttpContentTypes := []string{}
    95  
    96  	// set Content-Type header
    97  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    98  	if localVarHttpContentType != "" {
    99  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   100  	}
   101  
   102  	// to determine the Accept header
   103  	localVarHttpHeaderAccepts := []string{"application/json"}
   104  
   105  	// set Accept header
   106  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   107  	if localVarHttpHeaderAccept != "" {
   108  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   109  	}
   110  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   111  	if err != nil {
   112  		return localVarReturnValue, nil, err
   113  	}
   114  
   115  	localVarHttpResponse, err := a.client.callAPI(r)
   116  	if err != nil || localVarHttpResponse == nil {
   117  		return localVarReturnValue, localVarHttpResponse, err
   118  	}
   119  
   120  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   121  	localVarHttpResponse.Body.Close()
   122  	if err != nil {
   123  		return localVarReturnValue, localVarHttpResponse, err
   124  	}
   125  
   126  	if localVarHttpResponse.StatusCode >= 300 {
   127  		newErr := GenericOpenAPIError{
   128  			body:  localVarBody,
   129  			error: localVarHttpResponse.Status,
   130  		}
   131  		if localVarHttpResponse.StatusCode == 200 {
   132  			var v GetAllIdentityGroupsResponse
   133  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   134  			if err != nil {
   135  				newErr.error = err.Error()
   136  				return localVarReturnValue, localVarHttpResponse, newErr
   137  			}
   138  			newErr.model = v
   139  			return localVarReturnValue, localVarHttpResponse, newErr
   140  		}
   141  		return localVarReturnValue, localVarHttpResponse, newErr
   142  	}
   143  
   144  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   145  	if err != nil {
   146  		newErr := GenericOpenAPIError{
   147  			body:  localVarBody,
   148  			error: err.Error(),
   149  		}
   150  		return localVarReturnValue, localVarHttpResponse, newErr
   151  	}
   152  
   153  	return localVarReturnValue, localVarHttpResponse, nil
   154  }
   155  
   156  /*
   157  IdentityGroupsApiService Getting an identity group from its id
   158  This method renders an identity group from given id.
   159   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   160   * @param identityGroupId
   161  @return IdentityGroup
   162  */
   163  func (a *IdentityGroupsApiService) GetIdentityGroup(ctx context.Context, identityGroupId string) (IdentityGroup, *http.Response, error) {
   164  	var (
   165  		localVarHttpMethod   = http.MethodGet
   166  		localVarPostBody     interface{}
   167  		localVarFormFileName string
   168  		localVarFileName     string
   169  		localVarFileBytes    []byte
   170  		localVarReturnValue  IdentityGroup
   171  	)
   172  
   173  	// create path and map variables
   174  	localVarPath := a.client.cfg.BasePath + "/identity_groups/{identityGroupId}"
   175  	localVarPath = strings.Replace(localVarPath, "{"+"identityGroupId"+"}", fmt.Sprintf("%v", identityGroupId), -1)
   176  
   177  	localVarHeaderParams := make(map[string]string)
   178  	localVarQueryParams := url.Values{}
   179  	localVarFormParams := url.Values{}
   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 IdentityGroup
   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  IdentityGroupsApiService Updating an identity group
   246  This method updates an identity group from given attributes and renders it in case of success.  Authorization​: no.
   247   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   248   * @param identityGroupId
   249   * @param optional nil or *UpdateIdentityGroupOpts - Optional Parameters:
   250   * @param "Company" (optional.String) -  Identity company.
   251   * @param "CustomFieldValuesCustomFieldKey" (optional.String) -  Identity custom field with key « custom_field_key ». It
   252   * @param "Emails" (optional.Interface of []string) -  Identity emails (multiple).
   253   * @param "Firstname" (optional.String) -  Identity firstname.
   254   * @param "Gender" (optional.String) -  Identity’s gender. It can be \"man\", \"woman\" or empty.
   255   * @param "HomePhones" (optional.Interface of []string) -  Identity home phones (mutiple).
   256   * @param "Lastname" (optional.String) -  Identity lastname.
   257   * @param "MobilePhones" (optional.Interface of []string) -  Identity mobile phones (multiple).
   258   * @param "Notes" (optional.String) -  Identity notes.
   259   * @param "TagIds" (optional.Interface of []string) -  Identity tag ids (multiple).
   260  @return IdentityGroup
   261  */
   262  
   263  type UpdateIdentityGroupOpts struct {
   264  	Company                         optional.String
   265  	CustomFieldValuesCustomFieldKey optional.String
   266  	Emails                          optional.Interface
   267  	Firstname                       optional.String
   268  	Gender                          optional.String
   269  	HomePhones                      optional.Interface
   270  	Lastname                        optional.String
   271  	MobilePhones                    optional.Interface
   272  	Notes                           optional.String
   273  	TagIds                          optional.Interface
   274  }
   275  
   276  func (a *IdentityGroupsApiService) UpdateIdentityGroup(ctx context.Context, identityGroupId string, localVarOptionals *UpdateIdentityGroupOpts) (IdentityGroup, *http.Response, error) {
   277  	var (
   278  		localVarHttpMethod   = http.MethodPut
   279  		localVarPostBody     interface{}
   280  		localVarFormFileName string
   281  		localVarFileName     string
   282  		localVarFileBytes    []byte
   283  		localVarReturnValue  IdentityGroup
   284  	)
   285  
   286  	// create path and map variables
   287  	localVarPath := a.client.cfg.BasePath + "/identity_groups/{identityGroupId}"
   288  	localVarPath = strings.Replace(localVarPath, "{"+"identityGroupId"+"}", fmt.Sprintf("%v", identityGroupId), -1)
   289  
   290  	localVarHeaderParams := make(map[string]string)
   291  	localVarQueryParams := url.Values{}
   292  	localVarFormParams := url.Values{}
   293  
   294  	if localVarOptionals != nil && localVarOptionals.Company.IsSet() {
   295  		localVarQueryParams.Add("company", parameterToString(localVarOptionals.Company.Value(), ""))
   296  	}
   297  	if localVarOptionals != nil && localVarOptionals.CustomFieldValuesCustomFieldKey.IsSet() {
   298  		localVarQueryParams.Add("custom_field_values[custom_field_key]", parameterToString(localVarOptionals.CustomFieldValuesCustomFieldKey.Value(), ""))
   299  	}
   300  	if localVarOptionals != nil && localVarOptionals.Emails.IsSet() {
   301  		t := localVarOptionals.Emails.Value()
   302  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   303  			s := reflect.ValueOf(t)
   304  			for i := 0; i < s.Len(); i++ {
   305  				localVarQueryParams.Add("emails", parameterToString(s.Index(i), "multi"))
   306  			}
   307  		} else {
   308  			localVarQueryParams.Add("emails", parameterToString(t, "multi"))
   309  		}
   310  	}
   311  	if localVarOptionals != nil && localVarOptionals.Firstname.IsSet() {
   312  		localVarQueryParams.Add("firstname", parameterToString(localVarOptionals.Firstname.Value(), ""))
   313  	}
   314  	if localVarOptionals != nil && localVarOptionals.Gender.IsSet() {
   315  		localVarQueryParams.Add("gender", parameterToString(localVarOptionals.Gender.Value(), ""))
   316  	}
   317  	if localVarOptionals != nil && localVarOptionals.HomePhones.IsSet() {
   318  		t := localVarOptionals.HomePhones.Value()
   319  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   320  			s := reflect.ValueOf(t)
   321  			for i := 0; i < s.Len(); i++ {
   322  				localVarQueryParams.Add("home_phones", parameterToString(s.Index(i), "multi"))
   323  			}
   324  		} else {
   325  			localVarQueryParams.Add("home_phones", parameterToString(t, "multi"))
   326  		}
   327  	}
   328  	if localVarOptionals != nil && localVarOptionals.Lastname.IsSet() {
   329  		localVarQueryParams.Add("lastname", parameterToString(localVarOptionals.Lastname.Value(), ""))
   330  	}
   331  	if localVarOptionals != nil && localVarOptionals.MobilePhones.IsSet() {
   332  		t := localVarOptionals.MobilePhones.Value()
   333  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   334  			s := reflect.ValueOf(t)
   335  			for i := 0; i < s.Len(); i++ {
   336  				localVarQueryParams.Add("mobile_phones", parameterToString(s.Index(i), "multi"))
   337  			}
   338  		} else {
   339  			localVarQueryParams.Add("mobile_phones", parameterToString(t, "multi"))
   340  		}
   341  	}
   342  	if localVarOptionals != nil && localVarOptionals.Notes.IsSet() {
   343  		localVarQueryParams.Add("notes", parameterToString(localVarOptionals.Notes.Value(), ""))
   344  	}
   345  	if localVarOptionals != nil && localVarOptionals.TagIds.IsSet() {
   346  		t := localVarOptionals.TagIds.Value()
   347  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   348  			s := reflect.ValueOf(t)
   349  			for i := 0; i < s.Len(); i++ {
   350  				localVarQueryParams.Add("tag_ids", parameterToString(s.Index(i), "multi"))
   351  			}
   352  		} else {
   353  			localVarQueryParams.Add("tag_ids", parameterToString(t, "multi"))
   354  		}
   355  	}
   356  	// to determine the Content-Type header
   357  	localVarHttpContentTypes := []string{}
   358  
   359  	// set Content-Type header
   360  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   361  	if localVarHttpContentType != "" {
   362  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   363  	}
   364  
   365  	// to determine the Accept header
   366  	localVarHttpHeaderAccepts := []string{"application/json"}
   367  
   368  	// set Accept header
   369  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   370  	if localVarHttpHeaderAccept != "" {
   371  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   372  	}
   373  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   374  	if err != nil {
   375  		return localVarReturnValue, nil, err
   376  	}
   377  
   378  	localVarHttpResponse, err := a.client.callAPI(r)
   379  	if err != nil || localVarHttpResponse == nil {
   380  		return localVarReturnValue, localVarHttpResponse, err
   381  	}
   382  
   383  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   384  	localVarHttpResponse.Body.Close()
   385  	if err != nil {
   386  		return localVarReturnValue, localVarHttpResponse, err
   387  	}
   388  
   389  	if localVarHttpResponse.StatusCode >= 300 {
   390  		newErr := GenericOpenAPIError{
   391  			body:  localVarBody,
   392  			error: localVarHttpResponse.Status,
   393  		}
   394  		if localVarHttpResponse.StatusCode == 200 {
   395  			var v IdentityGroup
   396  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   397  			if err != nil {
   398  				newErr.error = err.Error()
   399  				return localVarReturnValue, localVarHttpResponse, newErr
   400  			}
   401  			newErr.model = v
   402  			return localVarReturnValue, localVarHttpResponse, newErr
   403  		}
   404  		return localVarReturnValue, localVarHttpResponse, newErr
   405  	}
   406  
   407  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   408  	if err != nil {
   409  		newErr := GenericOpenAPIError{
   410  			body:  localVarBody,
   411  			error: err.Error(),
   412  		}
   413  		return localVarReturnValue, localVarHttpResponse, newErr
   414  	}
   415  
   416  	return localVarReturnValue, localVarHttpResponse, nil
   417  }