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 }