Skip to content

Commit 8771ef3

Browse files
Merge pull request #82 from apivideo/watch-data-docs
Add new analytics endpoints & livestream complete()
2 parents d1c9ad3 + 0af58b1 commit 8771ef3

File tree

146 files changed

+1646
-1204
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+1646
-1204
lines changed

.openapi-generator/FILES

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,16 @@ Sources/JSONEncodingHelper.swift
2626
Sources/Models.swift
2727
Sources/Models/AccessToken.swift
2828
Sources/Models/AdditionalBadRequestErrors.swift
29+
Sources/Models/AnalyticsAggregatedMetricsResponse.swift
30+
Sources/Models/AnalyticsAggregatedMetricsResponseContext.swift
31+
Sources/Models/AnalyticsAggregatedMetricsResponseContextTimeframe.swift
2932
Sources/Models/AnalyticsData.swift
33+
Sources/Models/AnalyticsMetricsBreakdownResponse.swift
34+
Sources/Models/AnalyticsMetricsBreakdownResponseContext.swift
35+
Sources/Models/AnalyticsMetricsBreakdownResponseData.swift
36+
Sources/Models/AnalyticsMetricsOverTimeResponse.swift
37+
Sources/Models/AnalyticsMetricsOverTimeResponseContext.swift
38+
Sources/Models/AnalyticsMetricsOverTimeResponseData.swift
3039
Sources/Models/AnalyticsPlays400Error.swift
3140
Sources/Models/AnalyticsPlaysResponse.swift
3241
Sources/Models/AuthenticatePayload.swift
@@ -38,17 +47,14 @@ Sources/Models/CaptionsUpdatePayload.swift
3847
Sources/Models/Chapter.swift
3948
Sources/Models/ChaptersListResponse.swift
4049
Sources/Models/Environment.swift
50+
Sources/Models/FilterBy.swift
51+
Sources/Models/FilterBy1.swift
52+
Sources/Models/FilterBy2.swift
4153
Sources/Models/Link.swift
4254
Sources/Models/LiveStream.swift
4355
Sources/Models/LiveStreamAssets.swift
4456
Sources/Models/LiveStreamCreationPayload.swift
4557
Sources/Models/LiveStreamListResponse.swift
46-
Sources/Models/LiveStreamSession.swift
47-
Sources/Models/LiveStreamSessionClient.swift
48-
Sources/Models/LiveStreamSessionDevice.swift
49-
Sources/Models/LiveStreamSessionLocation.swift
50-
Sources/Models/LiveStreamSessionReferrer.swift
51-
Sources/Models/LiveStreamSessionSession.swift
5258
Sources/Models/LiveStreamUpdatePayload.swift
5359
Sources/Models/Metadata.swift
5460
Sources/Models/Model403ErrorSchema.swift
@@ -69,18 +75,12 @@ Sources/Models/RestreamsResponseObject.swift
6975
Sources/Models/TokenCreationPayload.swift
7076
Sources/Models/TokenListResponse.swift
7177
Sources/Models/TooManyRequests.swift
78+
Sources/Models/UnrecognizedRequestUrl.swift
7279
Sources/Models/UploadToken.swift
7380
Sources/Models/Video.swift
7481
Sources/Models/VideoAssets.swift
7582
Sources/Models/VideoClip.swift
7683
Sources/Models/VideoCreationPayload.swift
77-
Sources/Models/VideoSession.swift
78-
Sources/Models/VideoSessionClient.swift
79-
Sources/Models/VideoSessionDevice.swift
80-
Sources/Models/VideoSessionLocation.swift
81-
Sources/Models/VideoSessionOs.swift
82-
Sources/Models/VideoSessionReferrer.swift
83-
Sources/Models/VideoSessionSession.swift
8484
Sources/Models/VideoSource.swift
8585
Sources/Models/VideoSourceLiveStream.swift
8686
Sources/Models/VideoSourceLiveStreamLink.swift
@@ -108,7 +108,16 @@ docs/AccessToken.md
108108
docs/AdditionalBadRequestErrors.md
109109
docs/AdvancedAuthenticationAPI.md
110110
docs/AnalyticsAPI.md
111+
docs/AnalyticsAggregatedMetricsResponse.md
112+
docs/AnalyticsAggregatedMetricsResponseContext.md
113+
docs/AnalyticsAggregatedMetricsResponseContextTimeframe.md
111114
docs/AnalyticsData.md
115+
docs/AnalyticsMetricsBreakdownResponse.md
116+
docs/AnalyticsMetricsBreakdownResponseContext.md
117+
docs/AnalyticsMetricsBreakdownResponseData.md
118+
docs/AnalyticsMetricsOverTimeResponse.md
119+
docs/AnalyticsMetricsOverTimeResponseContext.md
120+
docs/AnalyticsMetricsOverTimeResponseData.md
112121
docs/AnalyticsPlays400Error.md
113122
docs/AnalyticsPlaysResponse.md
114123
docs/AuthenticatePayload.md
@@ -121,17 +130,14 @@ docs/CaptionsUpdatePayload.md
121130
docs/Chapter.md
122131
docs/ChaptersAPI.md
123132
docs/ChaptersListResponse.md
133+
docs/FilterBy.md
134+
docs/FilterBy1.md
135+
docs/FilterBy2.md
124136
docs/Link.md
125137
docs/LiveStream.md
126138
docs/LiveStreamAssets.md
127139
docs/LiveStreamCreationPayload.md
128140
docs/LiveStreamListResponse.md
129-
docs/LiveStreamSession.md
130-
docs/LiveStreamSessionClient.md
131-
docs/LiveStreamSessionDevice.md
132-
docs/LiveStreamSessionLocation.md
133-
docs/LiveStreamSessionReferrer.md
134-
docs/LiveStreamSessionSession.md
135141
docs/LiveStreamUpdatePayload.md
136142
docs/LiveStreamsAPI.md
137143
docs/Metadata.md
@@ -153,19 +159,13 @@ docs/RestreamsResponseObject.md
153159
docs/TokenCreationPayload.md
154160
docs/TokenListResponse.md
155161
docs/TooManyRequests.md
162+
docs/UnrecognizedRequestUrl.md
156163
docs/UploadToken.md
157164
docs/UploadTokensAPI.md
158165
docs/Video.md
159166
docs/VideoAssets.md
160167
docs/VideoClip.md
161168
docs/VideoCreationPayload.md
162-
docs/VideoSession.md
163-
docs/VideoSessionClient.md
164-
docs/VideoSessionDevice.md
165-
docs/VideoSessionLocation.md
166-
docs/VideoSessionOs.md
167-
docs/VideoSessionReferrer.md
168-
docs/VideoSessionSession.md
169169
docs/VideoSource.md
170170
docs/VideoSourceLiveStream.md
171171
docs/VideoSourceLiveStreamLink.md
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d7b342ceb1a4805da9e3d6355384e34c1a99e1300d01cac3ae3218c5738f11f1
1+
3637a70fc3b7f045b2927373115f2132767e3ea4ee8f19f7ffd324bb9f8eb7bf

