Skip to content

Commit

Permalink
Add discarded videos feature
Browse files Browse the repository at this point in the history
  • Loading branch information
olivierapivideo authored Sep 16, 2024
1 parent 9aa0d85 commit 8beb8d9
Show file tree
Hide file tree
Showing 66 changed files with 3,173 additions and 475 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Changelog
All changes to this project will be documented in this file.

## [1.4.2] - 2024-09-16
- Add discarded video endpoints

## [1.4.1] - 2024-09-05
- Add sort parameters in analytics endpoints

Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>video.api</groupId>
<artifactId>java-api-client</artifactId>
<version>1.4.1</version>
<version>1.4.2</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -78,7 +78,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:

```groovy
implementation "video.api:java-api-client:1.4.1"
implementation "video.api:java-api-client:1.4.2"
```

#### Others
Expand All @@ -91,7 +91,7 @@ mvn clean package

Then manually install the following JARs:

* `target/java-api-client-1.4.1.jar`
* `target/java-api-client-1.4.2.jar`
* `target/lib/*.jar`

### Code sample
Expand Down Expand Up @@ -293,7 +293,10 @@ Method | HTTP request | Description
[**list**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#list) | **GET** `/videos` | List all video objects
[**uploadThumbnail**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#uploadThumbnail) | **POST** `/videos/{videoId}/thumbnail` | Upload a thumbnail
[**pickThumbnail**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#pickThumbnail) | **PATCH** `/videos/{videoId}/thumbnail` | Set a thumbnail
[**getDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#getDiscarded) | **GET** `/discarded/videos/{videoId}` | Retrieve a discarded video object
[**getStatus**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#getStatus) | **GET** `/videos/{videoId}/status` | Retrieve video status and details
[**listDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#listDiscarded) | **GET** `/discarded/videos` | List all discarded video objects
[**updateDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#updateDiscarded) | **PATCH** `/discarded/videos/{videoId}` | Update a discarded video object


### WatermarksApi
Expand Down Expand Up @@ -362,6 +365,7 @@ Method | HTTP request | Description
- [CaptionsUpdatePayload](https://github.com/apivideo/api.video-java-client/blob/main/docs/CaptionsUpdatePayload.md)
- [Chapter](https://github.com/apivideo/api.video-java-client/blob/main/docs/Chapter.md)
- [ChaptersListResponse](https://github.com/apivideo/api.video-java-client/blob/main/docs/ChaptersListResponse.md)
- [DiscardedVideoUpdatePayload](https://github.com/apivideo/api.video-java-client/blob/main/docs/DiscardedVideoUpdatePayload.md)
- [FilterBy](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy.md)
- [FilterBy1](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy1.md)
- [FilterBy2](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy2.md)
Expand Down
1,520 changes: 1,199 additions & 321 deletions api/openapi.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ apply plugin: 'com.diffplug.spotless'
apply plugin: 'maven-publish'

group = 'video.api'
version = '1.4.1'
version = '1.4.2'

buildscript {
repositories {
Expand Down
17 changes: 17 additions & 0 deletions docs/DiscardedVideoUpdatePayload.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@


# DiscardedVideoUpdatePayload

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**discarded** | **Boolean** | Use this parameter to restore a discarded video when you have the Video Restore feature enabled. This parameter only accepts &#x60;false&#x60; as a value! | [optional]


## Implemented Interfaces

* Serializable
* DeepObject


4 changes: 2 additions & 2 deletions docs/LiveStream.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Name | Type | Description | Notes
**playerId** | **String** | The unique identifier for the player. | [optional]
**broadcasting** | **Boolean** | Whether or not you are broadcasting the live video you recorded for others to see. True means you are broadcasting to viewers, false means you are not. | [optional]
**restreams** | [**List&lt;RestreamsResponseObject&gt;**](RestreamsResponseObject.md) | Returns the list of restream destinations. |
**createdAt** | **OffsetDateTime** | When the player was created, presented in ISO-8601 format. | [optional]
**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ISO-8601 format. | [optional]
**createdAt** | **OffsetDateTime** | When the player was created, presented in ATOM UTC format. | [optional]
**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ATOM UTC format. | [optional]


## Implemented Interfaces
Expand Down
4 changes: 2 additions & 2 deletions docs/LiveStreamsApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ public class Example {

String streamKey = "dw-dew8-q6w9-k67w-1ws8"; // The unique stream key that allows you to stream videos.
String name = "My Video"; // You can filter live streams by their name or a part of their name.
String sortBy = "name"; // Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ISO-8601 time format.
String sortBy = "name"; // Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ATOM UTC time format.
String sortOrder = "asc"; // Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. For title, it is 0-9 and A-Z ascending and Z-A, 9-0 descending.
Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1
Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25.
Expand Down Expand Up @@ -364,7 +364,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**streamKey** | **String**| The unique stream key that allows you to stream videos. | [optional]
**name** | **String**| You can filter live streams by their name or a part of their name. | [optional]
**sortBy** | **String**| Enables you to sort live stream results. Allowed attributes: &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;. &#x60;name&#x60; - the name of the live stream. &#x60;createdAt&#x60; - the time a live stream was created. &#x60;updatedAt&#x60; - the time a live stream was last updated. When using &#x60;createdAt&#x60; or &#x60;updatedAt&#x60;, the API sorts the results based on the ISO-8601 time format. | [optional] [enum: name, createdAt, updatedAt]
**sortBy** | **String**| Enables you to sort live stream results. Allowed attributes: &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;. &#x60;name&#x60; - the name of the live stream. &#x60;createdAt&#x60; - the time a live stream was created. &#x60;updatedAt&#x60; - the time a live stream was last updated. When using &#x60;createdAt&#x60; or &#x60;updatedAt&#x60;, the API sorts the results based on the ATOM UTC time format. | [optional] [enum: name, createdAt, updatedAt]
**sortOrder** | **String**| Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. For title, it is 0-9 and A-Z ascending and Z-A, 9-0 descending. | [optional] [enum: asc, desc]
**currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1]
**pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25]
Expand Down
2 changes: 1 addition & 1 deletion docs/PlayerSessionEvent.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**type** | **String** | Possible values are: ready, play, pause, resume, seek.backward, seek.forward, end | [optional]
**emittedAt** | **OffsetDateTime** | When an event occurred, presented in ISO-8601 format. | [optional]
**emittedAt** | **OffsetDateTime** | When an event occurred, presented in ATOM UTC format. | [optional]
**at** | **Integer** | | [optional]
**from** | **Integer** | | [optional]
**to** | **Integer** | | [optional]
Expand Down
4 changes: 2 additions & 2 deletions docs/PlayerTheme.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ Name | Type | Description | Notes
**hideTitle** | **Boolean** | enable/disable title. Default: false | [optional]
**forceLoop** | **Boolean** | enable/disable looping. Default: false | [optional]
**playerId** | **String** | |
**createdAt** | **OffsetDateTime** | When the player was created, presented in ISO-8601 format. | [optional]
**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ISO-8601 format. | [optional]
**createdAt** | **OffsetDateTime** | When the player was created, presented in ATOM UTC format. | [optional]
**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ATOM UTC format. | [optional]
**assets** | [**PlayerThemeAssets**](PlayerThemeAssets.md) | | [optional]


Expand Down
4 changes: 2 additions & 2 deletions docs/PlayerThemesApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ public class Example {

PlayerThemesApi apiInstance = client.playerThemes();

String sortBy = "name"; // createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ISO-8601 format.
String sortBy = "name"; // createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ATOM UTC format.
String sortOrder = "asc"; // Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones.
Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1
Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25.
Expand Down Expand Up @@ -382,7 +382,7 @@ public class Example {

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**sortBy** | **String**| createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ISO-8601 format. | [optional] [enum: name, createdAt, updatedAt]
**sortBy** | **String**| createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ATOM UTC format. | [optional] [enum: name, createdAt, updatedAt]
**sortOrder** | **String**| Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. | [optional] [enum: asc, desc]
**currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1]
**pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25]
Expand Down
4 changes: 2 additions & 2 deletions docs/UploadToken.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**token** | **String** | The unique identifier for the token you will use to authenticate an upload. | [optional]
**ttl** | **Integer** | Time-to-live - how long the upload token is valid for. | [optional]
**createdAt** | **OffsetDateTime** | When the token was created, displayed in ISO-8601 format. | [optional]
**expiresAt** | **OffsetDateTime** | When the token expires, displayed in ISO-8601 format. | [optional]
**createdAt** | **OffsetDateTime** | When the token was created, displayed in ATOM UTC format. | [optional]
**expiresAt** | **OffsetDateTime** | When the token expires, displayed in ATOM UTC format. | [optional]


## Implemented Interfaces
Expand Down
4 changes: 2 additions & 2 deletions docs/UploadTokensApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ public class Example {

UploadTokensApi apiInstance = client.uploadTokens();

String sortBy = "createdAt"; // Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ISO-8601 format.
String sortBy = "createdAt"; // Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ATOM UTC format.
String sortOrder = "asc"; // Allowed: asc, desc. Ascending is 0-9 or A-Z. Descending is 9-0 or Z-A.
Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1
Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25.
Expand Down Expand Up @@ -276,7 +276,7 @@ public class Example {

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**sortBy** | **String**| Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ISO-8601 format. | [optional] [enum: createdAt, ttl]
**sortBy** | **String**| Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ATOM UTC format. | [optional] [enum: createdAt, ttl]
**sortOrder** | **String**| Allowed: asc, desc. Ascending is 0-9 or A-Z. Descending is 9-0 or Z-A. | [optional] [enum: asc, desc]
**currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1]
**pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25]
Expand Down
11 changes: 7 additions & 4 deletions docs/Video.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,16 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**videoId** | **String** | The unique identifier of the video object. |
**createdAt** | **OffsetDateTime** | When a video was created, presented in ISO-8601 format. | [optional]
**createdAt** | **OffsetDateTime** | When a video was created, presented in ATOM UTC format. | [optional]
**title** | **String** | The title of the video content. | [optional]
**description** | **String** | A description for the video content. | [optional]
**publishedAt** | **OffsetDateTime** | The date and time the API created the video. Date and time are provided using ISO-8601 UTC format. | [optional]
**updatedAt** | **OffsetDateTime** | The date and time the video was updated. Date and time are provided using ISO-8601 UTC format. | [optional]
**publishedAt** | **OffsetDateTime** | The date and time the API created the video. Date and time are provided using ATOM UTC format. | [optional]
**updatedAt** | **OffsetDateTime** | The date and time the video was updated. Date and time are provided using ATOM UTC format. | [optional]
**discardedAt** | **OffsetDateTime** | The date and time the video was discarded. The API populates this field only if you have the Video Restore feature enabled and discard a video. Date and time are provided using ATOM UTC format. | [optional]
**deletesAt** | **OffsetDateTime** | The date and time the video will be permanently deleted. The API populates this field only if you have the Video Restore feature enabled and discard a video. Discarded videos are pemanently deleted after 90 days. Date and time are provided using ATOM UTC format. | [optional]
**discarded** | **Boolean** | Returns &#x60;true&#x60; for videos you discarded when you have the Video Restore feature enabled. Returns &#x60;false&#x60; for every other video. | [optional]
**tags** | **List&lt;String&gt;** | One array of tags (each tag is a string) in order to categorize a video. Tags may include spaces. | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. | [optional]
**source** | [**VideoSource**](VideoSource.md) | | [optional]
**assets** | [**VideoAssets**](VideoAssets.md) | | [optional]
**playerId** | **String** | The id of the player that will be applied on the video. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/VideoCreationPayload.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Name | Type | Description | Notes
**mp4Support** | **Boolean** | Enables mp4 version in addition to streamed version. | [optional]
**playerId** | **String** | The unique identification number for your video player. | [optional]
**tags** | **List&lt;String&gt;** | A list of tags you want to use to describe your video. | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | A list of key value pairs that you use to provide metadata for your video. These pairs can be made dynamic, allowing you to segment your audience. Read more on [dynamic metadata](https://api.video/blog/endpoints/dynamic-metadata/). | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | A list of key value pairs that you use to provide metadata for your video. | [optional]
**clip** | [**VideoClip**](VideoClip.md) | | [optional]
**watermark** | [**VideoWatermark**](VideoWatermark.md) | | [optional]

Expand Down
2 changes: 1 addition & 1 deletion docs/VideoUpdatePayload.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Name | Type | Description | Notes
**panoramic** | **Boolean** | Whether the video is a 360 degree or immersive video. | [optional]
**mp4Support** | **Boolean** | Whether the player supports the mp4 format. | [optional]
**tags** | **List&lt;String&gt;** | A list of terms or words you want to tag the video with. Make sure the list includes all the tags you want as whatever you send in this list will overwrite the existing list for the video. | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. | [optional]
**metadata** | [**List&lt;Metadata&gt;**](Metadata.md) | A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. | [optional]


## Implemented Interfaces
Expand Down
Loading

0 comments on commit 8beb8d9

Please sign in to comment.