@playkit-js/playkit-js-providers 2.39.1 → 2.39.2

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.
Files changed (130) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/playkit-analytics-service.js +2 -0
  3. package/dist/playkit-analytics-service.js.map +1 -0
  4. package/dist/playkit-bookmark-service.js +2 -0
  5. package/dist/playkit-bookmark-service.js.map +1 -0
  6. package/dist/playkit-ott-provider.js +2 -0
  7. package/dist/playkit-ott-provider.js.map +1 -0
  8. package/dist/playkit-ovp-provider.js +2 -0
  9. package/dist/playkit-ovp-provider.js.map +1 -0
  10. package/dist/playkit-stats-service.js +2 -0
  11. package/dist/playkit-stats-service.js.map +1 -0
  12. package/package.json +1 -1
  13. package/.babelrc +0 -22
  14. package/.editorconfig +0 -10
  15. package/.eslintignore +0 -3
  16. package/.eslintrc.json +0 -26
  17. package/.flowconfig +0 -5
  18. package/.github/ISSUE_TEMPLATE.md +0 -28
  19. package/.github/PULL_REQUEST_TEMPLATE.md +0 -12
  20. package/.github/workflows/run_canary_full_flow.yaml +0 -28
  21. package/.github/workflows/run_prod.yaml +0 -24
  22. package/.github/workflows/run_tests.yaml +0 -24
  23. package/.prettierignore +0 -7
  24. package/.prettierrc +0 -12
  25. package/docs/configuration.md +0 -225
  26. package/karma.conf.js +0 -42
  27. package/src/entities/bumper.js +0 -23
  28. package/src/entities/drm.js +0 -46
  29. package/src/entities/entry-list.js +0 -15
  30. package/src/entities/image-source.js +0 -37
  31. package/src/entities/media-entry.js +0 -96
  32. package/src/entities/media-format.js +0 -46
  33. package/src/entities/media-source.js +0 -70
  34. package/src/entities/media-sources.js +0 -79
  35. package/src/entities/playlist.js +0 -37
  36. package/src/index.html +0 -11
  37. package/src/k-provider/common/base-provider-parser.js +0 -0
  38. package/src/k-provider/common/base-provider.js +0 -110
  39. package/src/k-provider/common/base-service-result.js +0 -57
  40. package/src/k-provider/common/data-loader-manager.js +0 -115
  41. package/src/k-provider/common/multi-request-builder.js +0 -112
  42. package/src/k-provider/common/response-types/kaltura-access-control-message.js +0 -22
  43. package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.js +0 -39
  44. package/src/k-provider/ott/config.js +0 -22
  45. package/src/k-provider/ott/index.js +0 -15
  46. package/src/k-provider/ott/loaders/asset-list-loader.js +0 -68
  47. package/src/k-provider/ott/loaders/asset-loader.js +0 -69
  48. package/src/k-provider/ott/loaders/data-loader-manager.js +0 -15
  49. package/src/k-provider/ott/loaders/session-loader.js +0 -62
  50. package/src/k-provider/ott/provider-parser.js +0 -282
  51. package/src/k-provider/ott/provider.js +0 -242
  52. package/src/k-provider/ott/response-types/kaltura-asset.js +0 -79
  53. package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.js +0 -28
  54. package/src/k-provider/ott/response-types/kaltura-playback-context.js +0 -74
  55. package/src/k-provider/ott/response-types/kaltura-playback-source.js +0 -63
  56. package/src/k-provider/ott/response-types/kaltura-rule-action.js +0 -26
  57. package/src/k-provider/ott/services/asset-service.js +0 -50
  58. package/src/k-provider/ott/services/bookmark/bookmark-service.js +0 -49
  59. package/src/k-provider/ott/services/bookmark/index.js +0 -12
  60. package/src/k-provider/ott/services/ott-service.js +0 -34
  61. package/src/k-provider/ott/services/user-service.js +0 -32
  62. package/src/k-provider/ovp/config.js +0 -28
  63. package/src/k-provider/ovp/external-captions-builder.js +0 -38
  64. package/src/k-provider/ovp/index.js +0 -13
  65. package/src/k-provider/ovp/loaders/data-loader-manager.js +0 -17
  66. package/src/k-provider/ovp/loaders/entry-list-loader.js +0 -69
  67. package/src/k-provider/ovp/loaders/media-entry-loader.js +0 -84
  68. package/src/k-provider/ovp/loaders/playlist-loader.js +0 -66
  69. package/src/k-provider/ovp/loaders/session-loader.js +0 -62
  70. package/src/k-provider/ovp/loaders/ui-config-loader.js +0 -71
  71. package/src/k-provider/ovp/play-source-url-builder.js +0 -60
  72. package/src/k-provider/ovp/provider-parser.js +0 -451
  73. package/src/k-provider/ovp/provider.js +0 -344
  74. package/src/k-provider/ovp/regex-action-handler.js +0 -147
  75. package/src/k-provider/ovp/request-params/base-entry-response-profile.js +0 -29
  76. package/src/k-provider/ovp/response-types/index.js +0 -18
  77. package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.js +0 -36
  78. package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.js +0 -31
  79. package/src/k-provider/ovp/response-types/kaltura-bumper.js +0 -26
  80. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.js +0 -109
  81. package/src/k-provider/ovp/response-types/kaltura-media-entries.js +0 -23
  82. package/src/k-provider/ovp/response-types/kaltura-media-entry.js +0 -141
  83. package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.js +0 -23
  84. package/src/k-provider/ovp/response-types/kaltura-metadata.js +0 -51
  85. package/src/k-provider/ovp/response-types/kaltura-playback-context.js +0 -96
  86. package/src/k-provider/ovp/response-types/kaltura-playback-source.js +0 -90
  87. package/src/k-provider/ovp/response-types/kaltura-playlist.js +0 -35
  88. package/src/k-provider/ovp/response-types/kaltura-rule-action.js +0 -28
  89. package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.js +0 -90
  90. package/src/k-provider/ovp/services/analytics/analytics-service.js +0 -57
  91. package/src/k-provider/ovp/services/analytics/index.js +0 -12
  92. package/src/k-provider/ovp/services/base-entry-service.js +0 -76
  93. package/src/k-provider/ovp/services/meta-data-service.js +0 -30
  94. package/src/k-provider/ovp/services/ovp-service.js +0 -33
  95. package/src/k-provider/ovp/services/playlist-service.js +0 -63
  96. package/src/k-provider/ovp/services/session-service.js +0 -28
  97. package/src/k-provider/ovp/services/stats/index.js +0 -12
  98. package/src/k-provider/ovp/services/stats/stats-service.js +0 -33
  99. package/src/k-provider/ovp/services/ui-conf-service.js +0 -33
  100. package/src/util/clone.js +0 -23
  101. package/src/util/error/category.js +0 -12
  102. package/src/util/error/code.js +0 -79
  103. package/src/util/error/error.js +0 -48
  104. package/src/util/error/severity.js +0 -23
  105. package/src/util/logger.js +0 -108
  106. package/src/util/param.js +0 -45
  107. package/src/util/request-builder.js +0 -187
  108. package/src/util/xml-parser.js +0 -40
  109. package/test/.eslintrc.json +0 -9
  110. package/test/setup/karma.js +0 -5
  111. package/test/setup/load-specs.js +0 -13
  112. package/test/setup/prepare-test-environment.js +0 -17
  113. package/test/src/k-provider/ott/be-data.js +0 -3306
  114. package/test/src/k-provider/ott/media-config-data.js +0 -793
  115. package/test/src/k-provider/ott/provider-parser.spec.js +0 -30
  116. package/test/src/k-provider/ott/provider.spec.js +0 -384
  117. package/test/src/k-provider/ott/services/bookmark-service.spec.js +0 -38
  118. package/test/src/k-provider/ovp/be-data.js +0 -3932
  119. package/test/src/k-provider/ovp/external-captions-builder.spec.js +0 -59
  120. package/test/src/k-provider/ovp/media-config-data.js +0 -1509
  121. package/test/src/k-provider/ovp/playback-sources-data.js +0 -229
  122. package/test/src/k-provider/ovp/provider-parser-data.js +0 -142
  123. package/test/src/k-provider/ovp/provider-parser.spec.js +0 -96
  124. package/test/src/k-provider/ovp/provider.spec.js +0 -1075
  125. package/test/src/k-provider/ovp/regex-action-handler-data.js +0 -794
  126. package/test/src/k-provider/ovp/regex-action-handler.spec.js +0 -93
  127. package/test/src/k-provider/ovp/services/analytics-service.spec.js +0 -62
  128. package/test/src/k-provider/ovp/services/stats-service.spec.js +0 -37
  129. package/test/src/util/param.spec.js +0 -23
  130. package/webpack.config.js +0 -85
