|
1 | 1 | package plivo
|
2 | 2 |
|
3 |
| -import "log" |
| 3 | +import ( |
| 4 | + "log" |
| 5 | + "net/http" |
| 6 | +) |
4 | 7 |
|
5 | 8 | type ListMPCMeta struct {
|
6 | 9 | Previous *string
|
@@ -122,6 +125,11 @@ type MultiPartyCallStartRecordingParams struct {
|
122 | 125 | RecordingCallbackMethod string `json:"recording_callback_method,omitempty" url:"recording_callback_method,omitempty"`
|
123 | 126 | TranscriptionUrl string `json:"transcription_url,omitempty" url:"transcription_url,omitempty"`
|
124 | 127 | Transcript bool `json:"transcript,omitempty" url:"transcript,omitempty"`
|
| 128 | + RecordTrackType string `json:"record_track_type" url:"record_track_type"` |
| 129 | +} |
| 130 | + |
| 131 | +type MultiPartyCallParticipantRecordingParams struct { |
| 132 | + RecordTrackType string `json:"record_track_type" url:"record_track_type"` |
125 | 133 | }
|
126 | 134 |
|
127 | 135 | type MultiPartyCallListResponse struct {
|
@@ -350,31 +358,58 @@ func (service *MultiPartyCallService) StartParticipantRecording(basicParams Mult
|
350 | 358 | return
|
351 | 359 | }
|
352 | 360 |
|
353 |
| -func (service *MultiPartyCallService) StopParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) { |
| 361 | +func (service *MultiPartyCallService) StopParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) { |
354 | 362 | mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
|
355 |
| - req, err := service.client.NewRequest("DELETE", nil, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId) |
356 |
| - if err != nil { |
357 |
| - return |
| 363 | + var req *http.Request |
| 364 | + if len(params) == 0 { |
| 365 | + req, err = service.client.NewRequest("DELETE", nil, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId) |
| 366 | + if err != nil { |
| 367 | + return |
| 368 | + } |
| 369 | + } else { |
| 370 | + param := params[0] |
| 371 | + req, err = service.client.NewRequest("DELETE", param, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId) |
| 372 | + if err != nil { |
| 373 | + return |
| 374 | + } |
358 | 375 | }
|
359 | 376 | err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
|
360 | 377 | return
|
361 | 378 | }
|
362 | 379 |
|
363 |
| -func (service *MultiPartyCallService) PauseParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) { |
| 380 | +func (service *MultiPartyCallService) PauseParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) { |
364 | 381 | mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
|
365 |
| - req, err := service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId) |
366 |
| - if err != nil { |
367 |
| - return |
| 382 | + var req *http.Request |
| 383 | + if len(params) == 0 { |
| 384 | + req, err = service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId) |
| 385 | + if err != nil { |
| 386 | + return |
| 387 | + } |
| 388 | + } else { |
| 389 | + param := params[0] |
| 390 | + req, err = service.client.NewRequest("POST", param, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId) |
| 391 | + if err != nil { |
| 392 | + return |
| 393 | + } |
368 | 394 | }
|
369 | 395 | err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
|
370 | 396 | return
|
371 | 397 | }
|
372 | 398 |
|
373 |
| -func (service *MultiPartyCallService) ResumeParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) { |
| 399 | +func (service *MultiPartyCallService) ResumeParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) { |
374 | 400 | mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
|
375 |
| - req, err := service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId) |
376 |
| - if err != nil { |
377 |
| - return |
| 401 | + var req *http.Request |
| 402 | + if len(params) == 0 { |
| 403 | + req, err = service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId) |
| 404 | + if err != nil { |
| 405 | + return |
| 406 | + } |
| 407 | + } else { |
| 408 | + param := params[0] |
| 409 | + req, err = service.client.NewRequest("POST", param, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId) |
| 410 | + if err != nil { |
| 411 | + return |
| 412 | + } |
378 | 413 | }
|
379 | 414 | err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
|
380 | 415 | return
|
|
0 commit comments