import 'package:freezed_annotation/freezed_annotation.dart'; part 'video_call_models.freezed.dart'; part 'video_call_models.g.dart'; @freezed abstract class VideoCallTokenResponse with _$VideoCallTokenResponse { const factory VideoCallTokenResponse({ required String token, required String roomName, required String wsUrl, }) = _VideoCallTokenResponse; factory VideoCallTokenResponse.fromJson(Map json) => _$VideoCallTokenResponseFromJson(json); } @freezed abstract class VideoCallAdminTokenResponse with _$VideoCallAdminTokenResponse { const factory VideoCallAdminTokenResponse({ required String adminToken, required String roomName, required String apiUrl, }) = _VideoCallAdminTokenResponse; factory VideoCallAdminTokenResponse.fromJson(Map json) => _$VideoCallAdminTokenResponseFromJson(json); } @freezed abstract class VideoCallEndedResponse with _$VideoCallEndedResponse { const factory VideoCallEndedResponse({required bool sent}) = _VideoCallEndedResponse; factory VideoCallEndedResponse.fromJson(Map json) => _$VideoCallEndedResponseFromJson(json); } @freezed abstract class VideoCallAcceptResponse with _$VideoCallAcceptResponse { const factory VideoCallAcceptResponse({ required bool sent, @JsonKey(name: 'devices_notified') required int devicesNotified, }) = _VideoCallAcceptResponse; factory VideoCallAcceptResponse.fromJson(Map json) => _$VideoCallAcceptResponseFromJson(json); }