forked from eatvio/eatvio_app
22 lines
919 B
Dart
22 lines
919 B
Dart
import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'chat_message_model.freezed.dart';
|
|
part 'chat_message_model.g.dart';
|
|
|
|
@freezed
|
|
abstract class ChatMessageModel with _$ChatMessageModel {
|
|
const factory ChatMessageModel({
|
|
required int id,
|
|
required String data,
|
|
@JsonKey(name: 'media_data') required List<dynamic>? mediaData,
|
|
@JsonKey(name: 'author_id') required int authorId,
|
|
@JsonKey(name: 'updated_at', fromJson: parseDate) required DateTime updatedAt,
|
|
@JsonKey(name: 'read_by_to_user', defaultValue: false) required bool isRead,
|
|
@JsonKey(name: 'is_author_message_auth_user') required bool? isCurrentUserAuthor,
|
|
@JsonKey(name: 'room_id') required String? roomId,
|
|
}) = _ChatMessageModel;
|
|
|
|
factory ChatMessageModel.fromJson(Map<String, Object?> json) => _$ChatMessageModelFromJson(json);
|
|
}
|