@stream-io/node-sdk 0.4.26 → 0.5.1

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 (42) hide show
  1. package/dist/index.cjs.js +6292 -3831
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/index.es.mjs +6290 -3832
  5. package/dist/index.es.mjs.map +1 -1
  6. package/dist/src/ApiClient.d.ts +15 -0
  7. package/dist/src/StreamCall.d.ts +2 -2
  8. package/dist/src/StreamClient.d.ts +10 -1
  9. package/dist/src/StreamFeed.d.ts +4 -0
  10. package/dist/src/StreamFeedsClient.d.ts +5 -0
  11. package/dist/src/StreamVideoClient.d.ts +3 -2
  12. package/dist/src/gen/chat/ChannelApi.d.ts +29 -30
  13. package/dist/src/gen/chat/ChatApi.d.ts +145 -180
  14. package/dist/src/gen/common/CommonApi.d.ts +120 -83
  15. package/dist/src/gen/feeds/FeedApi.d.ts +25 -0
  16. package/dist/src/gen/feeds/FeedsApi.d.ts +195 -0
  17. package/dist/src/gen/models/index.d.ts +1498 -17
  18. package/dist/src/gen/moderation/ModerationApi.d.ts +28 -27
  19. package/dist/src/gen/video/CallApi.d.ts +42 -43
  20. package/dist/src/gen/video/VideoApi.d.ts +90 -89
  21. package/dist/src/gen-imports.d.ts +5 -0
  22. package/index.ts +3 -1
  23. package/package.json +1 -1
  24. package/src/{BaseApi.ts → ApiClient.ts} +27 -7
  25. package/src/StreamCall.ts +2 -2
  26. package/src/StreamClient.ts +51 -14
  27. package/src/StreamFeed.ts +7 -0
  28. package/src/StreamFeedsClient.ts +8 -0
  29. package/src/StreamVideoClient.ts +9 -6
  30. package/src/gen/chat/ChannelApi.ts +74 -64
  31. package/src/gen/chat/ChatApi.ts +548 -681
  32. package/src/gen/common/CommonApi.ts +679 -271
  33. package/src/gen/feeds/FeedApi.ts +130 -0
  34. package/src/gen/feeds/FeedsApi.ts +1801 -0
  35. package/src/gen/model-decoders/{index.ts → decoders.ts} +2294 -276
  36. package/src/gen/models/index.ts +4233 -2028
  37. package/src/gen/moderation/ModerationApi.ts +159 -98
  38. package/src/gen/video/CallApi.ts +97 -108
  39. package/src/gen/video/VideoApi.ts +294 -207
  40. package/src/gen-imports.ts +5 -0
  41. package/dist/src/BaseApi.d.ts +0 -11
  42. /package/dist/src/gen/model-decoders/{index.d.ts → decoders.d.ts} +0 -0
@@ -1,37 +1,38 @@
1
- import { BaseApi } from '../../BaseApi';
2
- import { StreamResponse } from '../../types';
1
+ import { ApiClient, StreamResponse } from '../../gen-imports';
3
2
  import { BanRequest, BanResponse, BulkImageModerationRequest, BulkImageModerationResponse, CheckRequest, CheckResponse, CustomCheckRequest, CustomCheckResponse, DeleteModerationConfigResponse, DeleteModerationTemplateResponse, FlagRequest, FlagResponse, GetConfigResponse, GetReviewQueueItemResponse, MuteRequest, MuteResponse, QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryModerationFlagsRequest, QueryModerationFlagsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, SubmitActionRequest, SubmitActionResponse, UnbanRequest, UnbanResponse, UnmuteRequest, UnmuteResponse, UpsertConfigRequest, UpsertConfigResponse, UpsertModerationTemplateRequest, UpsertModerationTemplateResponse } from '../models';