ApiVideoClient.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ Pod::Spec.new do |s|
55
s.tvos.deployment_target = '10.0'
66
# Add back when CocoaPods/CocoaPods#11558 is released
77
#s.watchos.deployment_target = '3.0'
8-
s.version = '1.2.3'
9-
s.source = { :git => 'https://github.com/apivideo/api.video-swift-client', :tag => 'v1.2.3' }
8+
s.version = '1.3.0'
9+
s.source = { :git => 'https://github.com/apivideo/api.video-swift-client', :tag => 'v1.3.0' }
1010
s.authors = { 'Ecosystem Team' => 'ecosystem@api.video' }
1111
s.license = { :type => 'MIT' }
1212
s.homepage = 'https://docs.api.video'

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Changelog
22
All changes to this project will be documented in this file.
33

4+
## [1.3.0] - 2024-07-29
5+
- Add new analytics methods
6+
- Add livestream complete() method
7+
48
## [1.2.3] - 2024-04-25
59
- Add API to get rate limiting headers
610

README.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ api.video's Swift API client for iOS, macOS and tvOS streamlines the coding proc
5555
Specify it in your `Cartfile`:
5656

5757
```
58-
github "apivideo/api.video-swift-client" ~> 1.2.3
58+
github "apivideo/api.video-swift-client" ~> 1.3.0
5959
```
6060