@@ -1,112 +0,0 @@
1
- //@flow
2
- import RequestBuilder from '../../util/request-builder';
3
- import getLogger from '../../util/logger';
4
- import ServiceResult from './base-service-result';
5
- import Error from '../../util/error/error';
6
-
7
- export default class MultiRequestBuilder extends RequestBuilder {
8
- static _logger = getLogger('MultiRequestBuilder');
9
- /**
10
- * @memberof - MultiRequestBuilder
11
- * @type {Array<RequestBuilder>}
12
- */
13
- requests: Array<RequestBuilder> = [];
14
- /**
15
- * Adds request to requests array
16
- * @function add
17
- * @param {RequestBuilder} request The request
18
- * @returns {MultiRequestBuilder} The multiRequest
19
- */
20
- add(request: RequestBuilder): MultiRequestBuilder {
21
- this.requests.push(request);
22
- const requestParams = {};
23
- const serviceDef: Object = {service: request.service, action: request.action};
24
- Object.assign(requestParams, {[this.requests.length]: Object.assign(serviceDef, request.params)});
25
- Object.assign(requestParams, this.params);
26
- this.params = requestParams;
27
- return this;
28
- }
29
-
30
- /**
31
- * Executes a multi request
32
- * @function execute
33
- * @param {boolean} requestsMustSucceed whether all of the requests must succeed or not
34
- * @returns {Promise} The multirequest execution promise
35
- */
36
- execute(requestsMustSucceed?: boolean): Promise<Object> {
37
- return new Promise((resolve, reject) => {
38
- try {
39
- this.params = JSON.stringify(this.params);
40
- } catch (err) {
41
- MultiRequestBuilder._logger.error(`${err.message}`);
42
- reject(
43
- new Error(Error.Severity.CRITICAL, Error.Category.PROVIDER, Error.Code.FAILED_PARSING_REQUEST, {
44
- error: err,
45
- params: this.params
46
- })
47
- );
48
- }
49
- this.doHttpRequest().then(
50
- data => {
51
- const multiRequestResult = new MultiRequestResult(data, requestsMustSucceed);
52
- if (multiRequestResult.success) {
53
- resolve({
54
- headers: this.responseHeaders,
55
- response: multiRequestResult
56
- });
57
- } else {
58
- reject(
59
- new Error(Error.Severity.CRITICAL, Error.Category.NETWORK, Error.Code.MULTIREQUEST_API_ERROR, {
60
- url: this.url,
61
- headers: this.responseHeaders,
62
- results: multiRequestResult.results
63
- })
64
- );
65
- }
66
- },
67
- err => {
68
- reject(err);
69
- }
70
- );
71
- });
72
- }
73
- }
74
-
75
- export class MultiRequestResult {
76
- static _logger = getLogger('MultiRequestResult');
77
- /**
78
- * @memberof MultiRequestResult
79
- * @type {boolean}
80
- */
81
- success: boolean;
82
- /**
83
- * @memberof MultiRequestResult
84
- * @type {Object}
85
- */
86
- results: Array<ServiceResult> = [];
87
- /**
88
- * @constructor
89
- * @param {Object} response data
90
- * @param {boolean} requestsMustSucceed whether all of the requests must succeed
91
- */
92
- constructor(response: Object, requestsMustSucceed?: boolean = true) {
93
- const result = response.result ? response.result : response;
94
- const responseArr = Array.isArray(result) ? result : [result];
95
- const results = responseArr.map(result => new ServiceResult(result));
96
- const errorResults = results.filter(serviceResult => serviceResult.hasError);
97
-
98
- errorResults.forEach(serviceResult => {
99
- MultiRequestResult._logger.error(
100
- `Service returned an error with error code: ${serviceResult.error.code} and message: ${serviceResult.error.message}.`
101
- );
102
- });
103
-
104
- this.results = results;
105
- if ((requestsMustSucceed && errorResults.length) || errorResults.length === this.results.length) {
106
- this.success = false;
107
- } else {
108
- this.results = this.results.filter(serviceResult => !serviceResult.hasError);
109
- this.success = true;
110
- }
111
- }
112
- }
@@ -1,22 +0,0 @@
1
- //@flow
2
- export class KalturaAccessControlMessage {
3
- /**
4
- * @member - The access control message
5
- * @type {string}
6
- */
7
- message: string;
8
- /**
9
- * @member - The access control message code
10
- * @@type {string}
11
- */
12
- code: string;
13
-
14
- /**
15
- * @constructor
16
- * @param {Object} data The json response
17
- */
18
- constructor(data: Object) {
19
- this.message = data.message;
20
- this.code = data.code;
21
- }
22
- }
@@ -1,39 +0,0 @@
1
- //@flow
2
- export class KalturaDrmPlaybackPluginData {
3
- static Scheme: {[scheme: string]: string} = {
4
- 'drm.PLAYREADY_CENC': 'com.microsoft.playready',
5
- 'drm.WIDEVINE_CENC': 'com.widevine.alpha',
6
- 'fairplay.FAIRPLAY': 'com.apple.fairplay',
7
- WIDEVINE_CENC: 'com.widevine.alpha',
8
- PLAYREADY_CENC: 'com.microsoft.playready',
9
- FAIRPLAY: 'com.apple.fairplay'
10
- };
11
-
12
- /**
13
- * @member - The drm scheme
14
- * @type {string}
15
- */
16
- scheme: string;
17
-
18
- /**
19
- * @member - The license URL
20
- * @type {string}
21
- */
22
- licenseURL: string;
23
-
24
- /**
25
- * @member - The drm certificate
26
- * @type {?string}
27
- */
28
- certificate: ?string;
29
-
30
- /**
31
- * @constructor
32
- * @param {Object} drm The json response
33
- */
34
- constructor(drm: any) {
35
- this.scheme = drm.scheme;
36
- this.licenseURL = drm.licenseURL;
37
- this.certificate = drm.certificate;
38
- }
39
- }
@@ -1,22 +0,0 @@
1
- //@flow
2
- import {clone} from '../../util/clone';
3
-
4
- const defaultConfig: Object = {
5
- serviceParams: {
6
- apiVersion: '7.8.1'
7
- }
8
- };
9
-
10
- export default class OTTConfiguration {
11
- static set(clientConfig?: ProviderEnvConfigObject) {
12
- if (clientConfig) {
13
- Object.assign(defaultConfig, clientConfig);
14
- }
15
- }
16
-
17
- static get(): Object {
18
- return clone(defaultConfig);
19
- }
20
- }
21
-
22
- export {OTTConfiguration};
@@ -1,15 +0,0 @@
1
- // @flow
2
- import OTTProvider from './provider';
3
- import KalturaPlaybackContext from './response-types/kaltura-playback-context';
4
- import KalturaAsset from './response-types/kaltura-asset';
5
-
6
- declare var __VERSION__: string;
7
- declare var __NAME__: string;
8
-
9
- const NAME = __NAME__ + '-ott';
10
- const VERSION = __VERSION__;
11
-
12
- const ContextType = KalturaPlaybackContext.Type;
13
- const MediaType = KalturaAsset.Type;
14
-
15
- export {OTTProvider as Provider, ContextType, MediaType, NAME, VERSION};
@@ -1,68 +0,0 @@
1
- //@flow
2
- import RequestBuilder from '../../../util/request-builder';
3
- import OTTConfiguration from '../config';
4
- import OTTAssetService from '../services/asset-service';
5
- import KalturaAsset from '../response-types/kaltura-asset';
6
-
7
- export default class OTTAssetListLoader implements ILoader {
8
- _entries: Array<string>;
9
- _requests: Array<RequestBuilder>;
10
- _response: any = {playlistItems: {entries: []}};
11
-
12
- static get id(): string {
13
- return 'asset_list';
14
- }
15
-
16
- /**
17
- * @constructor
18
- * @param {Object} params loader params
19
- */
20
- constructor(params: Object) {
21
- this.requests = this.buildRequests(params);
22
- this._entries = params.entries;
23
- }
24
-
25
- set requests(requests: Array<RequestBuilder>) {
26
- this._requests = requests;
27
- }
28
-
29
- get requests(): Array<RequestBuilder> {
30
- return this._requests;
31
- }
32
-
33
- set response(response: any) {
34
- response.forEach(item => {
35
- this._response.playlistItems.entries.push({mediaDataResult: new KalturaAsset(item.data)});
36
- });
37
- }
38
-
39
- get response(): any {
40
- return this._response;
41
- }
42
-
43
- /**
44
- * Builds loader requests
45
- * @function
46
- * @param {Object} params Requests parameters
47
- * @returns {RequestBuilder} The request builder
48
- * @static
49
- */
50
- buildRequests(params: Object): Array<RequestBuilder> {
51
- const config = OTTConfiguration.get();
52
- const requests: Array<RequestBuilder> = [];
53
- params.entries.forEach(entry => {
54
- const assetReferenceType = entry.assetReferenceType || KalturaAsset.AssetReferenceType.MEDIA;
55
- requests.push(OTTAssetService.get(config.serviceUrl, params.ks, entry.entryId || entry, assetReferenceType));
56
- });
57
- return requests;
58
- }
59
-
60
- /**
61
- * Loader validation function
62
- * @function
63
- * @returns {boolean} Is valid
64
- */
65
- isValid(): boolean {
66
- return !!(this._entries && this._entries.length);
67
- }
68
- }
@@ -1,69 +0,0 @@
1
- //@flow
2
- import OTTAssetService from '../services/asset-service';
3
- import OTTConfiguration from '../config';
4
- import RequestBuilder from '../../../util/request-builder';
5
- import KalturaPlaybackContext from '../response-types/kaltura-playback-context';
6
- import KalturaAsset from '../response-types/kaltura-asset';
7
-
8
- type OTTAssetLoaderResponse = {mediaDataResult: KalturaAsset, playBackContextResult: KalturaPlaybackContext};
9
- export type {OTTAssetLoaderResponse};
10
-
11
- export default class OTTAssetLoader implements ILoader {
12
- _entryId: string;
13
- _requests: Array<RequestBuilder>;
14
- _response: any = {};
15
-
16
- static get id(): string {
17
- return 'asset';
18
- }
19
-
20
- /**
21
- * @constructor
22
- * @param {Object} params loader params
23
- */
24
- constructor(params: Object) {
25
- this.requests = this.buildRequests(params);
26
- this._entryId = params.entryId;
27
- }
28
-
29
- set requests(requests: Array<RequestBuilder>) {
30
- this._requests = requests;
31
- }
32
-
33
- get requests(): Array<RequestBuilder> {
34
- return this._requests;
35
- }
36
-
37
- set response(response: any) {
38
- this._response.mediaDataResult = new KalturaAsset(response[0].data);
39
- this._response.playBackContextResult = new KalturaPlaybackContext(response[1].data);
40
- }
41
-
42
- get response(): OTTAssetLoaderResponse {
43
- return this._response;
44
- }
45
-
46
- /**
47
- * Builds loader requests
48
- * @function
49
- * @param {Object} params Requests parameters
50
- * @returns {RequestBuilder} The request builder
51
- * @static
52
- */
53
- buildRequests(params: Object): Array<RequestBuilder> {
54
- const config = OTTConfiguration.get();
55
- const requests: Array<RequestBuilder> = [];
56
- requests.push(OTTAssetService.get(config.serviceUrl, params.ks, params.entryId, params.assetReferenceType));
57
- requests.push(OTTAssetService.getPlaybackContext(config.serviceUrl, params.ks, params.entryId, params.type, params.playbackContext));
58
- return requests;
59
- }
60
-
61
- /**
62
- * Loader validation function
63
- * @function
64
- * @returns {boolean} Is valid
65
- */
66
- isValid(): boolean {
67
- return !!this._entryId;
68
- }
69
- }
@@ -1,15 +0,0 @@
1
- // @flow
2
- import DataLoaderManager from '../../common/data-loader-manager';
3
- import OTTService from '../services/ott-service';
4
- /**
5
- * OTTDataLoaderManager is a class that handles the OTT data loading
6
- * @param {string} partnerId - partner id
7
- * @param {string} ks - ks
8
- * @param {ProviderNetworkRetryParameters} [networkRetryConfig] - network retry configuration
9
- */
10
- export default class OTTDataLoaderManager extends DataLoaderManager {
11
- constructor(partnerId: number, ks: string = '', networkRetryConfig: ProviderNetworkRetryParameters) {
12
- super(networkRetryConfig);
13
- this._multiRequest = OTTService.getMultiRequest(ks, partnerId);
14
- }
15
- }
@@ -1,62 +0,0 @@
1
- //@flow
2
- import UserService from '../services/user-service';
3
- import OTTConfiguration from '../config';
4
- import RequestBuilder from '../../../util/request-builder';
5
-
6
- export default class OTTSessionLoader implements ILoader {
7
- _partnerId: number;
8
- _requests: Array<RequestBuilder>;
9
- _response: any = {};
10
-
11
- static get id(): string {
12
- return 'session';
13
- }
14
-
15
- /**
16
- * @constructor
17
- * @param {Object} params loader params
18
- */
19
- constructor(params: Object) {
20
- this.requests = this.buildRequests(params);
21
- this._partnerId = params.partnerId;
22
- }
23
-
24
- set requests(requests: Array<RequestBuilder>) {
25
- this._requests = requests;
26
- }
27
-
28
- get requests(): Array<RequestBuilder> {
29
- return this._requests;
30
- }
31
-
32
- set response(response: any) {
33
- this._response.ks = response[0].data.ks;
34
- }
35
-
36
- get response(): any {
37
- return this._response.ks;
38
- }
39
-
40
- /**
41
- * Builds loader requests
42
- * @function
43
- * @param {Object} params Requests parameters
44
- * @returns {RequestBuilder} The request builder
45
- * @static
46
- */
47
- buildRequests(params: Object): Array<RequestBuilder> {
48
- const config = OTTConfiguration.get();
49
- const requests: Array<RequestBuilder> = [];
50
- requests.push(UserService.anonymousLogin(config.serviceUrl, params.partnerId, params.udid));
51
- return requests;
52
- }
53
-
54
- /**
55
- * Loader validation function
56
- * @function
57
- * @returns {boolean} Is valid
58
- */
59
- isValid(): boolean {
60
- return !!this._partnerId;
61
- }
62
- }