This commit is contained in:
Sacha Arbonel
2022-08-25 17:36:27 +02:00
committed by Salvatore Giordano
parent c9281e0c89
commit 570e6e05cf
11 changed files with 72 additions and 54 deletions
+2 -2
View File
@@ -54,11 +54,11 @@ scripts:
description: Build all generated files for Dart & Flutter packages in this project.
generate:dart:
run: melos exec -c 1 --depends-on="build_runner" --no-flutter -- "dart pub run build_runner build --delete-conflicting-outputs --enable-experiment=super-parameters,enhanced-enums"
run: melos exec -c 1 --depends-on="build_runner" --no-flutter -- "dart run build_runner build --delete-conflicting-outputs --enable-experiment=super-parameters,enhanced-enums"
description: Build all generated files for Dart packages in this project.
generate:flutter:
run: melos exec -c 1 --depends-on="build_runner" --flutter -- "flutter pub run build_runner build --delete-conflicting-outputs --enable-experiment=super-parameters,enhanced-enums"
run: melos exec -c 1 --depends-on="build_runner" --flutter -- "flutter run build_runner build --delete-conflicting-outputs --enable-experiment=super-parameters,enhanced-enums"
description: Build all generated files for Flutter packages in this project.
test:all:
@@ -590,12 +590,20 @@ class StreamChatClient {
Future<CallTokenPayload> getCallToken(String callId) async =>
_chatApi.call.getCallToken(callId);
Future<CreateCallPayload> createCall(
String callId,
String callType,
Future<CreateCallPayload> createCall({
required String callId,
required String callType,
required String channelType,
required String channelId,
Map<String, Object?>? options,
) async {
return _chatApi.call.createCall(callId, callType, options);
}) async {
return _chatApi.call.createCall(
callId: callId,
callType: callType,
options: options,
channelType: channelType,
channelId: channelId,
);
}
/// Requests channels with a given query from the API.
@@ -11,18 +11,28 @@ class CallApi {
Future<CallTokenPayload> getCallToken(String callId) async {
final response = await _client.post(
'/calls/$callId',
data: {},
);
return CallTokenPayload.fromJson(response.data);
// return response.data;
return CallTokenPayload.fromJson(response.data);
}
Future<CreateCallPayload> createCall(
String callId,
String callType,
Future<CreateCallPayload> createCall({
required String callId,
required String callType,
required String channelType,
required String channelId,
Map<String, Object?>? options,
) async {
final response = await _client.post(
'/channels/$callType/$callId/call',
);
return CreateCallPayload.fromJson(response.data);
}) async {
final response =
await _client.post(_getChannelUrl(channelId, channelType), data: {
'id': '$callId',
'type': '$callType',
});
// return response.data;
return CreateCallPayload.fromJson(response.data);
}
String _getChannelUrl(String channelId, String channelType) =>
'/channels/$channelType/$channelId/call';
}
@@ -3,11 +3,13 @@ import 'package:json_annotation/json_annotation.dart';
part 'agora_payload.g.dart';
@JsonSerializable(includeIfNull: false)
@JsonSerializable()
class AgoraPayload {
final String channel;
const AgoraPayload({required this.channel});
factory AgoraPayload.fromJson(Map<String, dynamic> json) =>
_$AgoraPayloadFromJson(json);
Map<String, dynamic> toJson() => _$AgoraPayloadToJson(this);
}
@@ -5,18 +5,21 @@ import 'package:json_annotation/json_annotation.dart';
part 'call_payload.g.dart';
@JsonSerializable(includeIfNull: false)
@JsonSerializable()
class CallPayload extends Equatable {
final String id;
final String provider;
final AgoraPayload? agora;
final HMSPayload? hms;
const CallPayload({required this.id, required this.provider, this.agora, this.hms});
const CallPayload(
{required this.id, required this.provider, this.agora, this.hms});
factory CallPayload.fromJson(Map<String, dynamic> json) =>
_$CallPayloadFromJson(json);
Map<String, dynamic> toJson() => _$CallPayloadToJson(this);
@override
List<Object?> get props => [id, provider, agora, hms];
}
@@ -17,19 +17,10 @@ CallPayload _$CallPayloadFromJson(Map<String, dynamic> json) => CallPayload(
: HMSPayload.fromJson(json['hms'] as Map<String, dynamic>),
);
Map<String, dynamic> _$CallPayloadToJson(CallPayload instance) {
final val = <String, dynamic>{
'id': instance.id,
'provider': instance.provider,
};
void writeNotNull(String key, dynamic value) {
if (value != null) {
val[key] = value;
}
}
writeNotNull('agora', instance.agora?.toJson());
writeNotNull('hms', instance.hms?.toJson());
return val;
}
Map<String, dynamic> _$CallPayloadToJson(CallPayload instance) =>
<String, dynamic>{
'id': instance.id,
'provider': instance.provider,
'agora': instance.agora?.toJson(),
'hms': instance.hms?.toJson(),
};
@@ -5,7 +5,7 @@ import 'package:json_annotation/json_annotation.dart';
part 'call_token_payload.g.dart';
@JsonSerializable(includeIfNull: false)
@JsonSerializable()
class CallTokenPayload extends Equatable {
final String token;
final int? agoraUid;
@@ -15,6 +15,9 @@ class CallTokenPayload extends Equatable {
factory CallTokenPayload.fromJson(Map<String, dynamic> json) =>
_$CallTokenPayloadFromJson(json);
Map<String, dynamic> toJson() => _$CallTokenPayloadToJson(this);
@override
List<Object?> get props => [token, agoraAppId, agoraUid];
}
@@ -13,18 +13,9 @@ CallTokenPayload _$CallTokenPayloadFromJson(Map<String, dynamic> json) =>
agoraAppId: json['agora_app_id'] as String?,
);
Map<String, dynamic> _$CallTokenPayloadToJson(CallTokenPayload instance) {
final val = <String, dynamic>{
'token': instance.token,
};
void writeNotNull(String key, dynamic value) {
if (value != null) {
val[key] = value;
}
}
writeNotNull('agora_uid', instance.agoraUid);
writeNotNull('agora_app_id', instance.agoraAppId);
return val;
}
Map<String, dynamic> _$CallTokenPayloadToJson(CallTokenPayload instance) =>
<String, dynamic>{
'token': instance.token,
'agora_uid': instance.agoraUid,
'agora_app_id': instance.agoraAppId,
};
@@ -3,9 +3,9 @@ import 'package:stream_chat/src/core/models/call_payload.dart';
import 'package:equatable/equatable.dart';
import 'package:json_annotation/json_annotation.dart';
part 'create_call_payload.g.dart';
@JsonSerializable(includeIfNull: false)
@JsonSerializable()
class CreateCallPayload extends Equatable {
final CallPayload call;
const CreateCallPayload({required this.call});
@@ -13,6 +13,8 @@ class CreateCallPayload extends Equatable {
factory CreateCallPayload.fromJson(Map<String, dynamic> json) =>
_$CreateCallPayloadFromJson(json);
Map<String, dynamic> toJson() => _$CreateCallPayloadToJson(this);
@override
List<Object?> get props => [call];
}
@@ -3,7 +3,7 @@ import 'package:json_annotation/json_annotation.dart';
part 'hms_payload.g.dart';
@JsonSerializable(includeIfNull: false)
@JsonSerializable()
class HMSPayload extends Equatable {
final String roomId;
final String roomName;
@@ -12,6 +12,8 @@ class HMSPayload extends Equatable {
factory HMSPayload.fromJson(Map<String, dynamic> json) =>
_$HMSPayloadFromJson(json);
Map<String, dynamic> toJson() => _$HMSPayloadToJson(this);
@override
List<Object?> get props => [roomId, roomName];
}
@@ -15,15 +15,21 @@ export './src/core/api/responses.dart';
export './src/core/api/stream_chat_api.dart' show PushProvider;
export './src/core/error/error.dart';
export './src/core/models/action.dart';
export './src/core/models/agora_payload.dart';
export './src/core/models/attachment.dart';
export './src/core/models/attachment_file.dart';
export './src/core/models/call_payload.dart';
export './src/core/models/call_token_payload.dart';
export './src/core/models/channel_config.dart';
export './src/core/models/channel_model.dart';
export './src/core/models/channel_state.dart';
export './src/core/models/command.dart';
export './src/core/models/create_call_payload.dart';
export './src/core/models/device.dart';
export './src/core/models/event.dart';
export './src/core/models/filter.dart' show Filter;
export './src/core/models/hms_payload.dart';
export './src/core/models/hms_payload.dart';
export './src/core/models/member.dart';
export './src/core/models/message.dart';
export './src/core/models/mute.dart';