relatica/lib/serializers/mastodon/follow_request_mastodon_ext...

31 wiersze
984 B
Dart

import 'package:uuid/uuid.dart';
import '../../models/follow_request.dart';
import '../../models/user_notification.dart';
import 'connection_mastodon_extensions.dart';
extension FollowRequestMastodonExtension on FollowRequest {
static FollowRequest fromJson(Map<String, dynamic> json) {
final connection = ConnectionMastodonExtensions.fromJson(json);
final createdAt =
DateTime.tryParse(json['created_at'] ?? '') ?? DateTime.now();
return FollowRequest(connection: connection, createdAt: createdAt);
}
UserNotification toUserNotification() {
return UserNotification(
id: Uuid().v4(),
type: NotificationType.follow_request,
fromId: connection.id,
fromName: connection.name,
fromUrl: connection.profileUrl,
timestamp: createdAt.millisecondsSinceEpoch,
iid: '',
dismissed: false,
content:
'${connection.name}(${connection.handle}) submitted a follow request ',
link: '',
);
}
}