@tivio/sdk-js 2.3.3-beta.0 → 2.4.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/dist/index.d.ts +438 -21
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +1 -1455
- package/dist/sdk-js.d.ts +438 -21
- package/package.json +12 -6
package/dist/sdk-js.d.ts
CHANGED
@@ -142,6 +142,16 @@ declare enum ApplicationType {
|
|
142
142
|
ORGANIZATION = "ORGANIZATION"
|
143
143
|
}
|
144
144
|
|
145
|
+
/**
|
146
|
+
* @public
|
147
|
+
*/
|
148
|
+
declare interface ApplyScreenConditionPayload {
|
149
|
+
embedUrl?: string;
|
150
|
+
userPurchases?: Purchase[];
|
151
|
+
isSignedIn?: boolean;
|
152
|
+
condition: RenderCondition;
|
153
|
+
}
|
154
|
+
|
145
155
|
/**
|
146
156
|
* @public
|
147
157
|
*/
|
@@ -159,6 +169,9 @@ declare interface Article extends RowItem, MonetizableItem, ReactableContent {
|
|
159
169
|
blocks: ArticleBlock[];
|
160
170
|
cover: string;
|
161
171
|
organizationId?: string;
|
172
|
+
detailBanner?: string;
|
173
|
+
episodeNumber?: number;
|
174
|
+
seasonNumber?: number;
|
162
175
|
}
|
163
176
|
|
164
177
|
/**
|
@@ -171,12 +184,14 @@ declare interface ArticleBlock {
|
|
171
184
|
imageUrl?: string;
|
172
185
|
textContent?: string;
|
173
186
|
videoId?: string;
|
187
|
+
isOverflowImage?: boolean;
|
188
|
+
imageDescription?: string;
|
174
189
|
}
|
175
190
|
|
176
191
|
/**
|
177
192
|
* @public
|
178
193
|
*/
|
179
|
-
declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL';
|
194
|
+
declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL' | 'BLOCK_QUOTE';
|
180
195
|
|
181
196
|
/**
|
182
197
|
* @public
|
@@ -214,6 +229,11 @@ declare enum BannerItemComponent {
|
|
214
229
|
CAROUSEL = "CAROUSEL"
|
215
230
|
}
|
216
231
|
|
232
|
+
/**
|
233
|
+
* @public
|
234
|
+
*/
|
235
|
+
declare type BottomComponent = 'dateOfPublication' | 'description' | undefined;
|
236
|
+
|
217
237
|
/**
|
218
238
|
* @public
|
219
239
|
*/
|
@@ -313,11 +333,76 @@ declare interface ContentAvailability {
|
|
313
333
|
manual: boolean;
|
314
334
|
}
|
315
335
|
|
336
|
+
declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
|
337
|
+
|
316
338
|
/**
|
317
339
|
* @public
|
318
340
|
*/
|
319
341
|
declare type ContinuePosition = number | null | Promise<number | null>;
|
320
342
|
|
343
|
+
/**
|
344
|
+
* @public
|
345
|
+
*/
|
346
|
+
declare interface Conversation {
|
347
|
+
id: string;
|
348
|
+
createdAt: Date | null;
|
349
|
+
updatedAt: Date | null;
|
350
|
+
createdBy: MessageParticipant | null;
|
351
|
+
isSending: boolean;
|
352
|
+
lastMessage: ConversationMessage | null;
|
353
|
+
lastSeen: {
|
354
|
+
[key: string]: ConversationLastSeen | undefined;
|
355
|
+
};
|
356
|
+
participants: MessageParticipant[];
|
357
|
+
title: string;
|
358
|
+
messages: ConversationMessage[];
|
359
|
+
notSeenCount: number;
|
360
|
+
isLoading: boolean;
|
361
|
+
subscribeToMessages(): void;
|
362
|
+
sendMessage(text: string): Promise<SendMessageResponse>;
|
363
|
+
markAsRead(messageId: string): Promise<void>;
|
364
|
+
destroy(): void;
|
365
|
+
}
|
366
|
+
|
367
|
+
/**
|
368
|
+
* @public
|
369
|
+
*/
|
370
|
+
declare interface ConversationLastSeen {
|
371
|
+
message: Message;
|
372
|
+
date?: Date;
|
373
|
+
}
|
374
|
+
|
375
|
+
/**
|
376
|
+
* @public
|
377
|
+
*/
|
378
|
+
declare interface ConversationMessage {
|
379
|
+
id: string;
|
380
|
+
participant: MessageParticipant;
|
381
|
+
text: string;
|
382
|
+
createdAt: Date;
|
383
|
+
editedAt: Date | null;
|
384
|
+
}
|
385
|
+
|
386
|
+
/**
|
387
|
+
* @public
|
388
|
+
*/
|
389
|
+
declare interface ConversationStore {
|
390
|
+
conversations: Map<string, Conversation>;
|
391
|
+
isLoading: boolean;
|
392
|
+
setParticipantPath(participantPath: string | null): void;
|
393
|
+
setConversations(callback: (conversations: Conversation[]) => Conversation[]): void;
|
394
|
+
subscribeConversations(participantPath: string): Promise<void>;
|
395
|
+
createConversation(participantPaths: string[]): Promise<{
|
396
|
+
id: string;
|
397
|
+
} | undefined>;
|
398
|
+
clearConversations(): void;
|
399
|
+
getConversationById(id: string): Conversation | undefined;
|
400
|
+
readonly allConversations: Conversation[];
|
401
|
+
readonly notSeenCount: number;
|
402
|
+
setDisposer(key: 'conversations', disposer: Disposer_2): void;
|
403
|
+
unsubscribeConversations(): void;
|
404
|
+
}
|
405
|
+
|
321
406
|
/**
|
322
407
|
* @param {PlayerInterfaceForPlayerWrapper} playerImplementation - player implementation
|
323
408
|
* @returns player wrapper instance
|
@@ -352,6 +437,7 @@ declare enum CustomerId {
|
|
352
437
|
CNC = "CNC",
|
353
438
|
DVTV = "DVTV",
|
354
439
|
DVTV_DEV = "DVTV_DEV",
|
440
|
+
DVTV_SK = "DVTV_SK",
|
355
441
|
GARAZ = "GARAZ",
|
356
442
|
GRAPE = "GRAPE",
|
357
443
|
HODINA_DEJEPICHU = "HODINA_DEJEPICHU",
|
@@ -378,7 +464,27 @@ declare enum CustomerId {
|
|
378
464
|
LIGA_NARUBY = "LIGA_NARUBY",
|
379
465
|
VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE",
|
380
466
|
ZIMAK = "ZIMAK",
|
381
|
-
TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU"
|
467
|
+
TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU",
|
468
|
+
THE_MAG = "THE_MAG",
|
469
|
+
FNO = "FNO",
|
470
|
+
HARTMANNRICO = "HARTMANNRICO",
|
471
|
+
DRASLOVKA = "DRASLOVKA",
|
472
|
+
CSOB = "CSOB",
|
473
|
+
MAGNA = "MAGNA",
|
474
|
+
REPORTERKY = "REPORTERKY",
|
475
|
+
TV_LUX = "TV_LUX",
|
476
|
+
KVIFF = "KVIFF",
|
477
|
+
KVIFF_WEB = "KVIFF_WEB",
|
478
|
+
SPORTY_TV = "SPORTY_TV",
|
479
|
+
PALATINUM = "PALATINUM",
|
480
|
+
MIRA_BOSAK = "MIRA_BOSAK",
|
481
|
+
KOVACIC_360 = "KOVACIC_360",
|
482
|
+
SIFRA_TV = "SIFRA_TV",
|
483
|
+
BLESK = "BLESK",
|
484
|
+
NERUDA_TV = "NERUDA_TV",
|
485
|
+
DAVID_FRANK_TV = "DAVID_FRANK_TV",
|
486
|
+
LEPSI_UZ_TO_NEBUDE = "LEPSI_UZ_TO_NEBUDE",
|
487
|
+
BEAT_SEXISM = "BEAT_SEXISM"
|
382
488
|
}
|
383
489
|
|
384
490
|
/**
|
@@ -489,6 +595,15 @@ declare type FollowedOrganizationData = {
|
|
489
595
|
};
|
490
596
|
};
|
491
597
|
|
598
|
+
/**
|
599
|
+
* @public
|
600
|
+
*/
|
601
|
+
declare type FrequencyInfo = {
|
602
|
+
title: Translation;
|
603
|
+
unit: string;
|
604
|
+
value: number;
|
605
|
+
};
|
606
|
+
|
492
607
|
/**
|
493
608
|
* @public
|
494
609
|
*/
|
@@ -526,6 +641,20 @@ declare interface GetSourceUrlResponse {
|
|
526
641
|
* Returns url to manifest with audio only chunks.
|
527
642
|
*/
|
528
643
|
audioOnly?: boolean;
|
644
|
+
/**
|
645
|
+
* Current session id for given user and source.
|
646
|
+
*/
|
647
|
+
sessionId?: string;
|
648
|
+
/**
|
649
|
+
* Template for generating image previews for user scrubbing in player.
|
650
|
+
*/
|
651
|
+
seekingMatrix?: SeekingMatrixTemplate;
|
652
|
+
}
|
653
|
+
|
654
|
+
declare interface GetUserRssUrlResponse {
|
655
|
+
rssUrl: string;
|
656
|
+
createdAt?: number;
|
657
|
+
expiresAt?: number;
|
529
658
|
}
|
530
659
|
|
531
660
|
declare type InternalConf = {
|
@@ -698,6 +827,41 @@ declare interface Marker {
|
|
698
827
|
type: 'AD' | 'AD_SEGMENT' | 'START' | 'END' | 'INTRO';
|
699
828
|
}
|
700
829
|
|
830
|
+
/**
|
831
|
+
* @public
|
832
|
+
*/
|
833
|
+
declare interface Message {
|
834
|
+
id: string;
|
835
|
+
text: string;
|
836
|
+
videoTime: number | null;
|
837
|
+
createdAt: Date;
|
838
|
+
editedAt: Date | null;
|
839
|
+
user: MessageUser | null;
|
840
|
+
reactions: Record<string, number> | null;
|
841
|
+
repliesCount: number | null;
|
842
|
+
isReady: boolean;
|
843
|
+
updateRepliesCount: (increment: boolean) => void;
|
844
|
+
}
|
845
|
+
|
846
|
+
/**
|
847
|
+
* @public
|
848
|
+
*/
|
849
|
+
declare interface MessageParticipant {
|
850
|
+
path: string;
|
851
|
+
name: string;
|
852
|
+
avatarUrl: string;
|
853
|
+
email: string;
|
854
|
+
}
|
855
|
+
|
856
|
+
/**
|
857
|
+
* @public
|
858
|
+
*/
|
859
|
+
declare interface MessageUser {
|
860
|
+
name: string;
|
861
|
+
avatarUrl: string | null;
|
862
|
+
email: string;
|
863
|
+
}
|
864
|
+
|
701
865
|
declare interface MonetizableItem {
|
702
866
|
/**
|
703
867
|
* Returns true if content is purchased (via transaction or subscription) or free.
|
@@ -723,6 +887,7 @@ declare interface Monetization {
|
|
723
887
|
name?: string;
|
724
888
|
description?: string;
|
725
889
|
organizationId?: string;
|
890
|
+
order?: number;
|
726
891
|
}
|
727
892
|
|
728
893
|
/**
|
@@ -755,6 +920,8 @@ declare enum MONETIZATION_FREQUENCY {
|
|
755
920
|
*/
|
756
921
|
declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription' | 'display';
|
757
922
|
|
923
|
+
declare type NextPageParamType = 'screenId' | 'rowId' | 'filter';
|
924
|
+
|
758
925
|
/**
|
759
926
|
* @public
|
760
927
|
*/
|
@@ -781,6 +948,7 @@ declare interface Organization {
|
|
781
948
|
logoLandscape: string | null;
|
782
949
|
organizationBanner: string | null;
|
783
950
|
profilePhoto: string | null;
|
951
|
+
defaultLanguage?: string;
|
784
952
|
}
|
785
953
|
|
786
954
|
/**
|
@@ -793,6 +961,23 @@ declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
793
961
|
type: 'other';
|
794
962
|
};
|
795
963
|
|
964
|
+
declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
965
|
+
items: T[];
|
966
|
+
nextPageParams: {
|
967
|
+
offset: number;
|
968
|
+
limit: number;
|
969
|
+
} & (U extends 'screenId' ? {
|
970
|
+
organizationId: string;
|
971
|
+
screenId: string;
|
972
|
+
initialTilesCount: number;
|
973
|
+
} : U extends 'rowId' ? {
|
974
|
+
organizationId: string;
|
975
|
+
rowId: string;
|
976
|
+
} : U extends 'filter' ? {
|
977
|
+
filter: Omit<RowFilterField, 'limit'>;
|
978
|
+
} : {}) | null;
|
979
|
+
}
|
980
|
+
|
796
981
|
/**
|
797
982
|
* @public
|
798
983
|
*/
|
@@ -801,6 +986,7 @@ declare type PaginationInterface<Entity> = {
|
|
801
986
|
fetchMore: () => void;
|
802
987
|
hasNextPage?: boolean;
|
803
988
|
loading?: boolean;
|
989
|
+
initialLoading?: boolean;
|
804
990
|
};
|
805
991
|
|
806
992
|
/**
|
@@ -1189,6 +1375,25 @@ declare interface Promotion {
|
|
1189
1375
|
hideOtherSubscriptions?: boolean;
|
1190
1376
|
}
|
1191
1377
|
|
1378
|
+
/**
|
1379
|
+
* @public
|
1380
|
+
*/
|
1381
|
+
declare enum PublishedStatus {
|
1382
|
+
/**
|
1383
|
+
* Content is not published, is not shown in any application and cannot be played,
|
1384
|
+
* even if user enters url directly into browser.
|
1385
|
+
*/
|
1386
|
+
DRAFT = "DRAFT",
|
1387
|
+
/**
|
1388
|
+
* Content is published and can be accessed and played freely in any application.
|
1389
|
+
*/
|
1390
|
+
PUBLISHED = "PUBLISHED",
|
1391
|
+
/**
|
1392
|
+
* Content is not visible in the application (e.g. rows, search), but if user has direct url to it, they can play it.
|
1393
|
+
*/
|
1394
|
+
UNLISTED = "UNLISTED"
|
1395
|
+
}
|
1396
|
+
|
1192
1397
|
/**
|
1193
1398
|
* @public
|
1194
1399
|
*/
|
@@ -1203,6 +1408,7 @@ declare interface PurchasableMonetization extends Monetization {
|
|
1203
1408
|
price?: string | number;
|
1204
1409
|
promotion: Promotion | null;
|
1205
1410
|
frequency?: MONETIZATION_FREQUENCY;
|
1411
|
+
frequencyInfo?: FrequencyInfo;
|
1206
1412
|
durationDays?: number;
|
1207
1413
|
/**
|
1208
1414
|
* Returns TRUE if subscription is purchased (and not expired) by user.
|
@@ -1233,6 +1439,15 @@ declare interface PurchasableMonetization extends Monetization {
|
|
1233
1439
|
* When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
|
1234
1440
|
*/
|
1235
1441
|
subscriptionIsHidden?: boolean;
|
1442
|
+
/**
|
1443
|
+
* Price that is used for marketing purposes (strike-through price).
|
1444
|
+
*/
|
1445
|
+
regularPrice?: DetailedPrice;
|
1446
|
+
/**
|
1447
|
+
* Number of seats left for the subscription.
|
1448
|
+
*/
|
1449
|
+
seatsLeft?: number;
|
1450
|
+
maxQuantity?: number;
|
1236
1451
|
}
|
1237
1452
|
|
1238
1453
|
/**
|
@@ -1283,7 +1498,8 @@ declare enum PurchaseDocumentGateway {
|
|
1283
1498
|
'tivio' = "tivio",
|
1284
1499
|
'patreon' = "patreon",
|
1285
1500
|
'paypal' = "paypal",
|
1286
|
-
'unknown' = "unknown"
|
1501
|
+
'unknown' = "unknown",
|
1502
|
+
'stargaze' = "stargaze"
|
1287
1503
|
}
|
1288
1504
|
|
1289
1505
|
/**
|
@@ -1333,7 +1549,12 @@ declare enum PurchaseStatus {
|
|
1333
1549
|
/**
|
1334
1550
|
* From PAID to EXPIRED when payment fails to renew subscription.
|
1335
1551
|
*/
|
1336
|
-
EXPIRED = "EXPIRED"
|
1552
|
+
EXPIRED = "EXPIRED",
|
1553
|
+
/**
|
1554
|
+
* From PAID to EXPIRING when a Stargaze purchase has passed its expire date but hasn't been fully expired yet.
|
1555
|
+
* Stargaze will try to renew the purchase even after it has expired.
|
1556
|
+
*/
|
1557
|
+
EXPIRING = "EXPIRING"
|
1337
1558
|
}
|
1338
1559
|
|
1339
1560
|
/**
|
@@ -1352,6 +1573,9 @@ declare interface ReactableContent {
|
|
1352
1573
|
[key in ReactionEnum]?: number;
|
1353
1574
|
} | null;
|
1354
1575
|
updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
|
1576
|
+
isFavorite?: boolean;
|
1577
|
+
removeFromFavorites?: () => void;
|
1578
|
+
addToFavorites?: () => void;
|
1355
1579
|
}
|
1356
1580
|
|
1357
1581
|
/**
|
@@ -1401,6 +1625,29 @@ export declare type RemoteProviderProps = {
|
|
1401
1625
|
language?: string;
|
1402
1626
|
};
|
1403
1627
|
|
1628
|
+
/**
|
1629
|
+
* Conditions that are dynamically applied to screens before they are rendered.
|
1630
|
+
* eg. when we want to render an embed only if certain conditions are met.
|
1631
|
+
* 'type' indicates type of the condition, eg. 'subscribed'.
|
1632
|
+
* 'else' indicates what should happen if the conditions are not met.
|
1633
|
+
* 'elseValue' is a payload.
|
1634
|
+
*/
|
1635
|
+
declare interface RenderCondition {
|
1636
|
+
type: ScreenConditionType;
|
1637
|
+
value?: RenderConditionValue[];
|
1638
|
+
else: ScreenConditionElse;
|
1639
|
+
elseValue: RenderConditionElseValue[];
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
declare interface RenderConditionElseValue {
|
1643
|
+
key: string;
|
1644
|
+
value: string;
|
1645
|
+
}
|
1646
|
+
|
1647
|
+
declare interface RenderConditionValue {
|
1648
|
+
subscriptionRefs?: any[];
|
1649
|
+
}
|
1650
|
+
|
1404
1651
|
/**
|
1405
1652
|
* @public
|
1406
1653
|
*/
|
@@ -1420,6 +1667,8 @@ declare interface Row {
|
|
1420
1667
|
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
1421
1668
|
itemComponent: RowItemComponent | BannerItemComponent;
|
1422
1669
|
organizationId?: string;
|
1670
|
+
bottomComponent?: BottomComponent;
|
1671
|
+
showDescriptionAsTitle?: boolean;
|
1423
1672
|
}
|
1424
1673
|
|
1425
1674
|
/**
|
@@ -1443,6 +1692,37 @@ declare enum RowComponent {
|
|
1443
1692
|
BANNER = "BANNER"
|
1444
1693
|
}
|
1445
1694
|
|
1695
|
+
declare enum RowFilterCollection {
|
1696
|
+
VIDEOS = "videos",
|
1697
|
+
/**
|
1698
|
+
* This is not real collection path. Path always should be ${organizationId}/tags
|
1699
|
+
*/
|
1700
|
+
TAGS = "tags",
|
1701
|
+
TV_CHANNELS = "tvChannels",
|
1702
|
+
CONTENTS = "contents",
|
1703
|
+
APPLICATIONS = "applications"
|
1704
|
+
}
|
1705
|
+
|
1706
|
+
/**
|
1707
|
+
* RowFilterField that is used in @tivio/firebase needs to be retyped here.
|
1708
|
+
* @public
|
1709
|
+
*/
|
1710
|
+
declare interface RowFilterField {
|
1711
|
+
collection: RowFilterCollection;
|
1712
|
+
limit?: number;
|
1713
|
+
orderBy?: {
|
1714
|
+
fieldPath: RowOrderByFieldPath;
|
1715
|
+
directionStr?: OrderByDirection;
|
1716
|
+
};
|
1717
|
+
where?: RowFilterWhereField[];
|
1718
|
+
}
|
1719
|
+
|
1720
|
+
declare interface RowFilterWhereField {
|
1721
|
+
fieldPath: RowWhereFilterFieldPath;
|
1722
|
+
opStr: WhereFilterOp;
|
1723
|
+
value: any;
|
1724
|
+
}
|
1725
|
+
|
1446
1726
|
/**
|
1447
1727
|
* @public
|
1448
1728
|
*/
|
@@ -1494,6 +1774,27 @@ declare enum RowItemComponent {
|
|
1494
1774
|
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
|
1495
1775
|
}
|
1496
1776
|
|
1777
|
+
/**
|
1778
|
+
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
1779
|
+
* @public
|
1780
|
+
*/
|
1781
|
+
declare enum RowOrderByFieldPath {
|
1782
|
+
CREATED = "created",
|
1783
|
+
DEFAULT_NAME = "defaultName"
|
1784
|
+
}
|
1785
|
+
|
1786
|
+
declare enum RowWhereFilterFieldPath {
|
1787
|
+
CREATED = "created",
|
1788
|
+
TAGS = "tags",
|
1789
|
+
TAG_TYPE_REF = "tagTypeRef",
|
1790
|
+
TYPE = "type",
|
1791
|
+
CONTENT_TYPE = "contentType",
|
1792
|
+
CHANNEL_KEY = "channelKey",
|
1793
|
+
PUBLISHED_STATUS = "publishedStatus",
|
1794
|
+
ORGANIZATION_REF = "organizationRef",
|
1795
|
+
TRANSCODING_STATUS = "transcodingStatus"
|
1796
|
+
}
|
1797
|
+
|
1497
1798
|
/**
|
1498
1799
|
* @public
|
1499
1800
|
*/
|
@@ -1503,6 +1804,43 @@ declare type ScalableAsset = {
|
|
1503
1804
|
'@3'?: Asset;
|
1504
1805
|
};
|
1505
1806
|
|
1807
|
+
/**
|
1808
|
+
* @public
|
1809
|
+
*/
|
1810
|
+
declare interface Screen_2 {
|
1811
|
+
id: string;
|
1812
|
+
name: string | null;
|
1813
|
+
description?: string | null;
|
1814
|
+
assets: AssetsField;
|
1815
|
+
rows: PaginatedResponse<Row>;
|
1816
|
+
type?: ScreenType;
|
1817
|
+
filter?: RowFilterField | null;
|
1818
|
+
embedUrl?: string;
|
1819
|
+
screenId: string;
|
1820
|
+
renderConditions: RenderCondition[];
|
1821
|
+
getRenderCondition: (context: {
|
1822
|
+
purchasedSubscriptions: Purchase[];
|
1823
|
+
}) => RenderCondition | undefined;
|
1824
|
+
applyRenderCondition: (payload: ApplyScreenConditionPayload) => {
|
1825
|
+
isSignInRequired?: boolean;
|
1826
|
+
isPurchaseRequired?: boolean;
|
1827
|
+
embedUrl?: string;
|
1828
|
+
};
|
1829
|
+
fetchMoreRows: () => Promise<void>;
|
1830
|
+
hasNextPage: boolean;
|
1831
|
+
refetchIfNeeded: () => Promise<void>;
|
1832
|
+
}
|
1833
|
+
|
1834
|
+
declare enum ScreenConditionElse {
|
1835
|
+
SET_QUERY_PARAMS = "setQueryParams",
|
1836
|
+
SHOW_PURCHASE_MODAL = "showPurchaseModal"
|
1837
|
+
}
|
1838
|
+
|
1839
|
+
declare enum ScreenConditionType {
|
1840
|
+
SUBSCRIBED = "subscribed",
|
1841
|
+
SIGNED_IN = "signedIn"
|
1842
|
+
}
|
1843
|
+
|
1506
1844
|
/**
|
1507
1845
|
* @public
|
1508
1846
|
*/
|
@@ -1523,6 +1861,48 @@ declare type ScreenConfig = {
|
|
1523
1861
|
*/
|
1524
1862
|
declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
1525
1863
|
|
1864
|
+
declare enum ScreenType {
|
1865
|
+
DEFAULT = "default",
|
1866
|
+
GRID = "grid",
|
1867
|
+
EMBED = "embed",
|
1868
|
+
RECOMMENDATION = "recommendation",
|
1869
|
+
FEED = "feed",
|
1870
|
+
EPG = "epg"
|
1871
|
+
}
|
1872
|
+
|
1873
|
+
/**
|
1874
|
+
* @public
|
1875
|
+
*/
|
1876
|
+
declare interface SeekingMatrix {
|
1877
|
+
url: string;
|
1878
|
+
x: number;
|
1879
|
+
y: number;
|
1880
|
+
width: number;
|
1881
|
+
height: number;
|
1882
|
+
interval: number;
|
1883
|
+
timeMs: number;
|
1884
|
+
}
|
1885
|
+
|
1886
|
+
/**
|
1887
|
+
* @public
|
1888
|
+
*/
|
1889
|
+
declare interface SeekingMatrixTemplate {
|
1890
|
+
pattern: string;
|
1891
|
+
width: number;
|
1892
|
+
height: number;
|
1893
|
+
columns: number;
|
1894
|
+
rows: number;
|
1895
|
+
interval: number;
|
1896
|
+
}
|
1897
|
+
|
1898
|
+
/**
|
1899
|
+
* @public
|
1900
|
+
*/
|
1901
|
+
declare interface SendMessageResponse {
|
1902
|
+
conversationId: string;
|
1903
|
+
messageId?: string;
|
1904
|
+
}
|
1905
|
+
|
1526
1906
|
/**
|
1527
1907
|
* @public
|
1528
1908
|
*/
|
@@ -1538,6 +1918,12 @@ declare interface Series extends RowItem, MonetizableItem, ReactableContent {
|
|
1538
1918
|
ref: DocumentReference<any>;
|
1539
1919
|
availableSeasons: AvailableSeason[];
|
1540
1920
|
actors?: DocumentReference<any>[];
|
1921
|
+
linkedContent?: {
|
1922
|
+
type: ContentType;
|
1923
|
+
contentRef: DocumentReference<any>;
|
1924
|
+
}[];
|
1925
|
+
seriesDetailArticle?: Article;
|
1926
|
+
originalTagId?: string;
|
1541
1927
|
}
|
1542
1928
|
|
1543
1929
|
declare type Settings = {
|
@@ -1630,7 +2016,7 @@ declare interface StorageManager_2 {
|
|
1630
2016
|
/**
|
1631
2017
|
* @public
|
1632
2018
|
*/
|
1633
|
-
declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
|
2019
|
+
declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions, organizationId?: string) => Disposer_2;
|
1634
2020
|
|
1635
2021
|
/**
|
1636
2022
|
* @public
|
@@ -1649,7 +2035,7 @@ declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | nu
|
|
1649
2035
|
/**
|
1650
2036
|
* @public
|
1651
2037
|
*/
|
1652
|
-
declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
|
2038
|
+
declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions, organizationPath?: string) => Disposer_2;
|
1653
2039
|
|
1654
2040
|
/**
|
1655
2041
|
* @public
|
@@ -1680,6 +2066,10 @@ declare interface Tag extends RowItem {
|
|
1680
2066
|
getSeriesEntity: (path: string) => Promise<Series>;
|
1681
2067
|
ref: DocumentReference<any>;
|
1682
2068
|
seriesEntity: Series | null;
|
2069
|
+
tagType: {
|
2070
|
+
tagTypeId: string | null;
|
2071
|
+
} | null;
|
2072
|
+
initSeries: () => Promise<void>;
|
1683
2073
|
}
|
1684
2074
|
|
1685
2075
|
declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
|
@@ -1825,13 +2215,25 @@ declare type TivioGetters = {
|
|
1825
2215
|
getPlayerWrapper: (opt: {
|
1826
2216
|
playerWrapperId?: string;
|
1827
2217
|
}) => PlayerWrapper_2;
|
1828
|
-
|
2218
|
+
organization: {
|
2219
|
+
/**
|
2220
|
+
* Get organization subscriptions
|
2221
|
+
* @returns {Promise<Monetization[] | undefined>} organization subscriptions or undefined if organization does not exists
|
2222
|
+
*/
|
2223
|
+
getSubscriptions: () => Promise<Monetization[] | undefined>;
|
2224
|
+
};
|
1829
2225
|
/**
|
1830
2226
|
* Get video by its id.
|
1831
2227
|
* @param videoId - video id
|
1832
2228
|
* @returns {Promise<Video | null>} video or null if video does not exists
|
1833
2229
|
*/
|
1834
2230
|
getVideoById: (videoId: string) => Promise<Video | null>;
|
2231
|
+
/**
|
2232
|
+
* Get screen by its id.
|
2233
|
+
* @param screenId - screen id
|
2234
|
+
* @returns {Promise<Screen | null>} screen or null if screen does not exists
|
2235
|
+
*/
|
2236
|
+
getScreenById: (screenId: string, cb?: (error: Error | null, data: Screen_2 | null, disposer?: Disposer_2) => void) => Promise<Screen_2 | null>;
|
1835
2237
|
/**
|
1836
2238
|
* Get player capabilities based on user's browser and OS as resolved by Tivio.
|
1837
2239
|
* @returns PlayerCapability[]
|
@@ -1874,7 +2276,7 @@ declare type TivioJsBundleExposedApi = {
|
|
1874
2276
|
getTagById: (tagId: string) => Promise<Tag | null>;
|
1875
2277
|
createPlayerWrapper: (playerImplementation: PlayerInterfaceForPlayerWrapper) => TivioPlayerWrapper;
|
1876
2278
|
destroy: () => Promise<void>;
|
1877
|
-
} & Pick<TivioGetters, 'getVideoById'> & Pick<TivioSubscriptions, 'subscribeToVideo' | 'subscribeToItemsInRow'> & Pick<TivioAuth, 'createUserWithEmailAndPassword' | 'signInWithEmailAndPassword'> & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
2279
|
+
} & Pick<TivioGetters, 'getVideoById' | 'getScreenById' | 'organization'> & Pick<TivioSubscriptions, 'subscribeToVideo' | 'subscribeToItemsInRow' | 'subscribeToRowsInScreen'> & Pick<TivioAuth, 'createUserWithEmailAndPassword' | 'signInWithEmailAndPassword'> & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
1878
2280
|
|
1879
2281
|
/**
|
1880
2282
|
* @public
|
@@ -1937,6 +2339,15 @@ declare type TivioVodSource = SourceBase & StartAndContinuePosition & {
|
|
1937
2339
|
videoPath: string;
|
1938
2340
|
};
|
1939
2341
|
|
2342
|
+
declare interface TokenInterface {
|
2343
|
+
token: string;
|
2344
|
+
expirationDate: Date;
|
2345
|
+
type: TokenType;
|
2346
|
+
active: boolean;
|
2347
|
+
}
|
2348
|
+
|
2349
|
+
declare type TokenType = 'rss';
|
2350
|
+
|
1940
2351
|
/**
|
1941
2352
|
* @public
|
1942
2353
|
* Video track
|
@@ -2018,6 +2429,8 @@ declare interface TvProgram {
|
|
2018
2429
|
image: string;
|
2019
2430
|
landscape?: string | null;
|
2020
2431
|
video: Video | null;
|
2432
|
+
tvChannelRef?: any;
|
2433
|
+
loadVideo?: () => Promise<void>;
|
2021
2434
|
}
|
2022
2435
|
|
2023
2436
|
/**
|
@@ -2103,13 +2516,19 @@ declare type User = {
|
|
2103
2516
|
followedOrganizationIds: string[];
|
2104
2517
|
isAnonymous: boolean;
|
2105
2518
|
isDiscordConnected: boolean;
|
2519
|
+
disconnectDiscord: () => Promise<void>;
|
2106
2520
|
createUserProfile: (request: any) => Promise<void>;
|
2107
2521
|
deleteUserProfile: (profileId: string) => Promise<void>;
|
2108
2522
|
setActiveUserProfileId: (id: string) => void;
|
2109
2523
|
getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
|
2110
2524
|
sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
|
2111
|
-
isUserAlreadyRegisteredByTenant: (email: string
|
2525
|
+
isUserAlreadyRegisteredByTenant: (email: string) => Promise<boolean>;
|
2112
2526
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
2527
|
+
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
2528
|
+
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
2529
|
+
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
2530
|
+
isPartiallyRegistered: boolean;
|
2531
|
+
conversationStore: ConversationStore;
|
2113
2532
|
};
|
2114
2533
|
|
2115
2534
|
/**
|
@@ -2186,15 +2605,7 @@ declare interface Video extends RowItem, MonetizableItem, ReactableContent {
|
|
2186
2605
|
}): Promise<GetSourceUrlResponse & {
|
2187
2606
|
language?: LangCode;
|
2188
2607
|
}>;
|
2189
|
-
getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number):
|
2190
|
-
url: string;
|
2191
|
-
x: number;
|
2192
|
-
y: number;
|
2193
|
-
width: number;
|
2194
|
-
height: number;
|
2195
|
-
interval: number;
|
2196
|
-
timeMs: number;
|
2197
|
-
} | null;
|
2608
|
+
getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
|
2198
2609
|
purchasableMonetization: any | null;
|
2199
2610
|
transaction: PurchasableMonetization | undefined;
|
2200
2611
|
subscriptions: PurchasableMonetization[];
|
@@ -2243,6 +2654,11 @@ declare interface Video extends RowItem, MonetizableItem, ReactableContent {
|
|
2243
2654
|
initApplication: () => Promise<void>;
|
2244
2655
|
init: () => Promise<void>;
|
2245
2656
|
progress?: number;
|
2657
|
+
backgroundBlurBannerMobile?: string | null;
|
2658
|
+
isWatched?: boolean;
|
2659
|
+
pgRating?: string;
|
2660
|
+
contentDescriptors?: string[];
|
2661
|
+
publishedStatus?: PublishedStatus;
|
2246
2662
|
}
|
2247
2663
|
|
2248
2664
|
/**
|
@@ -2259,7 +2675,8 @@ declare enum VideoContentType {
|
|
2259
2675
|
|
2260
2676
|
declare enum VideoSourceCodec {
|
2261
2677
|
H264 = "h264",
|
2262
|
-
H265 = "h265"
|
2678
|
+
H265 = "h265",
|
2679
|
+
MPEG_2 = "MPEG-2"
|
2263
2680
|
}
|
2264
2681
|
|
2265
2682
|
declare enum VideoSourceEncryption {
|
@@ -2272,7 +2689,8 @@ declare enum VideoSourceEncryption {
|
|
2272
2689
|
declare enum VideoSourceProtocol {
|
2273
2690
|
HLS = "hls",
|
2274
2691
|
DASH = "dash",
|
2275
|
-
MP4 = "mp4"
|
2692
|
+
MP4 = "mp4",
|
2693
|
+
MP3 = "mp3"
|
2276
2694
|
}
|
2277
2695
|
|
2278
2696
|
/**
|
@@ -2284,7 +2702,6 @@ declare interface VirtualChannelSourceInterface extends ChannelSourceInterface {
|
|
2284
2702
|
video?: Video | null;
|
2285
2703
|
clone(params?: Partial<VirtualChannelSourceParams>): VirtualChannelSourceInterface;
|
2286
2704
|
initializeNext(): Promise<void>;
|
2287
|
-
deltaMsFromStart: number;
|
2288
2705
|
}
|
2289
2706
|
|
2290
2707
|
/**
|