mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-19 14:03:31 +00:00
30 lines
984 B
Dart
30 lines
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: '',
|
|
);
|
|
}
|
|
}
|