@bitmovin/api-sdk 1.175.0 → 1.177.0
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/README.md +1 -1
- package/dist/bitmovin-api-sdk.browser.js +49 -27
- package/dist/bitmovin-api-sdk.browser.min.js +1 -1
- package/dist/common/RestClient.js +1 -1
- package/dist/encoding/filters/FilterListQueryParams.d.ts +24 -2
- package/dist/encoding/filters/FilterListQueryParams.js +17 -1
- package/dist/models/LiveHlsManifest.d.ts +1 -1
- package/dist/models/Organization.d.ts +7 -0
- package/dist/models/Organization.js +1 -0
- package/dist/models/PrewarmedEncoderPool.d.ts +6 -0
- package/dist/models/PrewarmedEncoderPool.js +1 -0
- package/dist/models/SignupSource.d.ts +12 -0
- package/dist/models/SignupSource.js +16 -0
- package/dist/models/StreamsLiveCreateRequest.d.ts +0 -12
- package/dist/models/StreamsLiveCreateRequest.js +0 -2
- package/dist/models/StreamsLiveUpdateRequest.d.ts +0 -18
- package/dist/models/StreamsLiveUpdateRequest.js +0 -3
- package/dist/models/StreamsVideoCreateRequest.d.ts +0 -12
- package/dist/models/StreamsVideoCreateRequest.js +0 -2
- package/dist/models/StreamsVideoResponse.d.ts +6 -0
- package/dist/models/StreamsVideoResponse.js +1 -0
- package/dist/models/StreamsVideoUpdateRequest.d.ts +0 -18
- package/dist/models/StreamsVideoUpdateRequest.js +0 -3
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/dist/streams/live/LiveApi.d.ts +0 -8
- package/dist/streams/live/LiveApi.js +0 -15
- package/package.json +1 -1
|
@@ -240,7 +240,7 @@ var HeaderHandler = /** @class */ (function (_super) {
|
|
|
240
240
|
var headers = {
|
|
241
241
|
'X-Api-Key': apiKey,
|
|
242
242
|
'X-Api-Client': 'bitmovin-api-sdk-javascript',
|
|
243
|
-
'X-Api-Client-Version': '1.
|
|
243
|
+
'X-Api-Client-Version': '1.177.0',
|
|
244
244
|
'Content-Type': 'application/json'
|
|
245
245
|
};
|
|
246
246
|
if (tenantOrgId) {
|
|
@@ -12,11 +12,23 @@ export interface FilterListQueryParams {
|
|
|
12
12
|
*/
|
|
13
13
|
limit?: number | undefined;
|
|
14
14
|
/**
|
|
15
|
-
* Filter filters by name
|
|
15
|
+
* Filter filters by name. Multiple names are separated with a `,`
|
|
16
16
|
* @type {string}
|
|
17
17
|
* @memberof FilterListQueryParams
|
|
18
18
|
*/
|
|
19
19
|
name?: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Order list result according to a filter resource attribute. The fields that can be used for sorting are: + `id` + `createdAt` + `modifiedAt` + `type` + `name`
|
|
22
|
+
* @type {string}
|
|
23
|
+
* @memberof FilterListQueryParams
|
|
24
|
+
*/
|
|
25
|
+
sort?: string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Filter filters by type. Multiple types are separated with a `,`
|
|
28
|
+
* @type {string}
|
|
29
|
+
* @memberof FilterListQueryParams
|
|
30
|
+
*/
|
|
31
|
+
type?: string | undefined;
|
|
20
32
|
}
|
|
21
33
|
export declare class FilterListQueryParamsBuilder {
|
|
22
34
|
private internalParams;
|
|
@@ -32,8 +44,18 @@ export declare class FilterListQueryParamsBuilder {
|
|
|
32
44
|
limit(limit: number): this;
|
|
33
45
|
/**
|
|
34
46
|
*
|
|
35
|
-
* @param name Filter filters by name
|
|
47
|
+
* @param name Filter filters by name. Multiple names are separated with a `,`
|
|
36
48
|
*/
|
|
37
49
|
name(name: string): this;
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param sort Order list result according to a filter resource attribute. The fields that can be used for sorting are: + `id` + `createdAt` + `modifiedAt` + `type` + `name`
|
|
53
|
+
*/
|
|
54
|
+
sort(sort: string): this;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param type Filter filters by type. Multiple types are separated with a `,`
|
|
58
|
+
*/
|
|
59
|
+
type(type: string): this;
|
|
38
60
|
buildQueryParams(): FilterListQueryParams;
|
|
39
61
|
}
|
|
@@ -23,12 +23,28 @@ var FilterListQueryParamsBuilder = /** @class */ (function () {
|
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
|
-
* @param name Filter filters by name
|
|
26
|
+
* @param name Filter filters by name. Multiple names are separated with a `,`
|
|
27
27
|
*/
|
|
28
28
|
FilterListQueryParamsBuilder.prototype.name = function (name) {
|
|
29
29
|
this.internalParams.name = name;
|
|
30
30
|
return this;
|
|
31
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param sort Order list result according to a filter resource attribute. The fields that can be used for sorting are: + `id` + `createdAt` + `modifiedAt` + `type` + `name`
|
|
35
|
+
*/
|
|
36
|
+
FilterListQueryParamsBuilder.prototype.sort = function (sort) {
|
|
37
|
+
this.internalParams.sort = sort;
|
|
38
|
+
return this;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @param type Filter filters by type. Multiple types are separated with a `,`
|
|
43
|
+
*/
|
|
44
|
+
FilterListQueryParamsBuilder.prototype.type = function (type) {
|
|
45
|
+
this.internalParams.type = type;
|
|
46
|
+
return this;
|
|
47
|
+
};
|
|
32
48
|
FilterListQueryParamsBuilder.prototype.buildQueryParams = function () {
|
|
33
49
|
return this.internalParams;
|
|
34
50
|
};
|
|
@@ -11,7 +11,7 @@ export declare class LiveHlsManifest {
|
|
|
11
11
|
*/
|
|
12
12
|
manifestId?: string;
|
|
13
13
|
/**
|
|
14
|
-
* Timeshift in seconds
|
|
14
|
+
* Timeshift in seconds. We recommend to use a timeshift value not greater than 3 hours (10800.0 seconds). Longer values could negatively impact the manifest update frequency.
|
|
15
15
|
* @type {number}
|
|
16
16
|
* @memberof LiveHlsManifest
|
|
17
17
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import BitmovinResource from './BitmovinResource';
|
|
2
2
|
import OrganizationType from './OrganizationType';
|
|
3
3
|
import ResourceLimitContainer from './ResourceLimitContainer';
|
|
4
|
+
import SignupSource from './SignupSource';
|
|
4
5
|
/**
|
|
5
6
|
* @export
|
|
6
7
|
* @class Organization
|
|
@@ -29,6 +30,12 @@ export declare class Organization extends BitmovinResource {
|
|
|
29
30
|
* @memberof Organization
|
|
30
31
|
*/
|
|
31
32
|
limitsPerResource?: ResourceLimitContainer[];
|
|
33
|
+
/**
|
|
34
|
+
* which platform initiated organisation creation
|
|
35
|
+
* @type {SignupSource}
|
|
36
|
+
* @memberof Organization
|
|
37
|
+
*/
|
|
38
|
+
signupSource?: SignupSource;
|
|
32
39
|
constructor(obj?: Partial<Organization>);
|
|
33
40
|
}
|
|
34
41
|
export default Organization;
|
|
@@ -34,6 +34,7 @@ var Organization = /** @class */ (function (_super) {
|
|
|
34
34
|
_this.parentId = (0, Mapper_1.map)(obj.parentId);
|
|
35
35
|
_this.labelColor = (0, Mapper_1.map)(obj.labelColor);
|
|
36
36
|
_this.limitsPerResource = (0, Mapper_1.mapArray)(obj.limitsPerResource, ResourceLimitContainer_1.default);
|
|
37
|
+
_this.signupSource = (0, Mapper_1.map)(obj.signupSource);
|
|
37
38
|
return _this;
|
|
38
39
|
}
|
|
39
40
|
return Organization;
|
|
@@ -37,6 +37,12 @@ export declare class PrewarmedEncoderPool extends BitmovinResource {
|
|
|
37
37
|
* @memberof PrewarmedEncoderPool
|
|
38
38
|
*/
|
|
39
39
|
targetPoolSize?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Activate dynamic pool behaviour. Pool will increase/decrease based on usage. Minimum pool size is set by targetPoolSize.
|
|
42
|
+
* @type {boolean}
|
|
43
|
+
* @memberof PrewarmedEncoderPool
|
|
44
|
+
*/
|
|
45
|
+
dynamicPool?: boolean;
|
|
40
46
|
/**
|
|
41
47
|
* Create pool with GPU instances for hardware encoding presets (e.g., VOD_HARDWARE_SHORTFORM).
|
|
42
48
|
* @type {boolean}
|
|
@@ -34,6 +34,7 @@ var PrewarmedEncoderPool = /** @class */ (function (_super) {
|
|
|
34
34
|
_this.infrastructureId = (0, Mapper_1.map)(obj.infrastructureId);
|
|
35
35
|
_this.diskSize = (0, Mapper_1.map)(obj.diskSize);
|
|
36
36
|
_this.targetPoolSize = (0, Mapper_1.map)(obj.targetPoolSize);
|
|
37
|
+
_this.dynamicPool = (0, Mapper_1.map)(obj.dynamicPool);
|
|
37
38
|
_this.gpuEnabled = (0, Mapper_1.map)(obj.gpuEnabled);
|
|
38
39
|
_this.status = (0, Mapper_1.map)(obj.status);
|
|
39
40
|
return _this;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignupSource = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* platform which initiated the creation of the resource
|
|
6
|
+
* @export
|
|
7
|
+
* @enum {string}
|
|
8
|
+
*/
|
|
9
|
+
var SignupSource;
|
|
10
|
+
(function (SignupSource) {
|
|
11
|
+
SignupSource["AWS"] = "AWS";
|
|
12
|
+
SignupSource["AZURE"] = "AZURE";
|
|
13
|
+
SignupSource["BITMOVIN"] = "BITMOVIN";
|
|
14
|
+
SignupSource["GOOGLE"] = "GOOGLE";
|
|
15
|
+
})(SignupSource = exports.SignupSource || (exports.SignupSource = {}));
|
|
16
|
+
exports.default = SignupSource;
|
|
@@ -15,18 +15,6 @@ export declare class StreamsLiveCreateRequest {
|
|
|
15
15
|
* @memberof StreamsLiveCreateRequest
|
|
16
16
|
*/
|
|
17
17
|
description?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Id of the style config to use
|
|
20
|
-
* @type {string}
|
|
21
|
-
* @memberof StreamsLiveCreateRequest
|
|
22
|
-
*/
|
|
23
|
-
styleConfigId?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Id of the advertisement config to use
|
|
26
|
-
* @type {string}
|
|
27
|
-
* @memberof StreamsLiveCreateRequest
|
|
28
|
-
*/
|
|
29
|
-
adConfigId?: string;
|
|
30
18
|
constructor(obj?: Partial<StreamsLiveCreateRequest>);
|
|
31
19
|
}
|
|
32
20
|
export default StreamsLiveCreateRequest;
|
|
@@ -13,8 +13,6 @@ var StreamsLiveCreateRequest = /** @class */ (function () {
|
|
|
13
13
|
}
|
|
14
14
|
this.title = (0, Mapper_1.map)(obj.title);
|
|
15
15
|
this.description = (0, Mapper_1.map)(obj.description);
|
|
16
|
-
this.styleConfigId = (0, Mapper_1.map)(obj.styleConfigId);
|
|
17
|
-
this.adConfigId = (0, Mapper_1.map)(obj.adConfigId);
|
|
18
16
|
}
|
|
19
17
|
return StreamsLiveCreateRequest;
|
|
20
18
|
}());
|
|
@@ -15,30 +15,12 @@ export declare class StreamsLiveUpdateRequest {
|
|
|
15
15
|
* @memberof StreamsLiveUpdateRequest
|
|
16
16
|
*/
|
|
17
17
|
description?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Id of the style config to use
|
|
20
|
-
* @type {string}
|
|
21
|
-
* @memberof StreamsLiveUpdateRequest
|
|
22
|
-
*/
|
|
23
|
-
styleConfigId?: string;
|
|
24
18
|
/**
|
|
25
19
|
* URL to hosted poster image
|
|
26
20
|
* @type {string}
|
|
27
21
|
* @memberof StreamsLiveUpdateRequest
|
|
28
22
|
*/
|
|
29
23
|
posterUrl?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Id of the advertisement config to use
|
|
32
|
-
* @type {string}
|
|
33
|
-
* @memberof StreamsLiveUpdateRequest
|
|
34
|
-
*/
|
|
35
|
-
adConfigId?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Id of the content protection config to use
|
|
38
|
-
* @type {string}
|
|
39
|
-
* @memberof StreamsLiveUpdateRequest
|
|
40
|
-
*/
|
|
41
|
-
contentProtectionId?: string;
|
|
42
24
|
constructor(obj?: Partial<StreamsLiveUpdateRequest>);
|
|
43
25
|
}
|
|
44
26
|
export default StreamsLiveUpdateRequest;
|
|
@@ -13,10 +13,7 @@ var StreamsLiveUpdateRequest = /** @class */ (function () {
|
|
|
13
13
|
}
|
|
14
14
|
this.title = (0, Mapper_1.map)(obj.title);
|
|
15
15
|
this.description = (0, Mapper_1.map)(obj.description);
|
|
16
|
-
this.styleConfigId = (0, Mapper_1.map)(obj.styleConfigId);
|
|
17
16
|
this.posterUrl = (0, Mapper_1.map)(obj.posterUrl);
|
|
18
|
-
this.adConfigId = (0, Mapper_1.map)(obj.adConfigId);
|
|
19
|
-
this.contentProtectionId = (0, Mapper_1.map)(obj.contentProtectionId);
|
|
20
17
|
}
|
|
21
18
|
return StreamsLiveUpdateRequest;
|
|
22
19
|
}());
|
|
@@ -22,18 +22,6 @@ export declare class StreamsVideoCreateRequest {
|
|
|
22
22
|
* @memberof StreamsVideoCreateRequest
|
|
23
23
|
*/
|
|
24
24
|
description?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Id of the style config to use
|
|
27
|
-
* @type {string}
|
|
28
|
-
* @memberof StreamsVideoCreateRequest
|
|
29
|
-
*/
|
|
30
|
-
styleConfigId?: string;
|
|
31
|
-
/**
|
|
32
|
-
* Id of the advertisement config to use
|
|
33
|
-
* @type {string}
|
|
34
|
-
* @memberof StreamsVideoCreateRequest
|
|
35
|
-
*/
|
|
36
|
-
adConfigId?: string;
|
|
37
25
|
/**
|
|
38
26
|
* Profile to be used in encoding
|
|
39
27
|
* @type {StreamsEncodingProfile}
|
|
@@ -14,8 +14,6 @@ var StreamsVideoCreateRequest = /** @class */ (function () {
|
|
|
14
14
|
this.assetUrl = (0, Mapper_1.map)(obj.assetUrl);
|
|
15
15
|
this.title = (0, Mapper_1.map)(obj.title);
|
|
16
16
|
this.description = (0, Mapper_1.map)(obj.description);
|
|
17
|
-
this.styleConfigId = (0, Mapper_1.map)(obj.styleConfigId);
|
|
18
|
-
this.adConfigId = (0, Mapper_1.map)(obj.adConfigId);
|
|
19
17
|
this.encodingProfile = (0, Mapper_1.map)(obj.encodingProfile);
|
|
20
18
|
}
|
|
21
19
|
return StreamsVideoCreateRequest;
|
|
@@ -78,6 +78,12 @@ export declare class StreamsVideoResponse {
|
|
|
78
78
|
* @memberof StreamsVideoResponse
|
|
79
79
|
*/
|
|
80
80
|
trimming?: StreamsTrimmingStatus;
|
|
81
|
+
/**
|
|
82
|
+
* Single-file download URL of the unaltered video in the best available quality
|
|
83
|
+
* @type {string}
|
|
84
|
+
* @memberof StreamsVideoResponse
|
|
85
|
+
*/
|
|
86
|
+
downloadUrl?: string;
|
|
81
87
|
constructor(obj?: Partial<StreamsVideoResponse>);
|
|
82
88
|
}
|
|
83
89
|
export default StreamsVideoResponse;
|
|
@@ -27,6 +27,7 @@ var StreamsVideoResponse = /** @class */ (function () {
|
|
|
27
27
|
this.adConfig = (0, Mapper_1.map)(obj.adConfig, StreamsAdConfigResponse_1.default);
|
|
28
28
|
this.contentProtection = (0, Mapper_1.map)(obj.contentProtection, StreamsContentProtectionResponse_1.default);
|
|
29
29
|
this.trimming = (0, Mapper_1.map)(obj.trimming);
|
|
30
|
+
this.downloadUrl = (0, Mapper_1.map)(obj.downloadUrl);
|
|
30
31
|
}
|
|
31
32
|
return StreamsVideoResponse;
|
|
32
33
|
}());
|
|
@@ -22,30 +22,12 @@ export declare class StreamsVideoUpdateRequest {
|
|
|
22
22
|
* @memberof StreamsVideoUpdateRequest
|
|
23
23
|
*/
|
|
24
24
|
description?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Id of the style config to use
|
|
27
|
-
* @type {string}
|
|
28
|
-
* @memberof StreamsVideoUpdateRequest
|
|
29
|
-
*/
|
|
30
|
-
styleConfigId?: string;
|
|
31
25
|
/**
|
|
32
26
|
* URL to hosted poster image
|
|
33
27
|
* @type {string}
|
|
34
28
|
* @memberof StreamsVideoUpdateRequest
|
|
35
29
|
*/
|
|
36
30
|
posterUrl?: string;
|
|
37
|
-
/**
|
|
38
|
-
* Id of the advertisement config to use
|
|
39
|
-
* @type {string}
|
|
40
|
-
* @memberof StreamsVideoUpdateRequest
|
|
41
|
-
*/
|
|
42
|
-
adConfigId?: string;
|
|
43
|
-
/**
|
|
44
|
-
* Id of the content protection config to use
|
|
45
|
-
* @type {string}
|
|
46
|
-
* @memberof StreamsVideoUpdateRequest
|
|
47
|
-
*/
|
|
48
|
-
contentProtectionId?: string;
|
|
49
31
|
constructor(obj?: Partial<StreamsVideoUpdateRequest>);
|
|
50
32
|
}
|
|
51
33
|
export default StreamsVideoUpdateRequest;
|
|
@@ -14,10 +14,7 @@ var StreamsVideoUpdateRequest = /** @class */ (function () {
|
|
|
14
14
|
this.status = (0, Mapper_1.map)(obj.status);
|
|
15
15
|
this.title = (0, Mapper_1.map)(obj.title);
|
|
16
16
|
this.description = (0, Mapper_1.map)(obj.description);
|
|
17
|
-
this.styleConfigId = (0, Mapper_1.map)(obj.styleConfigId);
|
|
18
17
|
this.posterUrl = (0, Mapper_1.map)(obj.posterUrl);
|
|
19
|
-
this.adConfigId = (0, Mapper_1.map)(obj.adConfigId);
|
|
20
|
-
this.contentProtectionId = (0, Mapper_1.map)(obj.contentProtectionId);
|
|
21
18
|
}
|
|
22
19
|
return StreamsVideoUpdateRequest;
|
|
23
20
|
}());
|
package/dist/models/index.d.ts
CHANGED
|
@@ -616,6 +616,7 @@ export * from './SidecarErrorMode';
|
|
|
616
616
|
export * from './SidecarFile';
|
|
617
617
|
export * from './SidecarFileType';
|
|
618
618
|
export * from './SignatureType';
|
|
619
|
+
export * from './SignupSource';
|
|
619
620
|
export * from './SimpleEncodingLiveCloudRegion';
|
|
620
621
|
export * from './SimpleEncodingLiveJobAccessKeyCredentials';
|
|
621
622
|
export * from './SimpleEncodingLiveJobAzureCredentials';
|
package/dist/models/index.js
CHANGED
|
@@ -632,6 +632,7 @@ __exportStar(require("./SidecarErrorMode"), exports);
|
|
|
632
632
|
__exportStar(require("./SidecarFile"), exports);
|
|
633
633
|
__exportStar(require("./SidecarFileType"), exports);
|
|
634
634
|
__exportStar(require("./SignatureType"), exports);
|
|
635
|
+
__exportStar(require("./SignupSource"), exports);
|
|
635
636
|
__exportStar(require("./SimpleEncodingLiveCloudRegion"), exports);
|
|
636
637
|
__exportStar(require("./SimpleEncodingLiveJobAccessKeyCredentials"), exports);
|
|
637
638
|
__exportStar(require("./SimpleEncodingLiveJobAzureCredentials"), exports);
|
|
@@ -53,12 +53,4 @@ export default class LiveApi extends BaseAPI {
|
|
|
53
53
|
* @memberof LiveApi
|
|
54
54
|
*/
|
|
55
55
|
patchStreamsLive(streamId: string, streamsLiveUpdateRequest?: StreamsLiveUpdateRequest): Promise<StreamsLiveResponse>;
|
|
56
|
-
/**
|
|
57
|
-
* @summary Update live stream by id
|
|
58
|
-
* @param {string} streamId Id of the stream.
|
|
59
|
-
* @param {StreamsLiveUpdateRequest} streamsLiveUpdateRequest The updated Streams live object.
|
|
60
|
-
* @throws {BitmovinError}
|
|
61
|
-
* @memberof LiveApi
|
|
62
|
-
*/
|
|
63
|
-
update(streamId: string, streamsLiveUpdateRequest?: StreamsLiveUpdateRequest): Promise<StreamsLiveResponse>;
|
|
64
56
|
}
|
|
@@ -108,21 +108,6 @@ var LiveApi = /** @class */ (function (_super) {
|
|
|
108
108
|
return (0, Mapper_1.map)(response, StreamsLiveResponse_1.default);
|
|
109
109
|
});
|
|
110
110
|
};
|
|
111
|
-
/**
|
|
112
|
-
* @summary Update live stream by id
|
|
113
|
-
* @param {string} streamId Id of the stream.
|
|
114
|
-
* @param {StreamsLiveUpdateRequest} streamsLiveUpdateRequest The updated Streams live object.
|
|
115
|
-
* @throws {BitmovinError}
|
|
116
|
-
* @memberof LiveApi
|
|
117
|
-
*/
|
|
118
|
-
LiveApi.prototype.update = function (streamId, streamsLiveUpdateRequest) {
|
|
119
|
-
var pathParamMap = {
|
|
120
|
-
stream_id: streamId
|
|
121
|
-
};
|
|
122
|
-
return this.restClient.put('/streams/live/{stream_id}', pathParamMap, streamsLiveUpdateRequest).then(function (response) {
|
|
123
|
-
return (0, Mapper_1.map)(response, StreamsLiveResponse_1.default);
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
111
|
return LiveApi;
|
|
127
112
|
}(BaseAPI_1.BaseAPI));
|
|
128
113
|
exports.default = LiveApi;
|