@exode-team/kinescope.api 2.0.41 → 2.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Upload Poster
3
+ */
4
+
5
+ export interface VideoPosterUploadHeaders {
6
+ 'X-Video-ID': string;
7
+ 'X-Poster-URL': string;
8
+ }
9
+
10
+ export interface VideoPosterUploadResponse {
11
+ readonly data: {
12
+ id: string;
13
+ active: boolean;
14
+ original: string;
15
+ md: string;
16
+ sm: string;
17
+ xs: string;
18
+ };
19
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Get Video
3
+ */
4
+
5
+ export interface VideoGetResponse {
6
+ data: {
7
+ id: string;
8
+ project_id: string;
9
+ folder_id: null;
10
+ player_id: string;
11
+ version: number;
12
+ title: string;
13
+ subtitle: string;
14
+ description: string;
15
+ status: string;
16
+ progress: number;
17
+ duration: number;
18
+ privacy_type: string;
19
+ privacy_domains: string[];
20
+ privacy_share: Record<string, never>;
21
+ tags: never[];
22
+ additional_materials: never[];
23
+ additional_materials_enabled: boolean;
24
+ play_link: string;
25
+ embed_link: string;
26
+ created_at: string;
27
+ updated_at: string;
28
+ subtitles: never[];
29
+ subtitles_enabled: boolean;
30
+ hls_link: string;
31
+
32
+ assets: {
33
+ id: string;
34
+ video_id: string;
35
+ original_name: string;
36
+ file_size: number;
37
+ md5?: string;
38
+ filetype: string;
39
+ quality: string;
40
+ resolution: string;
41
+ created_at: string;
42
+ url: string;
43
+ download_link: string;
44
+ }[];
45
+
46
+ chapters: {
47
+ items: never[];
48
+ enabled: boolean;
49
+ show_on_load: boolean;
50
+ };
51
+
52
+ poster: {
53
+ id: string;
54
+ status: string;
55
+ active: boolean;
56
+ original: string;
57
+ md: string;
58
+ sm: string;
59
+ xs: string;
60
+ };
61
+ };
62
+ }
@@ -10,6 +10,8 @@ import { ProjectGetRequest, ProjectGetResponse } from './dto/project/projectGet'
10
10
  import { ProjectGetByIdRequest, ProjectGetByIdResponse } from './dto/project/projectGetById';
11
11
  import { ProjectUpdateRequest, ProjectUpdateResponse } from './dto/project/projectUpdateById';
12
12
  import { ProjectDeleteResponse } from './dto/project/projectDelete';
13
+ import { VideoGetResponse } from './dto/video/videoGet';
14
+ import { VideoPosterUploadHeaders, VideoPosterUploadResponse } from './dto/video/posterUpload';
13
15
  import { VideoUploadHeadersByFile, VideoUploadHeadersByUrl, VideoUploadResponse } from './dto/video/videoUpload';
14
16
  /**
15
17
  * Types of request
@@ -18,9 +20,9 @@ export type Request = AnalyticsGetOverviewRequest | AnalyticsGetCustomRequest |
18
20
  /**
19
21
  * Types of response
20
22
  */
21
- export type Response = AnalyticsGetOverviewResponse | AnalyticsGetCustomResponse | ProjectCreateResponse | ProjectGetResponse | ProjectGetByIdResponse | ProjectUpdateResponse | ProjectDeleteResponse | VideoUploadResponse;
23
+ export type Response = AnalyticsGetOverviewResponse | AnalyticsGetCustomResponse | ProjectCreateResponse | ProjectGetResponse | ProjectGetByIdResponse | ProjectUpdateResponse | ProjectDeleteResponse | VideoUploadResponse | VideoGetResponse | VideoPosterUploadResponse;
22
24
  /**
23
25
  * Types of headers
24
26
  */
25
- export type Headers = VideoUploadHeadersByFile | VideoUploadHeadersByUrl;
26
- export { AnalyticsGetOverviewRequest, AnalyticsGetCustomRequest, ProjectCreateRequest, ProjectGetRequest, ProjectGetByIdRequest, ProjectUpdateRequest, VideoUploadHeadersByFile, VideoUploadHeadersByUrl, AnalyticsGetOverviewResponse, AnalyticsGetCustomResponse, ProjectCreateResponse, ProjectGetResponse, ProjectGetByIdResponse, ProjectUpdateResponse, ProjectDeleteResponse, VideoUploadResponse, };
27
+ export type Headers = VideoUploadHeadersByFile | VideoUploadHeadersByUrl | VideoPosterUploadHeaders;
28
+ export { AnalyticsGetOverviewRequest, AnalyticsGetCustomRequest, ProjectCreateRequest, ProjectGetRequest, ProjectGetByIdRequest, ProjectUpdateRequest, VideoUploadHeadersByFile, VideoUploadHeadersByUrl, VideoPosterUploadHeaders, AnalyticsGetOverviewResponse, AnalyticsGetCustomResponse, ProjectCreateResponse, ProjectGetResponse, ProjectGetByIdResponse, ProjectUpdateResponse, ProjectDeleteResponse, VideoUploadResponse, VideoGetResponse, VideoPosterUploadResponse, };
@@ -5,7 +5,7 @@
5
5
  */
6
6
  /// <reference types="node" />
7
7
  import { BaseService } from './base-service';
8
- import { VideoUploadHeadersByFile, VideoUploadHeadersByUrl, VideoUploadResponse } from './types';
8
+ import { VideoGetResponse, VideoPosterUploadHeaders, VideoPosterUploadResponse, VideoUploadHeadersByFile, VideoUploadHeadersByUrl, VideoUploadResponse } from './types';
9
9
  export declare class VideoService extends BaseService {
10
10
  /**
11
11
  * Upload video by file
@@ -20,4 +20,16 @@ export declare class VideoService extends BaseService {
20
20
  * @returns {Promise<VideoUploadResponse>}
21
21
  */
22
22
  uploadVideoByUrl(headers: VideoUploadHeadersByUrl): Promise<VideoUploadResponse>;
23
+ /**
24
+ * Upload video poster
25
+ * @param {VideoPosterUploadHeaders} headers
26
+ * @returns {Promise<VideoPosterUploadResponse>}
27
+ */
28
+ uploadVideoPoster(headers: VideoPosterUploadHeaders): Promise<VideoPosterUploadResponse>;
29
+ /**
30
+ * Get video information
31
+ * @param {string} videoId
32
+ * @returns {Promise<VideoGetResponse>}
33
+ */
34
+ getVideo(videoId: string): Promise<VideoGetResponse>;
23
35
  }
@@ -59,6 +59,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
59
59
  }
60
60
  });
61
61
  }
62
+ /**
63
+ * Upload video poster
64
+ * @param {VideoPosterUploadHeaders} headers
65
+ * @returns {Promise<VideoPosterUploadResponse>}
66
+ */
67
+ uploadVideoPoster(headers) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ try {
70
+ return yield this.requestApi('https://uploader.kinescope.io/v2/poster', {}, 'post', headers);
71
+ }
72
+ catch (error) {
73
+ console.error(`${error}`);
74
+ throw error;
75
+ }
76
+ });
77
+ }
78
+ /**
79
+ * Get video information
80
+ * @param {string} videoId
81
+ * @returns {Promise<VideoGetResponse>}
82
+ */
83
+ getVideo(videoId) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ try {
86
+ return yield this.requestApi(`https://api.kinescope.io/v1/videos/${videoId}`, {}, 'get');
87
+ }
88
+ catch (error) {
89
+ console.error(`${error}`);
90
+ throw error;
91
+ }
92
+ });
93
+ }
62
94
  }
63
95
  exports.VideoService = VideoService;
64
96
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exode-team/kinescope.api",
3
- "version": "2.0.41",
3
+ "version": "2.0.43",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "aslanorlov <aslanorlov@gmail.com>",