2022-11-09 02:24:54 +00:00
|
|
|
import '../../models/attachment_media_type_enum.dart';
|
|
|
|
import '../../models/media_attachment.dart';
|
|
|
|
|
|
|
|
extension MediaAttachmentFriendicaExtensions on MediaAttachment {
|
|
|
|
static MediaAttachment fromJson(Map<String, dynamic> json) {
|
2023-03-16 15:37:46 +00:00
|
|
|
final id = json['id'];
|
2022-11-09 02:24:54 +00:00
|
|
|
final uri = Uri.parse(json['url']);
|
|
|
|
const creationTimestamp = 0;
|
|
|
|
final metadata = (json['metadata'] as Map<String, dynamic>? ?? {})
|
|
|
|
.map((key, value) => MapEntry(key, value.toString()));
|
|
|
|
final explicitType = (json['mimetype'] ?? '').startsWith('image')
|
|
|
|
? AttachmentMediaType.image
|
|
|
|
: (json['mimetype'] ?? '').startsWith('video')
|
|
|
|
? AttachmentMediaType.video
|
|
|
|
: AttachmentMediaType.unknown;
|
|
|
|
final thumbnailUri = Uri();
|
|
|
|
const title = '';
|
|
|
|
const description = '';
|
|
|
|
|
|
|
|
return MediaAttachment(
|
2023-03-16 15:37:46 +00:00
|
|
|
id: id,
|
2022-11-09 02:24:54 +00:00
|
|
|
uri: uri,
|
2022-12-27 17:21:56 +00:00
|
|
|
fullFileUri: uri,
|
2022-11-09 02:24:54 +00:00
|
|
|
creationTimestamp: creationTimestamp,
|
|
|
|
metadata: metadata,
|
|
|
|
thumbnailUri: thumbnailUri,
|
|
|
|
title: title,
|
|
|
|
explicitType: explicitType,
|
|
|
|
description: description);
|
|
|
|
}
|
|
|
|
}
|