4
- export declare class ModerationApi extends BaseApi {
5
- ban: (request: BanRequest) => Promise<StreamResponse<BanResponse>>;
6
- bulkImageModeration: (request: BulkImageModerationRequest) => Promise<StreamResponse<BulkImageModerationResponse>>;
7
- check: (request: CheckRequest) => Promise<StreamResponse<CheckResponse>>;
8
- upsertConfig: (request: UpsertConfigRequest) => Promise<StreamResponse<UpsertConfigResponse>>;
9
- deleteConfig: (request: {
3
+ export declare class ModerationApi {
4
+ readonly apiClient: ApiClient;
5
+ constructor(apiClient: ApiClient);
6
+ ban(request: BanRequest): Promise<StreamResponse<BanResponse>>;
7
+ bulkImageModeration(request: BulkImageModerationRequest): Promise<StreamResponse<BulkImageModerationResponse>>;
8
+ check(request: CheckRequest): Promise<StreamResponse<CheckResponse>>;
9
+ upsertConfig(request: UpsertConfigRequest): Promise<StreamResponse<UpsertConfigResponse>>;
10
+ deleteConfig(request: {
10
11
  key: string;
11
12
  team?: string;
12
- }) => Promise<StreamResponse<DeleteModerationConfigResponse>>;
13
- getConfig: (request: {
13
+ }): Promise<StreamResponse<DeleteModerationConfigResponse>>;
14
+ getConfig(request: {
14
15
  key: string;
15
16
  team?: string;
16
- }) => Promise<StreamResponse<GetConfigResponse>>;
17
- queryModerationConfigs: (request?: QueryModerationConfigsRequest) => Promise<StreamResponse<QueryModerationConfigsResponse>>;
18
- customCheck: (request: CustomCheckRequest) => Promise<StreamResponse<CustomCheckResponse>>;
19
- v2DeleteTemplate: () => Promise<StreamResponse<DeleteModerationTemplateResponse>>;
20
- v2QueryTemplates: () => Promise<StreamResponse<QueryFeedModerationTemplatesResponse>>;
21
- v2UpsertTemplate: (request: UpsertModerationTemplateRequest) => Promise<StreamResponse<UpsertModerationTemplateResponse>>;
22
- flag: (request: FlagRequest) => Promise<StreamResponse<FlagResponse>>;
23
- queryModerationFlags: (request?: QueryModerationFlagsRequest) => Promise<StreamResponse<QueryModerationFlagsResponse>>;
24
- queryModerationLogs: (request?: QueryModerationLogsRequest) => Promise<StreamResponse<QueryModerationLogsResponse>>;
25
- mute: (request: MuteRequest) => Promise<StreamResponse<MuteResponse>>;
26
- queryReviewQueue: (request?: QueryReviewQueueRequest) => Promise<StreamResponse<QueryReviewQueueResponse>>;
27
- getReviewQueueItem: (request: {
17
+ }): Promise<StreamResponse<GetConfigResponse>>;
18
+ queryModerationConfigs(request?: QueryModerationConfigsRequest): Promise<StreamResponse<QueryModerationConfigsResponse>>;
19
+ customCheck(request: CustomCheckRequest): Promise<StreamResponse<CustomCheckResponse>>;
20
+ v2DeleteTemplate(): Promise<StreamResponse<DeleteModerationTemplateResponse>>;
21
+ v2QueryTemplates(): Promise<StreamResponse<QueryFeedModerationTemplatesResponse>>;
22
+ v2UpsertTemplate(request: UpsertModerationTemplateRequest): Promise<StreamResponse<UpsertModerationTemplateResponse>>;
23
+ flag(request: FlagRequest): Promise<StreamResponse<FlagResponse>>;
24
+ queryModerationFlags(request?: QueryModerationFlagsRequest): Promise<StreamResponse<QueryModerationFlagsResponse>>;
25
+ queryModerationLogs(request?: QueryModerationLogsRequest): Promise<StreamResponse<QueryModerationLogsResponse>>;
26
+ mute(request: MuteRequest): Promise<StreamResponse<MuteResponse>>;
27
+ queryReviewQueue(request?: QueryReviewQueueRequest): Promise<StreamResponse<QueryReviewQueueResponse>>;
28
+ getReviewQueueItem(request: {
28
29
  id: string;
29
- }) => Promise<StreamResponse<GetReviewQueueItemResponse>>;
30
- submitAction: (request: SubmitActionRequest) => Promise<StreamResponse<SubmitActionResponse>>;
31
- unban: (request: UnbanRequest & {
30
+ }): Promise<StreamResponse<GetReviewQueueItemResponse>>;
31
+ submitAction(request: SubmitActionRequest): Promise<StreamResponse<SubmitActionResponse>>;
32
+ unban(request: UnbanRequest & {
32
33
  target_user_id: string;
33
34
  channel_cid?: string;
34
35
  created_by?: string;
35
- }) => Promise<StreamResponse<UnbanResponse>>;
36
- unmute: (request: UnmuteRequest) => Promise<StreamResponse<UnmuteResponse>>;
36
+ }): Promise<StreamResponse<UnbanResponse>>;
37
+ unmute(request: UnmuteRequest): Promise<StreamResponse<UnmuteResponse>>;
37
38
  }
@@ -1,61 +1,60 @@
1
- import { VideoApi } from './VideoApi';
2
- import { StreamResponse } from '../../types';
1
+ import { StreamResponse, VideoApi } from '../../gen-imports';
3
2
  import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryCallParticipantsRequest, QueryCallParticipantsResponse, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
4
3
  export declare class CallApi {
5
4
  protected videoApi: VideoApi;
6
5
  readonly type: string;
7
6
  readonly id: string;
8
7
  constructor(videoApi: VideoApi, type: string, id: string);
9
- get: (request?: {
8
+ get(request?: {
10
9
  members_limit?: number;
11
10
  ring?: boolean;
12
11
  notify?: boolean;
13
12
  video?: boolean;
14
- }) => Promise<StreamResponse<GetCallResponse>>;
15
- update: (request?: UpdateCallRequest) => Promise<StreamResponse<UpdateCallResponse>>;
16
- getOrCreate: (request?: GetOrCreateCallRequest) => Promise<StreamResponse<GetOrCreateCallResponse>>;
17
- blockUser: (request: BlockUserRequest) => Promise<StreamResponse<BlockUserResponse>>;
18
- delete: (request?: DeleteCallRequest) => Promise<StreamResponse<DeleteCallResponse>>;
19
- sendCallEvent: (request?: SendCallEventRequest) => Promise<StreamResponse<SendCallEventResponse>>;
20
- collectUserFeedback: (request: CollectUserFeedbackRequest) => Promise<StreamResponse<CollectUserFeedbackResponse>>;
21
- goLive: (request?: GoLiveRequest) => Promise<StreamResponse<GoLiveResponse>>;
22
- end: () => Promise<StreamResponse<EndCallResponse>>;
23
- updateCallMembers: (request?: UpdateCallMembersRequest) => Promise<StreamResponse<UpdateCallMembersResponse>>;
24
- muteUsers: (request?: MuteUsersRequest) => Promise<StreamResponse<MuteUsersResponse>>;
25
- queryCallParticipants: (request?: QueryCallParticipantsRequest & {
13
+ }): Promise<StreamResponse<GetCallResponse>>;
14
+ update(request?: UpdateCallRequest): Promise<StreamResponse<UpdateCallResponse>>;
15
+ getOrCreate(request?: GetOrCreateCallRequest): Promise<StreamResponse<GetOrCreateCallResponse>>;
16
+ blockUser(request: BlockUserRequest): Promise<StreamResponse<BlockUserResponse>>;
17
+ delete(request?: DeleteCallRequest): Promise<StreamResponse<DeleteCallResponse>>;
18
+ sendCallEvent(request?: SendCallEventRequest): Promise<StreamResponse<SendCallEventResponse>>;
19
+ collectUserFeedback(request: CollectUserFeedbackRequest): Promise<StreamResponse<CollectUserFeedbackResponse>>;
20
+ goLive(request?: GoLiveRequest): Promise<StreamResponse<GoLiveResponse>>;
21
+ end(): Promise<StreamResponse<EndCallResponse>>;
22
+ updateCallMembers(request?: UpdateCallMembersRequest): Promise<StreamResponse<UpdateCallMembersResponse>>;
23
+ muteUsers(request?: MuteUsersRequest): Promise<StreamResponse<MuteUsersResponse>>;
24
+ queryCallParticipants(request?: QueryCallParticipantsRequest & {
26
25
  limit?: number;
27
- }) => Promise<StreamResponse<QueryCallParticipantsResponse>>;
28
- videoPin: (request: PinRequest) => Promise<StreamResponse<PinResponse>>;
29
- listRecordings: () => Promise<StreamResponse<ListRecordingsResponse>>;
30
- getCallReport: (request?: {
26
+ }): Promise<StreamResponse<QueryCallParticipantsResponse>>;
27
+ videoPin(request: PinRequest): Promise<StreamResponse<PinResponse>>;
28
+ listRecordings(): Promise<StreamResponse<ListRecordingsResponse>>;
29
+ getCallReport(request?: {
31
30
  session_id?: string;
32
- }) => Promise<StreamResponse<GetCallReportResponse>>;
33
- startRTMPBroadcasts: (request: StartRTMPBroadcastsRequest) => Promise<StreamResponse<StartRTMPBroadcastsResponse>>;
34
- stopAllRTMPBroadcasts: () => Promise<StreamResponse<StopAllRTMPBroadcastsResponse>>;
35
- stopRTMPBroadcast: (request: StopRTMPBroadcastsRequest & {
31
+ }): Promise<StreamResponse<GetCallReportResponse>>;
32
+ startRTMPBroadcasts(request: StartRTMPBroadcastsRequest): Promise<StreamResponse<StartRTMPBroadcastsResponse>>;
33
+ stopAllRTMPBroadcasts(): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>>;
34
+ stopRTMPBroadcast(request: StopRTMPBroadcastsRequest & {
36
35
  name: string;
37
- }) => Promise<StreamResponse<StopRTMPBroadcastsResponse>>;
38
- startHLSBroadcasting: () => Promise<StreamResponse<StartHLSBroadcastingResponse>>;
39
- startClosedCaptions: (request?: StartClosedCaptionsRequest) => Promise<StreamResponse<StartClosedCaptionsResponse>>;
40
- startFrameRecording: (request?: StartFrameRecordingRequest) => Promise<StreamResponse<StartFrameRecordingResponse>>;
41
- startRecording: (request?: StartRecordingRequest) => Promise<StreamResponse<StartRecordingResponse>>;
42
- startTranscription: (request?: StartTranscriptionRequest) => Promise<StreamResponse<StartTranscriptionResponse>>;
43
- stopHLSBroadcasting: () => Promise<StreamResponse<StopHLSBroadcastingResponse>>;
44
- stopClosedCaptions: (request?: StopClosedCaptionsRequest) => Promise<StreamResponse<StopClosedCaptionsResponse>>;
45
- stopFrameRecording: () => Promise<StreamResponse<StopFrameRecordingResponse>>;
46
- stopLive: (request?: StopLiveRequest) => Promise<StreamResponse<StopLiveResponse>>;
47
- stopRecording: () => Promise<StreamResponse<StopRecordingResponse>>;
48
- stopTranscription: (request?: StopTranscriptionRequest) => Promise<StreamResponse<StopTranscriptionResponse>>;
49
- listTranscriptions: () => Promise<StreamResponse<ListTranscriptionsResponse>>;
50
- unblockUser: (request: UnblockUserRequest) => Promise<StreamResponse<UnblockUserResponse>>;
51
- videoUnpin: (request: UnpinRequest) => Promise<StreamResponse<UnpinResponse>>;
52
- updateUserPermissions: (request: UpdateUserPermissionsRequest) => Promise<StreamResponse<UpdateUserPermissionsResponse>>;
53
- deleteRecording: (request: {
36
+ }): Promise<StreamResponse<StopRTMPBroadcastsResponse>>;
37
+ startHLSBroadcasting(): Promise<StreamResponse<StartHLSBroadcastingResponse>>;
38
+ startClosedCaptions(request?: StartClosedCaptionsRequest): Promise<StreamResponse<StartClosedCaptionsResponse>>;
39
+ startFrameRecording(request?: StartFrameRecordingRequest): Promise<StreamResponse<StartFrameRecordingResponse>>;
40
+ startRecording(request?: StartRecordingRequest): Promise<StreamResponse<StartRecordingResponse>>;
41
+ startTranscription(request?: StartTranscriptionRequest): Promise<StreamResponse<StartTranscriptionResponse>>;
42
+ stopHLSBroadcasting(): Promise<StreamResponse<StopHLSBroadcastingResponse>>;
43
+ stopClosedCaptions(request?: StopClosedCaptionsRequest): Promise<StreamResponse<StopClosedCaptionsResponse>>;
44
+ stopFrameRecording(): Promise<StreamResponse<StopFrameRecordingResponse>>;
45
+ stopLive(request?: StopLiveRequest): Promise<StreamResponse<StopLiveResponse>>;
46
+ stopRecording(): Promise<StreamResponse<StopRecordingResponse>>;
47
+ stopTranscription(request?: StopTranscriptionRequest): Promise<StreamResponse<StopTranscriptionResponse>>;
48
+ listTranscriptions(): Promise<StreamResponse<ListTranscriptionsResponse>>;
49
+ unblockUser(request: UnblockUserRequest): Promise<StreamResponse<UnblockUserResponse>>;
50
+ videoUnpin(request: UnpinRequest): Promise<StreamResponse<UnpinResponse>>;
51
+ updateUserPermissions(request: UpdateUserPermissionsRequest): Promise<StreamResponse<UpdateUserPermissionsResponse>>;
52
+ deleteRecording(request: {
54
53
  session: string;
55
54
  filename: string;
56
- }) => Promise<StreamResponse<DeleteRecordingResponse>>;
57
- deleteTranscription: (request: {
55
+ }): Promise<StreamResponse<DeleteRecordingResponse>>;
56
+ deleteTranscription(request: {
58
57
  session: string;
59
58
  filename: string;
60
- }) => Promise<StreamResponse<DeleteTranscriptionResponse>>;
59
+ }): Promise<StreamResponse<DeleteTranscriptionResponse>>;
61
60
  }
@@ -1,176 +1,177 @@
1
- import { BaseApi } from '../../BaseApi';
2
- import { StreamResponse } from '../../types';
1
+ import { ApiClient, StreamResponse } from '../../gen-imports';
3
2
  import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, CreateCallTypeRequest, CreateCallTypeResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetActiveCallsStatusResponse, GetCallReportResponse, GetCallResponse, GetCallTypeResponse, GetEdgesResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryAggregateCallStatsRequest, QueryAggregateCallStatsResponse, QueryCallMembersRequest, QueryCallMembersResponse, QueryCallParticipantsRequest, QueryCallParticipantsResponse, QueryCallStatsRequest, QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, QueryUserFeedbackRequest, QueryUserFeedbackResponse, Response, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateCallTypeRequest, UpdateCallTypeResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
4
- export declare class VideoApi extends BaseApi {
5
- getActiveCallsStatus: () => Promise<StreamResponse<GetActiveCallsStatusResponse>>;
6
- queryUserFeedback: (request?: QueryUserFeedbackRequest & {
3
+ export declare class VideoApi {
4
+ readonly apiClient: ApiClient;
5
+ constructor(apiClient: ApiClient);
6
+ getActiveCallsStatus(): Promise<StreamResponse<GetActiveCallsStatusResponse>>;
7
+ queryUserFeedback(request?: QueryUserFeedbackRequest & {
7
8
  full?: boolean;
8
- }) => Promise<StreamResponse<QueryUserFeedbackResponse>>;
9
- queryCallMembers: (request: QueryCallMembersRequest) => Promise<StreamResponse<QueryCallMembersResponse>>;
10
- queryCallStats: (request?: QueryCallStatsRequest) => Promise<StreamResponse<QueryCallStatsResponse>>;
11
- getCall: (request: {
9
+ }): Promise<StreamResponse<QueryUserFeedbackResponse>>;
10
+ queryCallMembers(request: QueryCallMembersRequest): Promise<StreamResponse<QueryCallMembersResponse>>;
11
+ queryCallStats(request?: QueryCallStatsRequest): Promise<StreamResponse<QueryCallStatsResponse>>;
12
+ getCall(request: {
12
13
  type: string;
13
14
  id: string;
14
15
  members_limit?: number;
15
16
  ring?: boolean;
16
17
  notify?: boolean;
17
18
  video?: boolean;
18
- }) => Promise<StreamResponse<GetCallResponse>>;
19
- updateCall: (request: UpdateCallRequest & {
19
+ }): Promise<StreamResponse<GetCallResponse>>;
20
+ updateCall(request: UpdateCallRequest & {
20
21
  type: string;
21
22
  id: string;
22
- }) => Promise<StreamResponse<UpdateCallResponse>>;
23
- getOrCreateCall: (request: GetOrCreateCallRequest & {
23
+ }): Promise<StreamResponse<UpdateCallResponse>>;
24
+ getOrCreateCall(request: GetOrCreateCallRequest & {
24
25
  type: string;
25
26
  id: string;
26
- }) => Promise<StreamResponse<GetOrCreateCallResponse>>;
27
- blockUser: (request: BlockUserRequest & {
27
+ }): Promise<StreamResponse<GetOrCreateCallResponse>>;
28
+ blockUser(request: BlockUserRequest & {
28
29
  type: string;
29
30
  id: string;
30
- }) => Promise<StreamResponse<BlockUserResponse>>;
31
- deleteCall: (request: DeleteCallRequest & {
31
+ }): Promise<StreamResponse<BlockUserResponse>>;
32
+ deleteCall(request: DeleteCallRequest & {
32
33
  type: string;
33
34
  id: string;
34
- }) => Promise<StreamResponse<DeleteCallResponse>>;
35
- sendCallEvent: (request: SendCallEventRequest & {
35
+ }): Promise<StreamResponse<DeleteCallResponse>>;
36
+ sendCallEvent(request: SendCallEventRequest & {
36
37
  type: string;
37
38
  id: string;
38
- }) => Promise<StreamResponse<SendCallEventResponse>>;
39
- collectUserFeedback: (request: CollectUserFeedbackRequest & {
39
+ }): Promise<StreamResponse<SendCallEventResponse>>;
40
+ collectUserFeedback(request: CollectUserFeedbackRequest & {
40
41
  type: string;
41
42
  id: string;
42
- }) => Promise<StreamResponse<CollectUserFeedbackResponse>>;
43
- goLive: (request: GoLiveRequest & {
43
+ }): Promise<StreamResponse<CollectUserFeedbackResponse>>;
44
+ goLive(request: GoLiveRequest & {
44
45
  type: string;
45
46
  id: string;
46
- }) => Promise<StreamResponse<GoLiveResponse>>;
47
- endCall: (request: {
47
+ }): Promise<StreamResponse<GoLiveResponse>>;
48
+ endCall(request: {
48
49
  type: string;
49
50
  id: string;
50
- }) => Promise<StreamResponse<EndCallResponse>>;
51
- updateCallMembers: (request: UpdateCallMembersRequest & {
51
+ }): Promise<StreamResponse<EndCallResponse>>;
52
+ updateCallMembers(request: UpdateCallMembersRequest & {
52
53
  type: string;
53
54
  id: string;
54
- }) => Promise<StreamResponse<UpdateCallMembersResponse>>;
55
- muteUsers: (request: MuteUsersRequest & {
55
+ }): Promise<StreamResponse<UpdateCallMembersResponse>>;
56
+ muteUsers(request: MuteUsersRequest & {
56
57
  type: string;
57
58
  id: string;
58
- }) => Promise<StreamResponse<MuteUsersResponse>>;
59
- queryCallParticipants: (request: QueryCallParticipantsRequest & {
59
+ }): Promise<StreamResponse<MuteUsersResponse>>;
60
+ queryCallParticipants(request: QueryCallParticipantsRequest & {
60
61
  id: string;
61
62
  type: string;
62
63
  limit?: number;
63
- }) => Promise<StreamResponse<QueryCallParticipantsResponse>>;
64
- videoPin: (request: PinRequest & {
64
+ }): Promise<StreamResponse<QueryCallParticipantsResponse>>;
65
+ videoPin(request: PinRequest & {
65
66
  type: string;
66
67
  id: string;
67
- }) => Promise<StreamResponse<PinResponse>>;
68
- listRecordings: (request: {
68
+ }): Promise<StreamResponse<PinResponse>>;
69
+ listRecordings(request: {
69
70
  type: string;
70
71
  id: string;
71
- }) => Promise<StreamResponse<ListRecordingsResponse>>;
72
- getCallReport: (request: {
72
+ }): Promise<StreamResponse<ListRecordingsResponse>>;
73
+ getCallReport(request: {
73
74
  type: string;
74
75
  id: string;
75
76
  session_id?: string;
76
- }) => Promise<StreamResponse<GetCallReportResponse>>;
77
- startRTMPBroadcasts: (request: StartRTMPBroadcastsRequest & {
77
+ }): Promise<StreamResponse<GetCallReportResponse>>;
78
+ startRTMPBroadcasts(request: StartRTMPBroadcastsRequest & {
78
79
  type: string;
79
80
  id: string;
80
- }) => Promise<StreamResponse<StartRTMPBroadcastsResponse>>;
81
- stopAllRTMPBroadcasts: (request: {
81
+ }): Promise<StreamResponse<StartRTMPBroadcastsResponse>>;
82
+ stopAllRTMPBroadcasts(request: {
82
83
  type: string;
83
84
  id: string;
84
- }) => Promise<StreamResponse<StopAllRTMPBroadcastsResponse>>;
85
- stopRTMPBroadcast: (request: StopRTMPBroadcastsRequest & {
85
+ }): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>>;
86
+ stopRTMPBroadcast(request: StopRTMPBroadcastsRequest & {
86
87
  type: string;
87
88
  id: string;
88
89
  name: string;
89
- }) => Promise<StreamResponse<StopRTMPBroadcastsResponse>>;
90
- startHLSBroadcasting: (request: {
90
+ }): Promise<StreamResponse<StopRTMPBroadcastsResponse>>;
91
+ startHLSBroadcasting(request: {
91
92
  type: string;
92
93
  id: string;
93
- }) => Promise<StreamResponse<StartHLSBroadcastingResponse>>;
94
- startClosedCaptions: (request: StartClosedCaptionsRequest & {
94
+ }): Promise<StreamResponse<StartHLSBroadcastingResponse>>;
95
+ startClosedCaptions(request: StartClosedCaptionsRequest & {
95
96
  type: string;
96
97
  id: string;
97
- }) => Promise<StreamResponse<StartClosedCaptionsResponse>>;
98
- startFrameRecording: (request: StartFrameRecordingRequest & {
98
+ }): Promise<StreamResponse<StartClosedCaptionsResponse>>;
99
+ startFrameRecording(request: StartFrameRecordingRequest & {
99
100
  type: string;
100
101
  id: string;
101
- }) => Promise<StreamResponse<StartFrameRecordingResponse>>;
102
- startRecording: (request: StartRecordingRequest & {
102
+ }): Promise<StreamResponse<StartFrameRecordingResponse>>;
103
+ startRecording(request: StartRecordingRequest & {
103
104
  type: string;
104
105
  id: string;
105
- }) => Promise<StreamResponse<StartRecordingResponse>>;
106
- startTranscription: (request: StartTranscriptionRequest & {
106
+ }): Promise<StreamResponse<StartRecordingResponse>>;
107
+ startTranscription(request: StartTranscriptionRequest & {
107
108
  type: string;
108
109
  id: string;
109
- }) => Promise<StreamResponse<StartTranscriptionResponse>>;
110
- stopHLSBroadcasting: (request: {
110
+ }): Promise<StreamResponse<StartTranscriptionResponse>>;
111
+ stopHLSBroadcasting(request: {
111
112
  type: string;
112
113
  id: string;
113
- }) => Promise<StreamResponse<StopHLSBroadcastingResponse>>;
114
- stopClosedCaptions: (request: StopClosedCaptionsRequest & {
114
+ }): Promise<StreamResponse<StopHLSBroadcastingResponse>>;
115
+ stopClosedCaptions(request: StopClosedCaptionsRequest & {
115
116
  type: string;
116
117
  id: string;
117
- }) => Promise<StreamResponse<StopClosedCaptionsResponse>>;
118
- stopFrameRecording: (request: {
118
+ }): Promise<StreamResponse<StopClosedCaptionsResponse>>;
119
+ stopFrameRecording(request: {
119
120
  type: string;
120
121
  id: string;
121
- }) => Promise<StreamResponse<StopFrameRecordingResponse>>;
122
- stopLive: (request: StopLiveRequest & {
122
+ }): Promise<StreamResponse<StopFrameRecordingResponse>>;
123
+ stopLive(request: StopLiveRequest & {
123
124
  type: string;
124
125
  id: string;
125
- }) => Promise<StreamResponse<StopLiveResponse>>;
126
- stopRecording: (request: {
126
+ }): Promise<StreamResponse<StopLiveResponse>>;
127
+ stopRecording(request: {
127
128
  type: string;
128
129
  id: string;
129
- }) => Promise<StreamResponse<StopRecordingResponse>>;
130
- stopTranscription: (request: StopTranscriptionRequest & {
130
+ }): Promise<StreamResponse<StopRecordingResponse>>;
131
+ stopTranscription(request: StopTranscriptionRequest & {
131
132
  type: string;
132
133
  id: string;
133
- }) => Promise<StreamResponse<StopTranscriptionResponse>>;
134
- listTranscriptions: (request: {
134
+ }): Promise<StreamResponse<StopTranscriptionResponse>>;
135
+ listTranscriptions(request: {
135
136
  type: string;
136
137
  id: string;
137
- }) => Promise<StreamResponse<ListTranscriptionsResponse>>;
138
- unblockUser: (request: UnblockUserRequest & {
138
+ }): Promise<StreamResponse<ListTranscriptionsResponse>>;
139
+ unblockUser(request: UnblockUserRequest & {
139
140
  type: string;
140
141
  id: string;
141
- }) => Promise<StreamResponse<UnblockUserResponse>>;
142
- videoUnpin: (request: UnpinRequest & {
142
+ }): Promise<StreamResponse<UnblockUserResponse>>;
143
+ videoUnpin(request: UnpinRequest & {
143
144
  type: string;
144
145
  id: string;
145
- }) => Promise<StreamResponse<UnpinResponse>>;
146
- updateUserPermissions: (request: UpdateUserPermissionsRequest & {
146
+ }): Promise<StreamResponse<UnpinResponse>>;
147
+ updateUserPermissions(request: UpdateUserPermissionsRequest & {
147
148
  type: string;
148
149
  id: string;
149
- }) => Promise<StreamResponse<UpdateUserPermissionsResponse>>;
150
- deleteRecording: (request: {
150
+ }): Promise<StreamResponse<UpdateUserPermissionsResponse>>;
151
+ deleteRecording(request: {
151
152
  type: string;
152
153
  id: string;
153
154
  session: string;
154
155
  filename: string;
155
- }) => Promise<StreamResponse<DeleteRecordingResponse>>;
156
- deleteTranscription: (request: {
156
+ }): Promise<StreamResponse<DeleteRecordingResponse>>;
157
+ deleteTranscription(request: {
157
158
  type: string;
158
159
  id: string;
159
160
  session: string;
160
161
  filename: string;
161
- }) => Promise<StreamResponse<DeleteTranscriptionResponse>>;
162
- queryCalls: (request?: QueryCallsRequest) => Promise<StreamResponse<QueryCallsResponse>>;
163
- listCallTypes: () => Promise<StreamResponse<ListCallTypeResponse>>;
164
- createCallType: (request: CreateCallTypeRequest) => Promise<StreamResponse<CreateCallTypeResponse>>;
165
- deleteCallType: (request: {
162
+ }): Promise<StreamResponse<DeleteTranscriptionResponse>>;
163
+ queryCalls(request?: QueryCallsRequest): Promise<StreamResponse<QueryCallsResponse>>;
164
+ listCallTypes(): Promise<StreamResponse<ListCallTypeResponse>>;
165
+ createCallType(request: CreateCallTypeRequest): Promise<StreamResponse<CreateCallTypeResponse>>;
166
+ deleteCallType(request: {
166
167
  name: string;
167
- }) => Promise<StreamResponse<Response>>;
168
- getCallType: (request: {
168
+ }): Promise<StreamResponse<Response>>;
169
+ getCallType(request: {
169
170
  name: string;
170
- }) => Promise<StreamResponse<GetCallTypeResponse>>;
171
- updateCallType: (request: UpdateCallTypeRequest & {
171
+ }): Promise<StreamResponse<GetCallTypeResponse>>;
172
+ updateCallType(request: UpdateCallTypeRequest & {
172
173
  name: string;
173
- }) => Promise<StreamResponse<UpdateCallTypeResponse>>;
174
- getEdges: () => Promise<StreamResponse<GetEdgesResponse>>;
175
- queryAggregateCallStats: (request?: QueryAggregateCallStatsRequest) => Promise<StreamResponse<QueryAggregateCallStatsResponse>>;
174
+ }): Promise<StreamResponse<UpdateCallTypeResponse>>;
175
+ getEdges(): Promise<StreamResponse<GetEdgesResponse>>;
176
+ queryAggregateCallStats(request?: QueryAggregateCallStatsRequest): Promise<StreamResponse<QueryAggregateCallStatsResponse>>;
176
177
  }
@@ -0,0 +1,5 @@
1
+ export * from './ApiClient';
2
+ export * from './gen/chat/ChatApi';
3
+ export * from './gen/video/VideoApi';
4
+ export * from './types';
5
+ export * from './gen/feeds/FeedsApi';
package/index.ts CHANGED
@@ -1,6 +1,8 @@
1
- export * from './src/gen/models';
2
1
  export * from './src/StreamClient';
3
2
  export * from './src/StreamCall';
4
3
  export * from './src/StreamChatClient';
5
4
  export * from './src/StreamChannel';
6
5
  export * from './src/StreamVideoClient';
6
+ export * from './src/gen/models';
7
+ export * from './src/StreamFeedsClient';
8
+ export * from './src/StreamFeed';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/node-sdk",
3
- "version": "0.4.26",
3
+ "version": "0.5.1",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -3,19 +3,24 @@ import { ApiConfig, RequestMetadata, StreamError } from './types';
3
3
  import { APIError } from './gen/models';
4
4
  import { getRateLimitFromResponseHeader } from './utils/rate-limit';
5
5
 
6
- export class BaseApi {
6
+ export class ApiClient {
7
7
  private readonly dispatcher?: RequestInit['dispatcher'];
8
8
 
9
- constructor(protected readonly apiConfig: ApiConfig) {
9
+ constructor(public readonly apiConfig: ApiConfig) {
10
10
  this.dispatcher = this.apiConfig.agent;
11
11
  }
12
12
 
13
- protected sendRequest = async <T>(
13
+ /**
14
+ *
15
+ * @internal
16
+ */
17
+ sendRequest = async <T>(
14
18
  method: string,
15
19
  url: string,
16
20
  pathParams?: Record<string, string>,
17
21
  queryParams?: Record<string, any>,
18
22
  body?: any,
23
+ requestContentType?: string,
19
24
  ) => {
20
25
  queryParams = queryParams ?? {};
21
26
  queryParams.api_key = this.apiConfig.apiKey;
@@ -28,22 +33,37 @@ export class BaseApi {
28
33
 
29
34
  url += `?${encodedParams}`;
30
35
  const clientRequestId = uuidv4();
31
- const headers = {
36
+ const headers: Record<string, string> = {
32
37
  Authorization: this.apiConfig.token,
33
38
  'stream-auth-type': 'jwt',
34
- 'Content-Type': 'application/json',
35
39
  'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,
36
40
  'Accept-Encoding': 'gzip',
37
41
  'x-client-request-id': clientRequestId,
38
42
  };
39
43
 
44
+ // https://stackoverflow.com/questions/39280438/fetch-missing-boundary-in-multipart-form-data-post
45
+ if (requestContentType !== 'multipart/form-data') {
46
+ headers['Content-Type'] = requestContentType ?? 'application/json';
47
+ }
48
+
40
49
  const signal = AbortSignal.timeout(this.apiConfig.timeout);
41
50
 
51
+ const encodedBody =
52
+ requestContentType === 'multipart/form-data'
53
+ ? new FormData()
54
+ : JSON.stringify(body);
55
+ if (requestContentType === 'multipart/form-data') {
56
+ Object.keys(body).forEach((key) => {
57
+ (encodedBody as FormData).append(key, body[key]);
58
+ });
59
+ }
60
+
42
61
  try {
43
62
  const response = await fetch(`${this.apiConfig.baseUrl}${url}`, {
44
- signal,
63
+ signal:
64
+ requestContentType === 'multipart/form-data' ? undefined : signal,
45
65
  method,
46
- body: JSON.stringify(body),
66
+ body: encodedBody,
47
67
  headers,
48
68
  dispatcher: this.dispatcher,
49
69
  });
package/src/StreamCall.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { QueryCallMembersRequest } from './gen/models';
1
+ import { GetOrCreateCallRequest, QueryCallMembersRequest } from './gen/models';
2
2
  import { CallApi } from './gen/video/CallApi';
3
3
  import { OmitTypeId } from './types';
4
4
 
@@ -7,7 +7,7 @@ export class StreamCall extends CallApi {
7
7
  return `${this.type}:${this.id}`;
8
8
  }
9
9
 
10
- create = this.getOrCreate;
10
+ create = (request?: GetOrCreateCallRequest) => this.getOrCreate(request);
11
11
 
12
12
  queryMembers = (request?: OmitTypeId<QueryCallMembersRequest>) => {
13
13
  return this.videoApi.queryCallMembers({