github.com/twilio/twilio-go@v1.20.1/rest/frontline/v1/users.go (about) 1 /* 2 * This code was generated by 3 * ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ 4 * | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ 5 * | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ 6 * 7 * Twilio - Frontline 8 * This is the public Twilio REST API. 9 * 10 * NOTE: This class is auto generated by OpenAPI Generator. 11 * https://openapi-generator.tech 12 * Do not edit the class manually. 13 */ 14 15 package openapi 16 17 import ( 18 "encoding/json" 19 "fmt" 20 "net/url" 21 "strings" 22 ) 23 24 // Fetch a frontline user 25 func (c *ApiService) FetchUser(Sid string) (*FrontlineV1User, error) { 26 path := "/v1/Users/{Sid}" 27 path = strings.Replace(path, "{"+"Sid"+"}", Sid, -1) 28 29 data := url.Values{} 30 headers := make(map[string]interface{}) 31 32 resp, err := c.requestHandler.Get(c.baseURL+path, data, headers) 33 if err != nil { 34 return nil, err 35 } 36 37 defer resp.Body.Close() 38 39 ps := &FrontlineV1User{} 40 if err := json.NewDecoder(resp.Body).Decode(ps); err != nil { 41 return nil, err 42 } 43 44 return ps, err 45 } 46 47 // Optional parameters for the method 'UpdateUser' 48 type UpdateUserParams struct { 49 // The string that you assigned to describe the User. 50 FriendlyName *string `json:"FriendlyName,omitempty"` 51 // The avatar URL which will be shown in Frontline application. 52 Avatar *string `json:"Avatar,omitempty"` 53 // 54 State *string `json:"State,omitempty"` 55 // Whether the User is available for new conversations. Set to `false` to prevent User from receiving new inbound conversations if you are using [Pool Routing](https://www.twilio.com/docs/frontline/handle-incoming-conversations#3-pool-routing). 56 IsAvailable *bool `json:"IsAvailable,omitempty"` 57 } 58 59 func (params *UpdateUserParams) SetFriendlyName(FriendlyName string) *UpdateUserParams { 60 params.FriendlyName = &FriendlyName 61 return params 62 } 63 func (params *UpdateUserParams) SetAvatar(Avatar string) *UpdateUserParams { 64 params.Avatar = &Avatar 65 return params 66 } 67 func (params *UpdateUserParams) SetState(State string) *UpdateUserParams { 68 params.State = &State 69 return params 70 } 71 func (params *UpdateUserParams) SetIsAvailable(IsAvailable bool) *UpdateUserParams { 72 params.IsAvailable = &IsAvailable 73 return params 74 } 75 76 // Update an existing frontline user 77 func (c *ApiService) UpdateUser(Sid string, params *UpdateUserParams) (*FrontlineV1User, error) { 78 path := "/v1/Users/{Sid}" 79 path = strings.Replace(path, "{"+"Sid"+"}", Sid, -1) 80 81 data := url.Values{} 82 headers := make(map[string]interface{}) 83 84 if params != nil && params.FriendlyName != nil { 85 data.Set("FriendlyName", *params.FriendlyName) 86 } 87 if params != nil && params.Avatar != nil { 88 data.Set("Avatar", *params.Avatar) 89 } 90 if params != nil && params.State != nil { 91 data.Set("State", *params.State) 92 } 93 if params != nil && params.IsAvailable != nil { 94 data.Set("IsAvailable", fmt.Sprint(*params.IsAvailable)) 95 } 96 97 resp, err := c.requestHandler.Post(c.baseURL+path, data, headers) 98 if err != nil { 99 return nil, err 100 } 101 102 defer resp.Body.Close() 103 104 ps := &FrontlineV1User{} 105 if err := json.NewDecoder(resp.Body).Decode(ps); err != nil { 106 return nil, err 107 } 108 109 return ps, err 110 }