wrtc test

This commit is contained in:
boufni95 2025-01-27 21:16:53 +00:00
parent aa47bbe7c2
commit e7aef1e3ab
15 changed files with 423 additions and 6 deletions

View file

@ -123,6 +123,8 @@ type Client struct {
SetMockAppBalance func(req SetMockAppBalanceRequest) error
SetMockAppUserBalance func(req SetMockAppUserBalanceRequest) error
SetMockInvoiceAsPaid func(req SetMockInvoiceAsPaidRequest) error
SubToWebRtcCandidates func() (*WebRtcCandidate, error)
SubmitWebRtcMessage func(req WebRtcMessage) (*WebRtcAnswer, error)
UpdateCallbackUrl func(req CallbackUrl) (*CallbackUrl, error)
UpdateChannelPolicy func(req UpdateChannelPolicyRequest) error
UpdateUserOffer func(req OfferConfig) error
@ -1863,6 +1865,36 @@ func NewClient(params ClientParams) *Client {
}
return nil
},
// server streaming method: SubToWebRtcCandidates not implemented
SubmitWebRtcMessage: func(req WebRtcMessage) (*WebRtcAnswer, error) {
auth, err := params.RetrieveMetricsAuth()
if err != nil {
return nil, err
}
finalRoute := "/api/upgrade/wrtc"
body, err := json.Marshal(req)
if err != nil {
return nil, err
}
resBody, err := doPostRequest(params.BaseURL+finalRoute, body, auth)
if err != nil {
return nil, err
}
result := ResultError{}
err = json.Unmarshal(resBody, &result)
if err != nil {
return nil, err
}
if result.Status == "ERROR" {
return nil, fmt.Errorf(result.Reason)
}
res := WebRtcAnswer{}
err = json.Unmarshal(resBody, &res)
if err != nil {
return nil, err
}
return &res, nil
},
UpdateCallbackUrl: func(req CallbackUrl) (*CallbackUrl, error) {
auth, err := params.RetrieveUserAuth()
if err != nil {

View file

@ -19,6 +19,7 @@ type GuestWithPubContext struct {
Pub string `json:"pub"`
}
type MetricsContext struct {
App_id string `json:"app_id"`
Operator_id string `json:"operator_id"`
}
type UserContext struct {
@ -632,6 +633,15 @@ type UsersInfo struct {
No_balance int64 `json:"no_balance"`
Total int64 `json:"total"`
}
type WebRtcAnswer struct {
Answer string `json:"answer"`
}
type WebRtcCandidate struct {
Candidate string `json:"candidate"`
}
type WebRtcMessage struct {
Message *WebRtcMessage_message `json:"message"`
}
type DebitResponse_response_type string
const (
@ -696,3 +706,15 @@ type UpdateChannelPolicyRequest_update struct {
All *Empty `json:"all"`
Channel_point *string `json:"channel_point"`
}
type WebRtcMessage_message_type string
const (
CANDIDATE WebRtcMessage_message_type = "candidate"
OFFER WebRtcMessage_message_type = "offer"
)
type WebRtcMessage_message struct {
Type WebRtcMessage_message_type `json:"type"`
Candidate *string `json:"candidate"`
Offer *string `json:"offer"`
}