@playkit-js/playkit-js-providers 2.40.1 → 2.40.2-canary.0-45b4098
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.
- package/dist/index.d.ts +1624 -0
- package/dist/playkit-analytics-service.js +1 -1
- package/dist/playkit-analytics-service.js.map +1 -1
- package/dist/playkit-bookmark-service.js +1 -1
- package/dist/playkit-bookmark-service.js.map +1 -1
- package/dist/playkit-ott-provider.js +1 -1
- package/dist/playkit-ott-provider.js.map +1 -1
- package/dist/playkit-ovp-provider.js +2 -1
- package/dist/playkit-ovp-provider.js.LICENSE.txt +1 -0
- package/dist/playkit-ovp-provider.js.map +1 -1
- package/dist/playkit-stats-service.js +1 -1
- package/dist/playkit-stats-service.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/flow-typed/types/media-config-sources.js +1 -1
- package/flow-typed/types/media-sources.js +1 -1
- package/package.json +49 -46
- package/playkit-analytics-service/package.json +5 -0
- package/playkit-bookmark-service/package.json +5 -0
- package/playkit-ott-provider/package.json +5 -0
- package/playkit-ovp-provider/package.json +5 -0
- package/playkit-stats-service/package.json +5 -0
- package/src/entities/bumper.ts +21 -0
- package/src/entities/drm.ts +47 -0
- package/src/entities/entry-list.ts +13 -0
- package/src/entities/image-source.ts +36 -0
- package/src/entities/media-entry.ts +104 -0
- package/src/entities/media-format.ts +47 -0
- package/src/entities/media-source.ts +70 -0
- package/src/entities/media-sources.ts +79 -0
- package/src/entities/playlist.ts +41 -0
- package/src/k-provider/common/base-provider-parser.ts +0 -0
- package/src/k-provider/common/base-provider.ts +112 -0
- package/src/k-provider/common/base-service-result.ts +56 -0
- package/src/k-provider/common/data-loader-manager.ts +115 -0
- package/src/k-provider/common/multi-request-builder.ts +111 -0
- package/src/k-provider/common/response-types/kaltura-access-control-message.ts +21 -0
- package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.ts +38 -0
- package/src/k-provider/ott/config.ts +22 -0
- package/src/k-provider/ott/index.ts +14 -0
- package/src/k-provider/ott/loaders/asset-list-loader.ts +68 -0
- package/src/k-provider/ott/loaders/asset-loader.ts +69 -0
- package/src/k-provider/ott/loaders/data-loader-manager.ts +15 -0
- package/src/k-provider/ott/loaders/session-loader.ts +62 -0
- package/src/k-provider/ott/provider-parser.ts +285 -0
- package/src/k-provider/ott/provider.ts +252 -0
- package/src/k-provider/ott/response-types/kaltura-asset.ts +105 -0
- package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.ts +27 -0
- package/src/k-provider/ott/response-types/kaltura-playback-context.ts +73 -0
- package/src/k-provider/ott/response-types/kaltura-playback-source.ts +62 -0
- package/src/k-provider/ott/response-types/kaltura-rule-action.ts +25 -0
- package/src/k-provider/ott/services/asset-service.ts +50 -0
- package/src/k-provider/ott/services/bookmark/bookmark-service.ts +48 -0
- package/src/k-provider/ott/services/bookmark/index.ts +11 -0
- package/src/k-provider/ott/services/ott-service.ts +33 -0
- package/src/k-provider/ott/services/user-service.ts +31 -0
- package/src/k-provider/ovp/config.ts +28 -0
- package/src/k-provider/ovp/external-captions-builder.ts +37 -0
- package/src/k-provider/ovp/index.ts +13 -0
- package/src/k-provider/ovp/loaders/data-loader-manager.ts +17 -0
- package/src/k-provider/ovp/loaders/entry-list-loader.ts +69 -0
- package/src/k-provider/ovp/loaders/media-entry-loader.ts +84 -0
- package/src/k-provider/ovp/loaders/playlist-loader.ts +69 -0
- package/src/k-provider/ovp/loaders/session-loader.ts +62 -0
- package/src/k-provider/ovp/loaders/ui-config-loader.ts +71 -0
- package/src/k-provider/ovp/play-source-url-builder.ts +59 -0
- package/src/k-provider/ovp/provider-parser.ts +461 -0
- package/src/k-provider/ovp/provider.ts +358 -0
- package/src/k-provider/ovp/regex-action-handler.ts +149 -0
- package/src/k-provider/ovp/request-params/base-entry-response-profile.ts +28 -0
- package/src/k-provider/ovp/response-types/index.ts +21 -0
- package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.ts +35 -0
- package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.ts +30 -0
- package/src/k-provider/ovp/response-types/kaltura-bumper.ts +25 -0
- package/src/k-provider/ovp/response-types/kaltura-flavor-asset.ts +108 -0
- package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +28 -0
- package/src/k-provider/ovp/response-types/kaltura-media-entry.ts +189 -0
- package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.ts +22 -0
- package/src/k-provider/ovp/response-types/kaltura-metadata.ts +50 -0
- package/src/k-provider/ovp/response-types/kaltura-playback-context.ts +95 -0
- package/src/k-provider/ovp/response-types/kaltura-playback-source.ts +89 -0
- package/src/k-provider/ovp/response-types/kaltura-playlist.ts +33 -0
- package/src/k-provider/ovp/response-types/kaltura-rule-action.ts +27 -0
- package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.ts +89 -0
- package/src/k-provider/ovp/response-types/kaltura-user-entry-list-response.ts +30 -0
- package/src/k-provider/ovp/response-types/kaltura-user-entry.ts +57 -0
- package/src/k-provider/ovp/services/analytics/analytics-service.ts +58 -0
- package/src/k-provider/ovp/services/analytics/index.ts +11 -0
- package/src/k-provider/ovp/services/base-entry-service.ts +75 -0
- package/src/k-provider/ovp/services/meta-data-service.ts +29 -0
- package/src/k-provider/ovp/services/ovp-service.ts +32 -0
- package/src/k-provider/ovp/services/playlist-service.ts +95 -0
- package/src/k-provider/ovp/services/session-service.ts +27 -0
- package/src/k-provider/ovp/services/stats/index.ts +11 -0
- package/src/k-provider/ovp/services/stats/stats-service.ts +32 -0
- package/src/k-provider/ovp/services/ui-conf-service.ts +32 -0
- package/src/types/adapter-data-config.ts +1 -0
- package/src/types/caption-type.ts +1 -0
- package/src/types/drm-data.ts +5 -0
- package/src/types/entry-list.ts +6 -0
- package/src/types/env-config.ts +7 -0
- package/src/types/external-caption-object.ts +7 -0
- package/src/types/filter-options.ts +3 -0
- package/src/types/index.ts +34 -0
- package/src/types/loader.ts +7 -0
- package/src/types/media-config-metadata.ts +13 -0
- package/src/types/media-config-session.ts +6 -0
- package/src/types/media-config-sources.ts +20 -0
- package/src/types/media-config.ts +8 -0
- package/src/types/media-entry.ts +16 -0
- package/src/types/media-format.ts +5 -0
- package/src/types/media-info.ts +21 -0
- package/src/types/media-source.ts +12 -0
- package/src/types/media-sources.ts +11 -0
- package/src/types/network-retry-parameters.ts +5 -0
- package/src/types/playback-context.ts +10 -0
- package/src/types/playlist-info.ts +4 -0
- package/src/types/playlist-item.ts +5 -0
- package/src/types/playlist-metadata.ts +4 -0
- package/src/types/playlist.ts +10 -0
- package/src/types/poster.ts +5 -0
- package/src/types/provider-options.ts +17 -0
- package/src/types/request-loader.ts +6 -0
- package/src/util/clone.ts +23 -0
- package/src/util/error/category.ts +11 -0
- package/src/util/error/code.ts +77 -0
- package/src/util/error/error.ts +47 -0
- package/src/util/error/severity.ts +21 -0
- package/src/util/logger.ts +108 -0
- package/src/util/param.ts +45 -0
- package/src/util/request-builder.ts +187 -0
- package/src/util/xml-parser.ts +39 -0
- package/CHANGELOG.md +0 -959
- package/samples/ott/bookmark.html +0 -23
- package/samples/ott/provider.html +0 -28
- package/samples/ovp/provider.html +0 -30
- package/samples/ovp/stats.html +0 -17
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import ServiceResult from '../../common/base-service-result';
|
|
2
|
+
|
|
3
|
+
export class KalturaUIConfResponse extends ServiceResult {
|
|
4
|
+
public static Type: {[type: string]: number} = {
|
|
5
|
+
PLAYER: 1,
|
|
6
|
+
CONTRIBUTION_WIZARD: 2,
|
|
7
|
+
SIMPLE_EDITOR: 3,
|
|
8
|
+
ADVANCED_EDITOR: 4,
|
|
9
|
+
PLAYLIST: 5,
|
|
10
|
+
APP_STUDIO: 6,
|
|
11
|
+
KRECORD: 7,
|
|
12
|
+
PLAYER_V3: 8,
|
|
13
|
+
KMC_ACCOUNT: 9,
|
|
14
|
+
KMC_ANALYTICS: 10,
|
|
15
|
+
KMC_CONTENT: 11,
|
|
16
|
+
KMC_DASHBOARD: 12,
|
|
17
|
+
KMC_LOGIN: 13,
|
|
18
|
+
PLAYER_SL: 14,
|
|
19
|
+
CLIENTSIDE_ENCODER: 15,
|
|
20
|
+
KMC_GENERAL: 16,
|
|
21
|
+
KMC_ROLES_AND_PERMISSIONS: 17,
|
|
22
|
+
CLIPPER: 18,
|
|
23
|
+
KSR: 19,
|
|
24
|
+
KUPLOAD: 20,
|
|
25
|
+
WEBCASTING: 21
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
public static CreationMode: {[mode: string]: number} = {
|
|
29
|
+
WIZARD: 2,
|
|
30
|
+
ADVANCED: 3
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
public description!: string;
|
|
34
|
+
public objTypeAsString!: string;
|
|
35
|
+
public width!: number;
|
|
36
|
+
public height!: number;
|
|
37
|
+
public htmlParams!: string;
|
|
38
|
+
public swfUrl!: string;
|
|
39
|
+
public confFilePath!: string;
|
|
40
|
+
public confFile!: string;
|
|
41
|
+
public confFileFeatures!: string;
|
|
42
|
+
public name!: string;
|
|
43
|
+
public config!: string;
|
|
44
|
+
public confVars!: string;
|
|
45
|
+
public useCdn!: boolean;
|
|
46
|
+
public tags!: string;
|
|
47
|
+
public swfUrlVersion!: string;
|
|
48
|
+
public created!: Date;
|
|
49
|
+
public updated!: Date;
|
|
50
|
+
public html5Url!: string;
|
|
51
|
+
public version!: string;
|
|
52
|
+
public partnerTags!: string;
|
|
53
|
+
public objType!: number;
|
|
54
|
+
public creationMode!: number;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @constructor
|
|
58
|
+
* @param {Object} data The json response
|
|
59
|
+
*/
|
|
60
|
+
constructor(data: any) {
|
|
61
|
+
super(data);
|
|
62
|
+
if (!this.hasError) {
|
|
63
|
+
this.name = data.name;
|
|
64
|
+
this.description = data.description;
|
|
65
|
+
this.objTypeAsString = data.objTypeAsString;
|
|
66
|
+
this.width = data.width;
|
|
67
|
+
this.height = data.height;
|
|
68
|
+
this.htmlParams = data.htmlParams;
|
|
69
|
+
this.swfUrl = data.swfUrl;
|
|
70
|
+
this.confFilePath = data.confFilePath;
|
|
71
|
+
this.confFile = data.confFile;
|
|
72
|
+
this.confFileFeatures = data.confFileFeatures;
|
|
73
|
+
this.config = data.config;
|
|
74
|
+
this.confVars = data.confVars;
|
|
75
|
+
this.useCdn = data.useCdn;
|
|
76
|
+
this.tags = data.tags;
|
|
77
|
+
this.swfUrlVersion = data.swfUrlVersion;
|
|
78
|
+
this.created = new Date(0);
|
|
79
|
+
this.created.setUTCSeconds(data.createdAt);
|
|
80
|
+
this.updated = new Date(0);
|
|
81
|
+
this.updated.setUTCSeconds(data.updatedAt);
|
|
82
|
+
this.html5Url = data.description;
|
|
83
|
+
this.version = data.description;
|
|
84
|
+
this.partnerTags = data.description;
|
|
85
|
+
this.objType = data.description;
|
|
86
|
+
this.creationMode = data.description;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import ServiceResult from '../../common/base-service-result';
|
|
2
|
+
import {KalturaUserEntry} from './kaltura-user-entry';
|
|
3
|
+
|
|
4
|
+
export class KalturaUserEntryListResponse extends ServiceResult {
|
|
5
|
+
/**
|
|
6
|
+
* @member - The total count
|
|
7
|
+
* @type {number}
|
|
8
|
+
*/
|
|
9
|
+
private totalCount!: number;
|
|
10
|
+
/**
|
|
11
|
+
* @member - The entries
|
|
12
|
+
* @type {Array<KalturaUserEntry>}
|
|
13
|
+
*/
|
|
14
|
+
private entries!: Array<KalturaUserEntry>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @constructor
|
|
18
|
+
* @param {Object} responseObj The json response
|
|
19
|
+
*/
|
|
20
|
+
constructor(responseObj: any) {
|
|
21
|
+
super(responseObj);
|
|
22
|
+
if (!this.hasError) {
|
|
23
|
+
this.totalCount = responseObj.totalCount;
|
|
24
|
+
this.entries = [];
|
|
25
|
+
if (this.totalCount > 0) {
|
|
26
|
+
responseObj.objects.map(entry => this.entries.push(new KalturaUserEntry(entry)));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export class KalturaUserEntry {
|
|
2
|
+
/**
|
|
3
|
+
* @member - The last played playlist entry
|
|
4
|
+
* @type {string}
|
|
5
|
+
*/
|
|
6
|
+
public playlistLastEntryId: string;
|
|
7
|
+
/**
|
|
8
|
+
* @member - The entry referenceId
|
|
9
|
+
* @type {string}
|
|
10
|
+
*/
|
|
11
|
+
private entryId: string;
|
|
12
|
+
/**
|
|
13
|
+
* @member - The entry id
|
|
14
|
+
* @type {number}
|
|
15
|
+
*/
|
|
16
|
+
private id: number;
|
|
17
|
+
/**
|
|
18
|
+
* @member - username
|
|
19
|
+
* @type {string}
|
|
20
|
+
*/
|
|
21
|
+
private userId: string;
|
|
22
|
+
/**
|
|
23
|
+
* @member - partner id
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
private partnerId: number;
|
|
27
|
+
/**
|
|
28
|
+
* @member - entry status
|
|
29
|
+
* @type {number}
|
|
30
|
+
*/
|
|
31
|
+
private status: number;
|
|
32
|
+
/**
|
|
33
|
+
* @member - Entry creation date as Unix timestamp (In seconds)
|
|
34
|
+
* @type {number}
|
|
35
|
+
*/
|
|
36
|
+
private createdAt: number;
|
|
37
|
+
/**
|
|
38
|
+
* @member - Entry updation date as Unix timestamp (In seconds)
|
|
39
|
+
* @type {number}
|
|
40
|
+
*/
|
|
41
|
+
private updatedAt: number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @constructor
|
|
45
|
+
* @param {Object} entry The json response
|
|
46
|
+
*/
|
|
47
|
+
constructor(entry: any) {
|
|
48
|
+
this.playlistLastEntryId = entry.playlistLastEntryId;
|
|
49
|
+
this.entryId = entry.entryId;
|
|
50
|
+
this.id = entry.id;
|
|
51
|
+
this.userId = entry.userId;
|
|
52
|
+
this.partnerId = entry.partnerId;
|
|
53
|
+
this.status = entry.status;
|
|
54
|
+
this.createdAt = entry.createdAt;
|
|
55
|
+
this.updatedAt = entry.updatedAt;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import OVPService from '../ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../../util/request-builder';
|
|
3
|
+
import OVPConfiguration from '../../config';
|
|
4
|
+
import {param} from '../../../../util/param';
|
|
5
|
+
|
|
6
|
+
const SERVICE_NAME: string = 'analytics';
|
|
7
|
+
|
|
8
|
+
export default class OVPAnalyticsService extends OVPService {
|
|
9
|
+
/**
|
|
10
|
+
* Creates an instance of RequestBuilder for analytics.trackEvent
|
|
11
|
+
* @function trackEvent
|
|
12
|
+
* @param {string} serviceUrl - The service base url
|
|
13
|
+
* @param {Object} params - The event params
|
|
14
|
+
* @param {string} [requestMethod] - The request method GET or POST
|
|
15
|
+
* @returns {RequestBuilder} - The request builder
|
|
16
|
+
* @static
|
|
17
|
+
*/
|
|
18
|
+
public static trackEvent(serviceUrl: string, params: any, requestMethod?: string): RequestBuilder {
|
|
19
|
+
return requestMethod === 'POST'
|
|
20
|
+
? OVPAnalyticsService._trackEventByPOST(serviceUrl, params)
|
|
21
|
+
: OVPAnalyticsService._trackEventByGET(serviceUrl, params);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
private static _trackEventByGET(serviceUrl: string, params: any): RequestBuilder {
|
|
25
|
+
const ovpParams = OVPConfiguration.get();
|
|
26
|
+
const serviceParams = {};
|
|
27
|
+
Object.assign(serviceParams, ovpParams.serviceParams, params);
|
|
28
|
+
const request = new RequestBuilder();
|
|
29
|
+
request.service = SERVICE_NAME;
|
|
30
|
+
request.action = 'trackEvent';
|
|
31
|
+
request.method = 'GET';
|
|
32
|
+
request.retryConfig.maxAttempts = 1;
|
|
33
|
+
request.tag = 'analytics-trackEvent';
|
|
34
|
+
request.params = serviceParams;
|
|
35
|
+
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(request.params);
|
|
36
|
+
return request;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private static _trackEventByPOST(serviceUrl: string, params: any): RequestBuilder {
|
|
40
|
+
const ovpParams = OVPConfiguration.get();
|
|
41
|
+
const serviceParams: any = {};
|
|
42
|
+
Object.assign(serviceParams, ovpParams.serviceParams, params);
|
|
43
|
+
const headers: Map<string, string> = new Map();
|
|
44
|
+
headers.set('Content-Type', 'application/json');
|
|
45
|
+
const request = new RequestBuilder(headers);
|
|
46
|
+
const {eventType, partnerId, entryId, sessionId} = serviceParams;
|
|
47
|
+
const urlParams = {eventType, partnerId, entryId, sessionId};
|
|
48
|
+
['eventType', 'partnerId', 'entryId', 'sessionId'].forEach(key => delete serviceParams[key]);
|
|
49
|
+
request.service = SERVICE_NAME;
|
|
50
|
+
request.action = 'trackEvent';
|
|
51
|
+
request.method = 'POST';
|
|
52
|
+
request.retryConfig.maxAttempts = 1;
|
|
53
|
+
request.tag = 'analytics-trackEvent';
|
|
54
|
+
request.params = JSON.stringify(serviceParams);
|
|
55
|
+
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(urlParams);
|
|
56
|
+
return request;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import RequestBuilder from '../../../../util/request-builder';
|
|
2
|
+
import OVPConfiguration from '../../config';
|
|
3
|
+
import OVPAnalyticsService from './analytics-service';
|
|
4
|
+
|
|
5
|
+
declare let __VERSION__: string;
|
|
6
|
+
declare let __NAME__: string;
|
|
7
|
+
|
|
8
|
+
const NAME = __NAME__ + '-analytics-service';
|
|
9
|
+
const VERSION = __VERSION__;
|
|
10
|
+
|
|
11
|
+
export {OVPAnalyticsService, OVPConfiguration, RequestBuilder, NAME, VERSION};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import OVPService from './ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../util/request-builder';
|
|
3
|
+
import {BaseEntryResponseProfile} from '../request-params/base-entry-response-profile';
|
|
4
|
+
|
|
5
|
+
const SERVICE_NAME: string = 'baseEntry';
|
|
6
|
+
|
|
7
|
+
export default class OVPBaseEntryService extends OVPService {
|
|
8
|
+
/**
|
|
9
|
+
* Creates an instance of RequestBuilder for baseentry.getPlaybackContext
|
|
10
|
+
* @function getPlaybackContext
|
|
11
|
+
* @param {string} serviceUrl The service base URL
|
|
12
|
+
* @param {string} ks The ks
|
|
13
|
+
* @param {serviceEntryId} serviceEntryId The entry id from the request result (to support loading by referenceId)
|
|
14
|
+
* @returns {RequestBuilder} The request builder
|
|
15
|
+
* @static
|
|
16
|
+
*/
|
|
17
|
+
public static getPlaybackContext(serviceUrl: string, ks: string, serviceEntryId: string): RequestBuilder {
|
|
18
|
+
const headers: Map<string, string> = new Map();
|
|
19
|
+
headers.set('Content-Type', 'application/json');
|
|
20
|
+
const request = new RequestBuilder(headers);
|
|
21
|
+
request.service = SERVICE_NAME;
|
|
22
|
+
request.action = 'getPlaybackContext';
|
|
23
|
+
request.method = 'POST';
|
|
24
|
+
request.url = request.getUrl(serviceUrl);
|
|
25
|
+
request.tag = 'baseEntry-getPlaybackContext';
|
|
26
|
+
const contextDataParams = {objectType: 'KalturaContextDataParams', flavorTags: 'all'};
|
|
27
|
+
request.params = {entryId: serviceEntryId, ks: ks, contextDataParams: contextDataParams};
|
|
28
|
+
return request;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance of RequestBuilder for baseentry.list
|
|
33
|
+
* @function list
|
|
34
|
+
* @param {string} serviceUrl The base URL
|
|
35
|
+
* @param {string} ks The ks
|
|
36
|
+
* @param {string} entryId The entry ID
|
|
37
|
+
* @param {boolean} redirectFromEntryId whether the live entry should continue and play the VOD one after the live stream ends.
|
|
38
|
+
* @param {string} referenceId a Reference id instead of an entry id
|
|
39
|
+
* @returns {RequestBuilder} The request builder
|
|
40
|
+
* @static
|
|
41
|
+
*/
|
|
42
|
+
public static list(serviceUrl: string, ks: string, entryId: string, redirectFromEntryId: boolean, referenceId: string): RequestBuilder {
|
|
43
|
+
const headers: Map<string, string> = new Map();
|
|
44
|
+
headers.set('Content-Type', 'application/json');
|
|
45
|
+
const request = new RequestBuilder(headers);
|
|
46
|
+
request.service = SERVICE_NAME;
|
|
47
|
+
request.action = 'list';
|
|
48
|
+
request.method = 'POST';
|
|
49
|
+
request.url = request.getUrl(serviceUrl);
|
|
50
|
+
request.tag = 'list';
|
|
51
|
+
request.params = OVPBaseEntryService.getEntryListReqParams(entryId, ks, redirectFromEntryId, referenceId);
|
|
52
|
+
return request;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Gets baseentry.list service params
|
|
57
|
+
* @function getEntryListReqParams
|
|
58
|
+
* @param {string} entryId The entry ID
|
|
59
|
+
* @param {string} ks The ks
|
|
60
|
+
* @param {boolean} redirectFromEntryId whether the live entry should continue and play the VOD one after the live stream ends.
|
|
61
|
+
* @param {string} referenceId a Reference id instead of an entry id
|
|
62
|
+
* @returns {{ks: string, filter: {redirectFromEntryId: string}, responseProfile: {fields: string, type: number}}} The service params object
|
|
63
|
+
* @static
|
|
64
|
+
*/
|
|
65
|
+
public static getEntryListReqParams(entryId: string, ks: string, redirectFromEntryId: boolean, referenceId: string): any {
|
|
66
|
+
let filterParams = {};
|
|
67
|
+
if (entryId) {
|
|
68
|
+
filterParams = redirectFromEntryId ? {redirectFromEntryId: entryId} : {idEqual: entryId};
|
|
69
|
+
} else if (referenceId) {
|
|
70
|
+
filterParams = {objectType: 'KalturaBaseEntryFilter', referenceIdEqual: referenceId};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return {ks: ks, filter: filterParams, responseProfile: new BaseEntryResponseProfile()};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import OVPService from './ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../util/request-builder';
|
|
3
|
+
|
|
4
|
+
const SERVICE_NAME: string = 'metadata_metadata';
|
|
5
|
+
|
|
6
|
+
export default class OVPMetadataService extends OVPService {
|
|
7
|
+
/**
|
|
8
|
+
* Creates an instance of RequestBuilder for metadata_metadata.list
|
|
9
|
+
* @function getPlaybackContext
|
|
10
|
+
* @param {string} serviceUrl The service base URL
|
|
11
|
+
* @param {string} ks The ks
|
|
12
|
+
* @param {string} entryId The entry ID
|
|
13
|
+
* @returns {RequestBuilder} The request builder
|
|
14
|
+
* @static
|
|
15
|
+
*/
|
|
16
|
+
public static list(serviceUrl: string, ks: string, entryId: string): RequestBuilder {
|
|
17
|
+
const headers: Map<string, string> = new Map();
|
|
18
|
+
headers.set('Content-Type', 'application/json');
|
|
19
|
+
const request = new RequestBuilder(headers);
|
|
20
|
+
request.service = SERVICE_NAME;
|
|
21
|
+
request.action = 'list';
|
|
22
|
+
request.method = 'POST';
|
|
23
|
+
request.url = request.getUrl(serviceUrl);
|
|
24
|
+
request.tag = 'metadata_metadata-list';
|
|
25
|
+
const filter = {objectType: 'KalturaMetadataFilter', objectIdEqual: entryId, metadataObjectTypeEqual: '1'};
|
|
26
|
+
request.params = {filter: filter, ks: ks};
|
|
27
|
+
return request;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import MultiRequestBuilder from '../../common/multi-request-builder';
|
|
2
|
+
import OVPConfiguration from '../config';
|
|
3
|
+
|
|
4
|
+
const SERVICE_NAME: string = 'multirequest';
|
|
5
|
+
|
|
6
|
+
export default class OVPService {
|
|
7
|
+
/**
|
|
8
|
+
* Gets a new instance of MultiRequestBuilder with ovp params
|
|
9
|
+
* @function getMultiRequest
|
|
10
|
+
* @param {string} playerVersion The player version
|
|
11
|
+
* @param {string} ks The ks
|
|
12
|
+
* @param {string} partnerId The partner ID
|
|
13
|
+
* @returns {MultiRequestBuilder} The multi request builder
|
|
14
|
+
* @static
|
|
15
|
+
*/
|
|
16
|
+
public static getMultiRequest(playerVersion: string, ks: string, partnerId?: number): MultiRequestBuilder {
|
|
17
|
+
const config = OVPConfiguration.get();
|
|
18
|
+
const ovpParams = config.serviceParams;
|
|
19
|
+
Object.assign(ovpParams, {ks: ks, clientTag: 'html5:v' + playerVersion});
|
|
20
|
+
if (partnerId) {
|
|
21
|
+
Object.assign(ovpParams, {partnerId: partnerId});
|
|
22
|
+
}
|
|
23
|
+
const headers: Map<string, string> = new Map();
|
|
24
|
+
headers.set('Content-Type', 'application/json');
|
|
25
|
+
const multiReq = new MultiRequestBuilder(headers);
|
|
26
|
+
multiReq.method = 'POST';
|
|
27
|
+
multiReq.service = SERVICE_NAME;
|
|
28
|
+
multiReq.url = multiReq.getUrl(config.serviceUrl);
|
|
29
|
+
multiReq.params = ovpParams;
|
|
30
|
+
return multiReq;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import OVPService from './ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../util/request-builder';
|
|
3
|
+
import {BaseEntryResponseProfile} from '../request-params/base-entry-response-profile';
|
|
4
|
+
|
|
5
|
+
const SERVICE_NAME: string = 'playlist';
|
|
6
|
+
|
|
7
|
+
export default class OVPPlaylistService extends OVPService {
|
|
8
|
+
/**
|
|
9
|
+
* Creates an instance of RequestBuilder for playlist.getPlaybackContext
|
|
10
|
+
* @function getPlaybackContext
|
|
11
|
+
* @param {string} serviceUrl The service base URL
|
|
12
|
+
* @param {string} ks The ks
|
|
13
|
+
* @param {string} playlistId The playlist ID
|
|
14
|
+
* @returns {RequestBuilder} The request builder
|
|
15
|
+
* @static
|
|
16
|
+
*/
|
|
17
|
+
public static execute(serviceUrl: string, ks: string, playlistId: string): RequestBuilder {
|
|
18
|
+
const headers: Map<string, string> = new Map();
|
|
19
|
+
headers.set('Content-Type', 'application/json');
|
|
20
|
+
const request = new RequestBuilder(headers);
|
|
21
|
+
request.service = SERVICE_NAME;
|
|
22
|
+
request.action = 'execute';
|
|
23
|
+
request.method = 'POST';
|
|
24
|
+
request.url = request.getUrl(serviceUrl);
|
|
25
|
+
request.tag = `${SERVICE_NAME}-execute`;
|
|
26
|
+
request.params = {
|
|
27
|
+
ks: ks,
|
|
28
|
+
id: playlistId,
|
|
29
|
+
responseProfile: new BaseEntryResponseProfile()
|
|
30
|
+
};
|
|
31
|
+
return request;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Creates an instance of RequestBuilder for playlist.list
|
|
36
|
+
* @function list
|
|
37
|
+
* @param {string} serviceUrl The base URL
|
|
38
|
+
* @param {string} ks The ks
|
|
39
|
+
* @param {string} playlistId The playlist ID
|
|
40
|
+
* @returns {RequestBuilder} The request builder
|
|
41
|
+
* @static
|
|
42
|
+
*/
|
|
43
|
+
public static get(serviceUrl: string, ks: string, playlistId: string): RequestBuilder {
|
|
44
|
+
const headers: Map<string, string> = new Map();
|
|
45
|
+
headers.set('Content-Type', 'application/json');
|
|
46
|
+
const request = new RequestBuilder(headers);
|
|
47
|
+
request.service = SERVICE_NAME;
|
|
48
|
+
request.action = 'get';
|
|
49
|
+
request.method = 'POST';
|
|
50
|
+
request.url = request.getUrl(serviceUrl);
|
|
51
|
+
request.tag = `${SERVICE_NAME}-get`;
|
|
52
|
+
request.params = {
|
|
53
|
+
ks: ks,
|
|
54
|
+
id: playlistId,
|
|
55
|
+
responseProfile: {
|
|
56
|
+
fields: 'id,name,description,thumbnailUrl',
|
|
57
|
+
type: 1
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return request;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* gets latest played entry ID
|
|
65
|
+
* @function list
|
|
66
|
+
* @param {string} serviceUrl The base URL
|
|
67
|
+
* @param {string} ks The ks
|
|
68
|
+
* @param {string} playlistId The playlist ID
|
|
69
|
+
* @returns {RequestBuilder} The request builder
|
|
70
|
+
* @static
|
|
71
|
+
*/
|
|
72
|
+
public static getLastEntryId(serviceUrl: string, ks: string, playlistId: string): RequestBuilder {
|
|
73
|
+
const headers: Map<string, string> = new Map();
|
|
74
|
+
headers.set('Content-Type', 'application/json');
|
|
75
|
+
const request = new RequestBuilder(headers);
|
|
76
|
+
request.service = 'userEntry';
|
|
77
|
+
request.action = 'list';
|
|
78
|
+
request.method = 'POST';
|
|
79
|
+
request.url = request.getUrl(serviceUrl);
|
|
80
|
+
request.tag = 'userEntry-list';
|
|
81
|
+
request.params = {
|
|
82
|
+
ks: ks,
|
|
83
|
+
filter: {
|
|
84
|
+
objectType: 'KalturaViewHistoryUserEntry',
|
|
85
|
+
entryIdEqual: playlistId,
|
|
86
|
+
userIdEqualCurrent: 1
|
|
87
|
+
},
|
|
88
|
+
responseProfile: {
|
|
89
|
+
fields: 'playlistLastEntryId',
|
|
90
|
+
type: 1
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
return request;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import OVPService from './ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../util/request-builder';
|
|
3
|
+
|
|
4
|
+
const SERVICE_NAME: string = 'session';
|
|
5
|
+
|
|
6
|
+
export default class OVPSessionService extends OVPService {
|
|
7
|
+
/**
|
|
8
|
+
* Creates an instance of RequestBuilder for session.startWidgetSession
|
|
9
|
+
* @function anonymousSession
|
|
10
|
+
* @param {string} serviceUrl The service base URL
|
|
11
|
+
* @param {string} widgetId The widget ID
|
|
12
|
+
* @returns {RequestBuilder} The request builder
|
|
13
|
+
* @static
|
|
14
|
+
*/
|
|
15
|
+
public static anonymousSession(serviceUrl: string, widgetId: string): RequestBuilder {
|
|
16
|
+
const headers: Map<string, string> = new Map();
|
|
17
|
+
headers.set('Content-Type', 'application/json');
|
|
18
|
+
const request = new RequestBuilder(headers);
|
|
19
|
+
request.service = SERVICE_NAME;
|
|
20
|
+
request.action = 'startWidgetSession';
|
|
21
|
+
request.method = 'POST';
|
|
22
|
+
request.url = request.getUrl(serviceUrl);
|
|
23
|
+
request.tag = 'session-startWidget';
|
|
24
|
+
request.params = {widgetId};
|
|
25
|
+
return request;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import RequestBuilder from '../../../../util/request-builder';
|
|
2
|
+
import OVPConfiguration from '../../config';
|
|
3
|
+
import OVPStatsService from './stats-service';
|
|
4
|
+
|
|
5
|
+
declare let __VERSION__: string;
|
|
6
|
+
declare let __NAME__: string;
|
|
7
|
+
|
|
8
|
+
const NAME = __NAME__ + '-stats-service';
|
|
9
|
+
const VERSION = __VERSION__;
|
|
10
|
+
|
|
11
|
+
export {OVPStatsService, OVPConfiguration, RequestBuilder, NAME, VERSION};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import OVPService from '../ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../../util/request-builder';
|
|
3
|
+
import OVPConfiguration from '../../config';
|
|
4
|
+
import {param} from '../../../../util/param';
|
|
5
|
+
|
|
6
|
+
const SERVICE_NAME: string = 'stats';
|
|
7
|
+
|
|
8
|
+
export default class OVPStatsService extends OVPService {
|
|
9
|
+
/**
|
|
10
|
+
* Creates an instance of RequestBuilder for stats.collect
|
|
11
|
+
* @function collect
|
|
12
|
+
* @param {string} serviceUrl - The service base url
|
|
13
|
+
* @param {string} ks - The ks
|
|
14
|
+
* @param {string} playerVersion - The player version
|
|
15
|
+
* @param {Object} event - The event data
|
|
16
|
+
* @returns {RequestBuilder} - The request builder
|
|
17
|
+
* @static
|
|
18
|
+
*/
|
|
19
|
+
public static collect(serviceUrl: string, ks: string, playerVersion: string, event: any): RequestBuilder {
|
|
20
|
+
const ovpParams = OVPConfiguration.get();
|
|
21
|
+
const serviceParams = {};
|
|
22
|
+
Object.assign(serviceParams, ovpParams.serviceParams, {ks: ks, clientTag: 'html5:v' + playerVersion}, event);
|
|
23
|
+
const request = new RequestBuilder();
|
|
24
|
+
request.service = SERVICE_NAME;
|
|
25
|
+
request.action = 'collect';
|
|
26
|
+
request.method = 'GET';
|
|
27
|
+
request.tag = 'stats-collect';
|
|
28
|
+
request.params = serviceParams;
|
|
29
|
+
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(request.params);
|
|
30
|
+
return request;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import OVPService from './ovp-service';
|
|
2
|
+
import RequestBuilder from '../../../util/request-builder';
|
|
3
|
+
|
|
4
|
+
const SERVICE_NAME: string = 'uiconf';
|
|
5
|
+
|
|
6
|
+
export default class OVPUIConfService extends OVPService {
|
|
7
|
+
/**
|
|
8
|
+
* Creates an instance of RequestBuilder for uiconf.get
|
|
9
|
+
* @function get
|
|
10
|
+
* @param {string} serviceUrl The service base URL
|
|
11
|
+
* @param {string} ks The ks
|
|
12
|
+
* @param {string} uiConfId The uiConf ID
|
|
13
|
+
* @returns {RequestBuilder} The request builder
|
|
14
|
+
* @static
|
|
15
|
+
*/
|
|
16
|
+
public static get(serviceUrl: string, ks: string, uiConfId: number): RequestBuilder {
|
|
17
|
+
const headers: Map<string, string> = new Map();
|
|
18
|
+
headers.set('Content-Type', 'application/json');
|
|
19
|
+
const request = new RequestBuilder(headers);
|
|
20
|
+
request.service = SERVICE_NAME;
|
|
21
|
+
request.action = 'get';
|
|
22
|
+
request.method = 'POST';
|
|
23
|
+
request.url = request.getUrl(serviceUrl);
|
|
24
|
+
request.tag = 'uiconf-get';
|
|
25
|
+
const responseProfileParams = {
|
|
26
|
+
fields: 'config',
|
|
27
|
+
type: 1
|
|
28
|
+
};
|
|
29
|
+
request.params = {id: uiConfId, responseProfile: responseProfileParams, ks: ks};
|
|
30
|
+
return request;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type AdapterDataConfig = {[key: string]: {value: string; objectType?: string}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CaptionType = {[type: string]: string};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
export * from './adapter-data-config'
|
|
3
|
+
export * from './caption-type'
|
|
4
|
+
export * from './drm-data'
|
|
5
|
+
export * from './entry-list'
|
|
6
|
+
export * from './env-config'
|
|
7
|
+
export * from './external-caption-object'
|
|
8
|
+
export * from './filter-options'
|
|
9
|
+
export * from './loader'
|
|
10
|
+
export * from './media-config'
|
|
11
|
+
export * from './media-config-metadata'
|
|
12
|
+
export * from './media-config-session'
|
|
13
|
+
export * from './media-config-sources'
|
|
14
|
+
export * from './media-entry'
|
|
15
|
+
export * from './media-format'
|
|
16
|
+
export * from './media-info'
|
|
17
|
+
export * from './media-source'
|
|
18
|
+
export * from './media-sources'
|
|
19
|
+
export * from './network-retry-parameters'
|
|
20
|
+
export * from './playback-context'
|
|
21
|
+
export * from './playlist'
|
|
22
|
+
export * from './playlist-metadata'
|
|
23
|
+
export * from './playlist-info'
|
|
24
|
+
export * from './provider-options'
|
|
25
|
+
export * from './request-loader'
|
|
26
|
+
export * from './poster'
|
|
27
|
+
|
|
28
|
+
export { ProviderParser, RequestBuilder, ResponseTypes} from '../k-provider/ovp'
|
|
29
|
+
export { ContextType, MediaType} from '../k-provider/ott'
|
|
30
|
+
import {BaseProvider} from '../k-provider/common/base-provider'
|
|
31
|
+
import OTTProvider from '../k-provider/ott/provider'
|
|
32
|
+
import OVPProvider from '../k-provider/ovp/provider'
|
|
33
|
+
export {OTTProvider, OVPProvider, OTTProvider as Provider, BaseProvider}
|
|
34
|
+
export type IProvider = OTTProvider | OVPProvider;
|