From 5b179febd6e70e5b9e42d5b7eea2440031dda60a Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 10 Aug 2022 18:06:39 +0530 Subject: [PATCH] chore(llc): move files to correct folders. Signed-off-by: xsahil03x --- .../stream_chat/lib/src/client/client.dart | 2 +- .../lib/src/core/api/call_api.dart | 14 ++-- .../lib/src/core/api/responses.dart | 67 +---------------- .../lib/src/core/api/responses.g.dart | 20 ------ .../lib/src/core/api/stream_chat_api.dart | 2 +- .../lib/src/core/models/call_payload.dart | 72 +++++++++++++++++++ .../lib/src/core/models/call_payload.g.dart | 27 +++++++ .../test/src/core/api/call_api_test.dart | 8 +-- .../test/src/core/api/responses_test.dart | 55 ++++---------- .../src/core/models/call_payload_test.dart | 38 ++++++++++ 10 files changed, 162 insertions(+), 143 deletions(-) create mode 100644 packages/stream_chat/lib/src/core/models/call_payload.dart create mode 100644 packages/stream_chat/lib/src/core/models/call_payload.g.dart create mode 100644 packages/stream_chat/test/src/core/models/call_payload_test.dart diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index 73f0f95e..07e6ed3e 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -595,7 +595,7 @@ class StreamChatClient { required String callType, required String channelType, required String channelId, - }) async { + }) { return _chatApi.call.createCall( callId: callId, callType: callType, diff --git a/packages/stream_chat/lib/src/core/api/call_api.dart b/packages/stream_chat/lib/src/core/api/call_api.dart index 60fc6f88..2e40fc63 100644 --- a/packages/stream_chat/lib/src/core/api/call_api.dart +++ b/packages/stream_chat/lib/src/core/api/call_api.dart @@ -1,7 +1,7 @@ import 'package:stream_chat/src/core/api/responses.dart'; import 'package:stream_chat/src/core/http/stream_http_client.dart'; -/// Defines the api dedicated to video call operations +/// Defines the api dedicated to call operations. class CallApi { /// Initialize a new call api CallApi(this._client); @@ -25,11 +25,13 @@ class CallApi { required String channelType, required String channelId, }) async { - final response = - await _client.post(_getChannelUrl(channelId, channelType), data: { - 'id': callId, - 'type': callType, - }); + final response = await _client.post( + _getChannelUrl(channelId, channelType), + data: { + 'id': callId, + 'type': callType, + }, + ); // return response.data; return CreateCallPayload.fromJson(response.data); } diff --git a/packages/stream_chat/lib/src/core/api/responses.dart b/packages/stream_chat/lib/src/core/api/responses.dart index ddeb4b0f..54b885f4 100644 --- a/packages/stream_chat/lib/src/core/api/responses.dart +++ b/packages/stream_chat/lib/src/core/api/responses.dart @@ -1,9 +1,9 @@ -import 'package:equatable/equatable.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:stream_chat/src/client/client.dart'; import 'package:stream_chat/src/core/api/call_api.dart'; import 'package:stream_chat/src/core/error/error.dart'; import 'package:stream_chat/src/core/models/banned_user.dart'; +import 'package:stream_chat/src/core/models/call_payload.dart'; import 'package:stream_chat/src/core/models/channel_model.dart'; import 'package:stream_chat/src/core/models/channel_state.dart'; import 'package:stream_chat/src/core/models/device.dart'; @@ -498,51 +498,6 @@ class OGAttachmentResponse extends _BaseResponse { _$OGAttachmentResponseFromJson(json); } -/// Payload for Agora call. -@JsonSerializable(createToJson: false) -class AgoraPayload { - /// Create a new instance. - const AgoraPayload({required this.channel}); - - /// Create a new instance from a [json]. - factory AgoraPayload.fromJson(Map json) => - _$AgoraPayloadFromJson(json); - - /// The Agora channel. - final String channel; -} - -/// Model containing the information about a call. -@JsonSerializable(createToJson: false) -class CallPayload extends Equatable { - /// Create a new instance. - const CallPayload({ - required this.id, - required this.provider, - this.agora, - this.hms, - }); - - /// Create a new instance from a [json]. - factory CallPayload.fromJson(Map json) => - _$CallPayloadFromJson(json); - - /// The call id. - final String id; - - /// The call provider. - final String provider; - - /// The payload specific to Agora. - final AgoraPayload? agora; - - /// The payload specific to 100ms. - final HMSPayload? hms; - - @override - List get props => [id, provider, agora, hms]; -} - /// The response to [CallApi.getCallToken] @JsonSerializable(createToJson: false) class CallTokenPayload extends _BaseResponse { @@ -570,23 +525,3 @@ class CreateCallPayload extends _BaseResponse { /// The call object. CallPayload? call; } - -/// Payload for 100ms call. -@JsonSerializable(createToJson: false) -class HMSPayload extends Equatable { - /// Create a new instance. - const HMSPayload({required this.roomId, required this.roomName}); - - /// Create a new instance from a [json]. - factory HMSPayload.fromJson(Map json) => - _$HMSPayloadFromJson(json); - - /// The id of the 100ms room. - final String roomId; - - /// The name of the 100ms room. - final String roomName; - - @override - List get props => [roomId, roomName]; -} diff --git a/packages/stream_chat/lib/src/core/api/responses.g.dart b/packages/stream_chat/lib/src/core/api/responses.g.dart index 6cc2158e..24f5c459 100644 --- a/packages/stream_chat/lib/src/core/api/responses.g.dart +++ b/packages/stream_chat/lib/src/core/api/responses.g.dart @@ -298,21 +298,6 @@ OGAttachmentResponse _$OGAttachmentResponseFromJson( ..titleLink = json['title_link'] as String? ..type = json['type'] as String?; -AgoraPayload _$AgoraPayloadFromJson(Map json) => AgoraPayload( - channel: json['channel'] as String, - ); - -CallPayload _$CallPayloadFromJson(Map json) => CallPayload( - id: json['id'] as String, - provider: json['provider'] as String, - agora: json['agora'] == null - ? null - : AgoraPayload.fromJson(json['agora'] as Map), - hms: json['hms'] == null - ? null - : HMSPayload.fromJson(json['hms'] as Map), - ); - CallTokenPayload _$CallTokenPayloadFromJson(Map json) => CallTokenPayload() ..duration = json['duration'] as String? @@ -326,8 +311,3 @@ CreateCallPayload _$CreateCallPayloadFromJson(Map json) => ..call = json['call'] == null ? null : CallPayload.fromJson(json['call'] as Map); - -HMSPayload _$HMSPayloadFromJson(Map json) => HMSPayload( - roomId: json['room_id'] as String, - roomName: json['room_name'] as String, - ); diff --git a/packages/stream_chat/lib/src/core/api/stream_chat_api.dart b/packages/stream_chat/lib/src/core/api/stream_chat_api.dart index c19b81a9..b3f29210 100644 --- a/packages/stream_chat/lib/src/core/api/stream_chat_api.dart +++ b/packages/stream_chat/lib/src/core/api/stream_chat_api.dart @@ -56,7 +56,7 @@ class StreamChatApi { CallApi? _call; - /// Api dedicated to guest operations + /// Api dedicated to call operations CallApi get call => _call ??= CallApi(_client); ChannelApi? _channel; diff --git a/packages/stream_chat/lib/src/core/models/call_payload.dart b/packages/stream_chat/lib/src/core/models/call_payload.dart new file mode 100644 index 00000000..e11ae788 --- /dev/null +++ b/packages/stream_chat/lib/src/core/models/call_payload.dart @@ -0,0 +1,72 @@ +import 'package:equatable/equatable.dart'; +import 'package:json_annotation/json_annotation.dart'; + +part 'call_payload.g.dart'; + +/// Model containing the information about a call. +@JsonSerializable(createToJson: false) +class CallPayload extends Equatable { + /// Create a new instance. + const CallPayload({ + required this.id, + required this.provider, + this.agora, + this.hms, + }); + + /// Create a new instance from a [json]. + factory CallPayload.fromJson(Map json) => + _$CallPayloadFromJson(json); + + /// The call id. + final String id; + + /// The call provider. + final String provider; + + /// The payload specific to Agora. + final AgoraPayload? agora; + + /// The payload specific to 100ms. + final HMSPayload? hms; + + @override + List get props => [id, provider, agora, hms]; +} + +/// Payload for Agora call. +@JsonSerializable(createToJson: false) +class AgoraPayload extends Equatable { + /// Create a new instance. + const AgoraPayload({required this.channel}); + + /// Create a new instance from a [json]. + factory AgoraPayload.fromJson(Map json) => + _$AgoraPayloadFromJson(json); + + /// The Agora channel. + final String channel; + + @override + List get props => [channel]; +} + +/// Payload for 100ms call. +@JsonSerializable(createToJson: false) +class HMSPayload extends Equatable { + /// Create a new instance. + const HMSPayload({required this.roomId, required this.roomName}); + + /// Create a new instance from a [json]. + factory HMSPayload.fromJson(Map json) => + _$HMSPayloadFromJson(json); + + /// The id of the 100ms room. + final String roomId; + + /// The name of the 100ms room. + final String roomName; + + @override + List get props => [roomId, roomName]; +} diff --git a/packages/stream_chat/lib/src/core/models/call_payload.g.dart b/packages/stream_chat/lib/src/core/models/call_payload.g.dart new file mode 100644 index 00000000..bc786cc5 --- /dev/null +++ b/packages/stream_chat/lib/src/core/models/call_payload.g.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'call_payload.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +CallPayload _$CallPayloadFromJson(Map json) => CallPayload( + id: json['id'] as String, + provider: json['provider'] as String, + agora: json['agora'] == null + ? null + : AgoraPayload.fromJson(json['agora'] as Map), + hms: json['hms'] == null + ? null + : HMSPayload.fromJson(json['hms'] as Map), + ); + +AgoraPayload _$AgoraPayloadFromJson(Map json) => AgoraPayload( + channel: json['channel'] as String, + ); + +HMSPayload _$HMSPayloadFromJson(Map json) => HMSPayload( + roomId: json['room_id'] as String, + roomName: json['room_name'] as String, + ); diff --git a/packages/stream_chat/test/src/core/api/call_api_test.dart b/packages/stream_chat/test/src/core/api/call_api_test.dart index 662f84b0..f9e2265f 100644 --- a/packages/stream_chat/test/src/core/api/call_api_test.dart +++ b/packages/stream_chat/test/src/core/api/call_api_test.dart @@ -23,12 +23,8 @@ void main() { const callId = 'test-call-id'; const path = '/calls/$callId'; - when(() => client.post( - path, - data: {}, - )) - .thenAnswer( - (_) async => successResponse(path, data: {})); + when(() => client.post(path, data: {})).thenAnswer( + (_) async => successResponse(path, data: {})); final res = await callApi.getCallToken(callId); diff --git a/packages/stream_chat/test/src/core/api/responses_test.dart b/packages/stream_chat/test/src/core/api/responses_test.dart index 75a374fb..073d2b40 100644 --- a/packages/stream_chat/test/src/core/api/responses_test.dart +++ b/packages/stream_chat/test/src/core/api/responses_test.dart @@ -1,5 +1,6 @@ import 'dart:convert'; +import 'package:stream_chat/src/core/models/call_payload.dart'; import 'package:stream_chat/stream_chat.dart'; import 'package:test/test.dart'; @@ -4341,45 +4342,21 @@ void main() { expect(response.message, isA()); }); - test('AgoraPayload', () { + test('CallTokenPayload', () { const jsonExample = ''' - {"channel":"test"} - '''; - final response = AgoraPayload.fromJson(json.decode(jsonExample)); - expect(response.channel, isA()); - }); - - test('CallPayload', () { - const jsonExample = ''' - {"id":"test", - "provider": "test", - "agora": {"channel":"test"}, - "hms":{"room_id":"test", "room_name":"test"} - } - '''; - final response = CallPayload.fromJson(json.decode(jsonExample)); - expect(response.agora, isA()); - expect(response.hms, isA()); - expect(response.id, isA()); - expect(response.provider, isA()); - }); - }); - - test('CallTokenPayload', () { - const jsonExample = ''' {"duration": "3ms", "agora_app_id":"test", "agora_uid": 12, "token": "token"} '''; - final response = CallTokenPayload.fromJson(json.decode(jsonExample)); - expect(response.agoraAppId, isA()); - expect(response.agoraUid, isA()); - expect(response.token, isA()); - }); + final response = CallTokenPayload.fromJson(json.decode(jsonExample)); + expect(response.agoraAppId, isA()); + expect(response.agoraUid, isA()); + expect(response.token, isA()); + }); - test('CreateCallPayload', () { - const jsonExample = ''' + test('CreateCallPayload', () { + const jsonExample = ''' {"call": {"id":"test", "provider": "test", @@ -4387,16 +4364,8 @@ void main() { "hms":{"room_id":"test", "room_name":"test"} }} '''; - final response = CreateCallPayload.fromJson(json.decode(jsonExample)); - expect(response.call, isA()); - }); - - test('HMSPayload', () { - const jsonExample = ''' - {"room_id":"test", "room_name":"test"} - '''; - final response = HMSPayload.fromJson(json.decode(jsonExample)); - expect(response.roomId, isA()); - expect(response.roomName, isA()); + final response = CreateCallPayload.fromJson(json.decode(jsonExample)); + expect(response.call, isA()); + }); }); } diff --git a/packages/stream_chat/test/src/core/models/call_payload_test.dart b/packages/stream_chat/test/src/core/models/call_payload_test.dart new file mode 100644 index 00000000..a67e3bee --- /dev/null +++ b/packages/stream_chat/test/src/core/models/call_payload_test.dart @@ -0,0 +1,38 @@ +import 'dart:convert'; + +import 'package:stream_chat/src/core/models/call_payload.dart'; +import 'package:test/test.dart'; + +void main() { + test('CallPayload', () { + const jsonExample = ''' + {"id":"test", + "provider": "test", + "agora": {"channel":"test"}, + "hms":{"room_id":"test", "room_name":"test"} + } + '''; + final response = CallPayload.fromJson(json.decode(jsonExample)); + expect(response.agora, isA()); + expect(response.hms, isA()); + expect(response.id, isA()); + expect(response.provider, isA()); + }); + + test('AgoraPayload', () { + const jsonExample = ''' + {"channel":"test"} + '''; + final response = AgoraPayload.fromJson(json.decode(jsonExample)); + expect(response.channel, isA()); + }); + + test('HMSPayload', () { + const jsonExample = ''' + {"room_id":"test", "room_name":"test"} + '''; + final response = HMSPayload.fromJson(json.decode(jsonExample)); + expect(response.roomId, isA()); + expect(response.roomName, isA()); + }); +}