1
- package messagebird
1
+ package voice
2
2
3
3
import (
4
4
"encoding/json"
5
5
"fmt"
6
6
"time"
7
+
8
+ "github.com/messagebird/go-rest-api"
7
9
)
8
10
9
11
// CallFlowList is a single page from the total collection of call flows.
@@ -111,9 +113,9 @@ func (callflow *CallFlow) UnmarshalJSON(data []byte) error {
111
113
// CallFlowByID fetches a callflow by it's ID.
112
114
//
113
115
// An error is returned if no such call flow exists or is accessible.
114
- func ( c * Client ) CallFlowByID ( id string ) (* CallFlow , error ) {
116
+ func CallFlowByID ( client * messagebird. Client , id string ) (* CallFlow , error ) {
115
117
callflow := & CallFlow {}
116
- err := c .Request (callflow , "GET" , "call-flow/" + id , nil )
118
+ err := client .Request (callflow , "GET" , "call-flow/" + id , nil )
117
119
return callflow , err
118
120
}
119
121
@@ -122,41 +124,43 @@ func (c *Client) CallFlowByID(id string) (*CallFlow, error) {
122
124
// Page indices start at 1.
123
125
//
124
126
// Typically, a page contains 10 callflows.
125
- func ( c * Client ) CallFlows ( page int ) (* CallFlowList , error ) {
127
+ func CallFlows ( client * messagebird. Client , page int ) (* CallFlowList , error ) {
126
128
list := & CallFlowList {}
127
- err := c .Request (list , "GET" , fmt .Sprintf ("call-flow/?page=%d" , page ), nil )
129
+ err := client .Request (list , "GET" , fmt .Sprintf ("call-flow/?page=%d" , page ), nil )
128
130
return list , err
129
131
}
130
132
131
- // CreateCallFlow creates the specified callflow.
133
+ // CreateCallFlow creates the callflow remotely .
132
134
//
133
- // The updated callflow is returned .
134
- func (c * Client ) CreateCallFlow ( callflow * CallFlow ) ( * CallFlow , error ) {
135
+ // The callflow is updated in-place .
136
+ func (callflow * CallFlow ) Create ( client * messagebird. Client ) error {
135
137
var data struct {
136
138
Data []CallFlow `json:"data"`
137
139
}
138
- if err := c .Request (& data , "POST" , "call-flow/" , callflow ); err != nil {
139
- return nil , err
140
+ if err := client .Request (& data , "POST" , "call-flow/" , callflow ); err != nil {
141
+ return err
140
142
}
141
- return & data .Data [0 ], nil
143
+ * callflow = data .Data [0 ]
144
+ return nil
142
145
}
143
146
144
- // UpdateCallFlow updates the specified call flow by overwriting it.
147
+ // UpdateCallFlow updates the call flow by overwriting it.
145
148
//
146
149
// An error is returned if no such call flow exists or is accessible.
147
- func (c * Client ) UpdateCallFlow ( callflow * CallFlow ) ( * CallFlow , error ) {
150
+ func (callflow * CallFlow ) Update ( client * messagebird. Client ) error {
148
151
var data struct {
149
152
Data []CallFlow `json:"data"`
150
153
}
151
- if err := c .Request (callflow , "PUT" , "call-flow/" + callflow .ID , callflow ); err != nil {
152
- return nil , err
154
+ if err := client .Request (callflow , "PUT" , "call-flow/" + callflow .ID , callflow ); err != nil {
155
+ return err
153
156
}
154
- return & data .Data [0 ], nil
157
+ * callflow = data .Data [0 ]
158
+ return nil
155
159
}
156
160
157
- // DeleteCallFlow deletes the specified CallFlow.
158
- func (c * Client ) DeleteCallFlow ( callflow * CallFlow ) error {
159
- return c .Request (nil , "DELETE" , "call-flow/" + callflow .ID , nil )
161
+ // DeleteCallFlow deletes the CallFlow.
162
+ func (callflow * CallFlow ) Delete ( client * messagebird. Client ) error {
163
+ return client .Request (nil , "DELETE" , "call-flow/" + callflow .ID , nil )
160
164
}
161
165
162
166
// A CallFlowStep is a single step that can be taken in a callflow.
0 commit comments