6161
Run `carthage update`
6262

6363
#### CocoaPods
6464

65-
Add `pod 'ApiVideoClient', '1.2.3'` in your `Podfile`
65+
Add `pod 'ApiVideoClient', '1.3.0'` in your `Podfile`
6666

6767
Run `pod install`
6868

@@ -104,8 +104,9 @@ AnalyticsAPI
104104

105105
Method | HTTP request | Description
106106
------------- | ------------- | -------------
107-
[**getLiveStreamsPlays**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAPI.md#getLiveStreamsPlays) | **GET** `/analytics/live-streams/plays` | Get play events for live stream
108-
[**getVideosPlays**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAPI.md#getVideosPlays) | **GET** `/analytics/videos/plays` | Get play events for video
107+
[**getAggregatedMetrics**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAPI.md#getAggregatedMetrics) | **GET** `/data/metrics/{metric}/{aggregation}` | Retrieve aggregated metrics
108+
[**getMetricsBreakdown**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAPI.md#getMetricsBreakdown) | **GET** `/data/buckets/{metric}/{breakdown}` | Retrieve metrics in a breakdown of dimensions
109+
[**getMetricsOverTime**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAPI.md#getMetricsOverTime) | **GET** `/data/timeseries/{metric}` | Retrieve metrics over time
109110

110111

111112
#### CaptionsAPI
@@ -164,6 +165,7 @@ Method | HTTP request | Description
164165
[**list**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamsAPI.md#list) | **GET** `/live-streams` | List all live streams
165166
[**uploadThumbnail**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamsAPI.md#uploadThumbnail) | **POST** `/live-streams/{liveStreamId}/thumbnail` | Upload a thumbnail
166167
[**deleteThumbnail**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamsAPI.md#deleteThumbnail) | **DELETE** `/live-streams/{liveStreamId}/thumbnail` | Delete a thumbnail
168+
[**complete**](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamsAPI.md#complete) | **PUT** `/live-streams/{liveStreamId}/complete` | Complete a live stream
167169

168170

169171
#### PlayerThemesAPI
@@ -269,7 +271,16 @@ Method | HTTP request | Description
269271

270272
- [AccessToken](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AccessToken.md)
271273
- [AdditionalBadRequestErrors](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AdditionalBadRequestErrors.md)
274+
- [AnalyticsAggregatedMetricsResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAggregatedMetricsResponse.md)
275+
- [AnalyticsAggregatedMetricsResponseContext](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAggregatedMetricsResponseContext.md)
276+
- [AnalyticsAggregatedMetricsResponseContextTimeframe](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsAggregatedMetricsResponseContextTimeframe.md)
272277
- [AnalyticsData](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsData.md)
278+
- [AnalyticsMetricsBreakdownResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsBreakdownResponse.md)
279+
- [AnalyticsMetricsBreakdownResponseContext](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsBreakdownResponseContext.md)
280+
- [AnalyticsMetricsBreakdownResponseData](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsBreakdownResponseData.md)
281+
- [AnalyticsMetricsOverTimeResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsOverTimeResponse.md)
282+
- [AnalyticsMetricsOverTimeResponseContext](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsOverTimeResponseContext.md)
283+
- [AnalyticsMetricsOverTimeResponseData](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsMetricsOverTimeResponseData.md)
273284
- [AnalyticsPlays400Error](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsPlays400Error.md)
274285
- [AnalyticsPlaysResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AnalyticsPlaysResponse.md)
275286
- [AuthenticatePayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/AuthenticatePayload.md)
@@ -280,17 +291,14 @@ Method | HTTP request | Description
280291
- [CaptionsUpdatePayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/CaptionsUpdatePayload.md)
281292
- [Chapter](https://github.com/apivideo/api.video-swift-client/blob/main/docs/Chapter.md)
282293
- [ChaptersListResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/ChaptersListResponse.md)
294+
- [FilterBy](https://github.com/apivideo/api.video-swift-client/blob/main/docs/FilterBy.md)
295+
- [FilterBy1](https://github.com/apivideo/api.video-swift-client/blob/main/docs/FilterBy1.md)
296+
- [FilterBy2](https://github.com/apivideo/api.video-swift-client/blob/main/docs/FilterBy2.md)
283297
- [Link](https://github.com/apivideo/api.video-swift-client/blob/main/docs/Link.md)
284298
- [LiveStream](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStream.md)
285299
- [LiveStreamAssets](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamAssets.md)
286300
- [LiveStreamCreationPayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamCreationPayload.md)
287301
- [LiveStreamListResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamListResponse.md)
288-
- [LiveStreamSession](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSession.md)
289-
- [LiveStreamSessionClient](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSessionClient.md)
290-
- [LiveStreamSessionDevice](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSessionDevice.md)
291-
- [LiveStreamSessionLocation](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSessionLocation.md)
292-
- [LiveStreamSessionReferrer](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSessionReferrer.md)
293-
- [LiveStreamSessionSession](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamSessionSession.md)
294302
- [LiveStreamUpdatePayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/LiveStreamUpdatePayload.md)
295303
- [Metadata](https://github.com/apivideo/api.video-swift-client/blob/main/docs/Metadata.md)
296304
- [Model403ErrorSchema](https://github.com/apivideo/api.video-swift-client/blob/main/docs/Model403ErrorSchema.md)
@@ -310,18 +318,12 @@ Method | HTTP request | Description
310318
- [TokenCreationPayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/TokenCreationPayload.md)
311319
- [TokenListResponse](https://github.com/apivideo/api.video-swift-client/blob/main/docs/TokenListResponse.md)
312320
- [TooManyRequests](https://github.com/apivideo/api.video-swift-client/blob/main/docs/TooManyRequests.md)
321+
- [UnrecognizedRequestUrl](https://github.com/apivideo/api.video-swift-client/blob/main/docs/UnrecognizedRequestUrl.md)
313322
- [UploadToken](https://github.com/apivideo/api.video-swift-client/blob/main/docs/UploadToken.md)
314323
- [Video](https://github.com/apivideo/api.video-swift-client/blob/main/docs/Video.md)
315324
- [VideoAssets](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoAssets.md)
316325
- [VideoClip](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoClip.md)
317326
- [VideoCreationPayload](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoCreationPayload.md)
318-
- [VideoSession](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSession.md)
319-
- [VideoSessionClient](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionClient.md)
320-
- [VideoSessionDevice](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionDevice.md)
321-
- [VideoSessionLocation](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionLocation.md)
322-
- [VideoSessionOs](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionOs.md)
323-
- [VideoSessionReferrer](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionReferrer.md)
324-
- [VideoSessionSession](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSessionSession.md)
325327
- [VideoSource](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSource.md)
326328
- [VideoSourceLiveStream](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSourceLiveStream.md)
327329
- [VideoSourceLiveStreamLink](https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideoSourceLiveStreamLink.md)

Sources/APIHelper.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ public struct APIHelper {
7777
result.append(URLQueryItem(name: item.key, value: "\(value)"))
7878
}
7979
}
80-
81-
if destination.isEmpty {
82-
return nil
83-
}
8480
return destination
8581
}
8682
}

Sources/APIs.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Foundation
88
public class ApiVideoClient {
99
public static var apiKey: String? = nil
1010
public static var basePath = "https://ws.api.video"
11-
internal static var customHeaders:[String: String] = ["AV-Origin-Client": "swift:1.2.3"]
11+
internal static var customHeaders:[String: String] = ["AV-Origin-Client": "swift:1.3.0"]
1212
private static var chunkSize: Int = 50 * 1024 * 1024
1313
internal static var requestBuilderFactory: RequestBuilderFactory = AlamofireRequestBuilderFactory()
1414
internal static var credential = ApiVideoCredential()

0 commit comments

Comments
 (0)