From 077330efd0c9dd85eb405d00572140f6a2ab3a76 Mon Sep 17 00:00:00 2001 From: Allan Nava Date: Thu, 6 Jun 2024 12:12:38 +0200 Subject: [PATCH] added api restreamer --- compress/api_restreamer.go | 55 ++++++++++++++++++++++++++++++++++---- compress/compress.go | 2 +- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/compress/api_restreamer.go b/compress/api_restreamer.go index 11d48f0..88e1207 100644 --- a/compress/api_restreamer.go +++ b/compress/api_restreamer.go @@ -146,7 +146,7 @@ func (o *compress) RestreamerHlsStart(instanceName string, streamProtocol string if err := json.Unmarshal(resp.Body(), &obj); err != nil { return nil, err } - return nil, nil + return &obj, nil } @@ -174,15 +174,60 @@ func (o *compress) RestreamerHlsStop(instanceName string, streamProtocol string if err := json.Unmarshal(resp.Body(), &obj); err != nil { return nil, err } - return nil, nil + return &obj, nil } func (o *compress) RestreamerEventsHistory( startFrom int, amount int) ([]RestreamerEvent, error) { - return nil, nil + requestBody := &eventsHistoryRequest{ + BaseModel: BaseModel{ClientId: o.GetCliendId(), ApiKey: o.apiKey}, + StartFrom: startFrom, + amount: amount, + } + if errs := validator.Validate(requestBody); errs != nil { + // values not valid, deal with errors here + return nil, errs + } + resp, err := o.restyPost(EVENTS_HISTORY(), requestBody) + if err != nil { + return nil, err + } + o.debugPrint(resp) + if resp.IsError() { + return nil, fmt.Errorf("") + } + var obj []RestreamerEvent + if err := json.Unmarshal(resp.Body(), &obj); err != nil { + return nil, err + } + return &obj, nil } -func (o *compress) GenerateVodProxy(request generateVodRequest) (*generateVodResponse, error) { - return nil, nil +func (o *compress) GenerateVodProxy(eventId string, instanceName string, title string, ) (*generateVodResponse, error) { + requestBody := &generateVodRequest{ + BaseModel: BaseModel{ClientId: o.GetCliendId(), ApiKey: o.apiKey}, + ThumbnailsNumber:"0", + EventID: eventId, + CustomerID: o.customerId, + Title: title, + Instance: instanceName, + } + if errs := validator.Validate(requestBody); errs != nil { + // values not valid, deal with errors here + return nil, errs + } + resp, err := o.restyPost(LIVE_TO_VOD(), requestBody) + if err != nil { + return nil, err + } + o.debugPrint(resp) + if resp.IsError() { + return nil, fmt.Errorf("") + } + var obj generateVodResponse + if err := json.Unmarshal(resp.Body(), &obj); err != nil { + return nil, err + } + return &obj, nil } \ No newline at end of file diff --git a/compress/compress.go b/compress/compress.go index f111321..b96c8ff 100644 --- a/compress/compress.go +++ b/compress/compress.go @@ -29,7 +29,7 @@ type ICompress interface { RestreamerHlsStop(instanceName string, streamProtocol string) (*HlsResponse, error) RestreamerEventsHistory( startFrom int, amount int) ([]RestreamerEvent, error) GetCustomerS3Zone() (*CustomerS3, error) - GenerateVodProxy(request generateVodRequest) (*generateVodResponse, error) + GenerateVodProxy(eventId string, instanceName string, title string) (*generateVodResponse, error) // }