@vkontakte/calls-sdk 2.6.2-dev.d52f142.0 → 2.6.2-dev.e28df14.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/CallsSDK.d.ts CHANGED
@@ -9,6 +9,7 @@ import { ConversationData } from './classes/Conversation';
9
9
  import HangupReason, { HangupReasonData } from './classes/HangupReason';
10
10
  import { MediaTrackKind } from './classes/MediaSource';
11
11
  import { StatResult } from './classes/transport/Statistics';
12
+ import { TransportTopology } from './classes/transport/Transport';
12
13
  import Api from './default/Api';
13
14
  import Signaling from './default/Signaling';
14
15
  import CallDirection from './enums/CallDirection';
@@ -39,13 +40,17 @@ import IceServer from './types/IceServer';
39
40
  import MediaModifiers from './types/MediaModifiers';
40
41
  import { IVideoDimentions, MediaSettings } from './types/MediaSettings';
41
42
  import MuteStates from './types/MuteStates';
42
- import { IGetParticipantsParameters, OkUserId, ParticipantStateMapped } from './types/Participant';
43
+ import { IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantStateMapped } from './types/Participant';
43
44
  import ParticipantLayout, { Layout, StopStream } from './types/ParticipantLayout';
44
45
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
45
46
  import ParticipantPriority from './types/ParticipantPriority';
46
47
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
48
+ import { Room, RoomsUpdate, RoomParticipantUpdate } from './types/Room';
49
+ import RoomsEventType from './enums/RoomsEventType';
47
50
  import SignalingMessage from './types/SignalingMessage';
48
51
  import { WaitingHallResponse } from './types/WaitingHall';
52
+ import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview } from './types/MovieShare';
53
+ import ConversationFeature from './enums/ConversationFeature';
49
54
  /**
50
55
  * Информация о текущем браузере
51
56
  */
@@ -184,9 +189,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
184
189
  * @param payload Дополнительные данные для передачи на сервер
185
190
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
186
191
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
192
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
187
193
  */
188
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
189
- export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
194
+ export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
195
+ export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
190
196
  /**
191
197
  * Обработать пуш о входящем звонке
192
198
  *
@@ -393,9 +399,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
393
399
  *
394
400
  * @param payload Дополнительные данные для передачи на сервер
395
401
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
402
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
396
403
  * @returns Токен комнаты
397
404
  */
398
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
405
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
406
+ onlyAdminCanShareMovie?: boolean;
407
+ }): Promise<string>;
399
408
  /**
400
409
  * Создать токен комнаты для подключения по ссылке к существующему звонку
401
410
  *
@@ -447,7 +456,7 @@ export declare function getStreamInfo(): Promise<{
447
456
  *
448
457
  * @param movieId
449
458
  */
450
- export declare function addMovie(movieId: string): Promise<{
459
+ export declare function addMovie(params: IAddMovieParams): Promise<{
451
460
  movieId: string;
452
461
  streamType: string;
453
462
  }>;
@@ -456,14 +465,44 @@ export declare function addMovie(movieId: string): Promise<{
456
465
  *
457
466
  * @param movieId
458
467
  * @param gain
468
+ * @param offset
469
+ * @param pause
459
470
  */
460
- export declare function updateMovie(movieId: string, gain?: number, offset?: string, pause?: boolean): Promise<void>;
471
+ export declare function updateMovie(movieId: string, gain?: number, offset?: number, pause?: boolean): Promise<void>;
461
472
  /**
462
473
  * Удалить видео/лайв из звонка
463
474
  *
464
475
  * @param movieId
465
476
  */
466
477
  export declare function removeMovie(movieId: string): Promise<void>;
478
+ /**
479
+ * Обновить комнаты
480
+ * @param rooms id в случае обновления комнаты
481
+ * @param assignRandomly рандомно назначить участников комнаты из свободных в соответствии с participantCount
482
+ */
483
+ export declare function updateRooms(rooms: {
484
+ id?: number;
485
+ name?: string;
486
+ participantCount?: number;
487
+ active?: boolean;
488
+ }[], assignRandomly: boolean): Promise<void>;
489
+ /**
490
+ * Активировать комнаты
491
+ * @param roomIds
492
+ * @param deactivate
493
+ */
494
+ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
495
+ /**
496
+ * Cменить комнату
497
+ * @param toRoomId
498
+ * @param participantId
499
+ */
500
+ export declare function switchRoom(toRoomId?: number, participantId?: ParticipantId): Promise<void>;
501
+ /**
502
+ * Удалить комнаты
503
+ * @param roomIds
504
+ */
505
+ export declare function removeRooms(roomIds: number[]): Promise<void>;
467
506
  /**
468
507
  * Устанавливает интервал обновления статистики и вызова `onStatistics`
469
508
  *
@@ -513,6 +552,7 @@ export declare function getWaitingHall(pageMarker?: string | null, count?: numbe
513
552
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
514
553
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
515
554
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
555
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
516
556
  /**
517
557
  * Удаляет записи истории звонков
518
558
  *
@@ -523,5 +563,5 @@ export declare function removeHistoryRecords(recordIds: number[]): Promise<void>
523
563
  * Версия SDK
524
564
  */
525
565
  export declare function version(): string;
526
- export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, };
527
- export { Api, BaseApi, BaseLogger, BaseSignaling, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, Utils, };
566
+ export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, Room, RoomsUpdate, RoomParticipantUpdate, };
567
+ export { Api, BaseApi, BaseLogger, BaseSignaling, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, Utils, TransportTopology, RoomsEventType, };
@@ -19,8 +19,12 @@ export default abstract class BaseApi {
19
19
  abstract init(): void;
20
20
  abstract authorize(): Promise<void>;
21
21
  abstract userId(participantId: CompositeUserId): Promise<ExternalId>;
22
- abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
23
- abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
22
+ abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
23
+ onlyAdminCanShareMovie?: boolean;
24
+ }): Promise<ConversationResponse>;
25
+ abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
26
+ onlyAdminCanShareMovie?: boolean;
27
+ }): Promise<ConversationResponse>;
24
28
  abstract joinConversation(conversationId: string, isVideo?: boolean, chatId?: string): Promise<ConversationResponse>;
25
29
  createJoinLink(conversationId: string): Promise<{
26
30
  join_link: string;
@@ -2,6 +2,7 @@ import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { PerfStatReport } from '../classes/transport/PerfStatReporter';
4
4
  import { TransportTopology } from '../classes/transport/Transport';
5
+ import ConversationFeature from '../enums/ConversationFeature';
5
6
  import ConversationOption from '../enums/ConversationOption';
6
7
  import MediaOption from '../enums/MediaOption';
7
8
  import RecordRole from '../enums/RecordRole';
@@ -11,6 +12,7 @@ import { JSONObject } from '../static/Json';
11
12
  import ConversationResponse from '../types/ConversationResponse';
12
13
  import MediaModifiers from '../types/MediaModifiers';
13
14
  import MediaSettings from '../types/MediaSettings';
15
+ import { IAddMovieParams, ISharedMovieState } from '../types/MovieShare';
14
16
  import MuteStates from '../types/MuteStates';
15
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
16
18
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
@@ -56,9 +58,13 @@ export default abstract class BaseSignaling extends EventEmitter {
56
58
  abstract updateDisplayLayout(layouts: {
57
59
  [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
58
60
  }): Promise<SignalingMessage | void>;
59
- abstract addMovie(data: any): Promise<SignalingMessage>;
60
- abstract updateMovie(data: any): Promise<SignalingMessage>;
61
+ abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
62
+ abstract updateMovie(data: ISharedMovieState): Promise<SignalingMessage>;
61
63
  abstract removeMovie(data: any): Promise<SignalingMessage>;
64
+ abstract updateRooms(rooms: Record<any, any>[], assignRandomly: boolean): Promise<SignalingMessage>;
65
+ abstract activateRooms(roomIds: number[], deactivate: boolean): Promise<SignalingMessage>;
66
+ abstract switchRoom(toRoomId?: number, participantId?: ParticipantId): Promise<SignalingMessage>;
67
+ abstract removeRooms(roomIds: number[]): Promise<SignalingMessage>;
62
68
  abstract startStream(data: any): Promise<SignalingMessage>;
63
69
  abstract stopStream(): Promise<SignalingMessage>;
64
70
  abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null): Promise<SignalingMessage>;
@@ -70,6 +76,7 @@ export default abstract class BaseSignaling extends EventEmitter {
70
76
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
71
77
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
72
78
  abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[]): Promise<SignalingMessage>;
79
+ abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
73
80
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
74
81
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
75
82
  abstract changeOptions(changes: {