notube-export/lib/models/Video.dart

37 lines
898 B
Dart

import 'package:equatable/equatable.dart';
class Video extends Equatable {
Video({
required this.id,
required this.title,
this.thumbnail = '',
this.description = '',
this.duration = '0:00',
required this.uploader,
required this.uploadDate,
});
String id;
String title;
String thumbnail;
String description;
String duration;
String uploader;
String uploadDate;
factory Video.fromJson(Map<String, dynamic> json) {
return Video(
id: json['id'],
title: json['title'],
thumbnail: json['thumbnails']![0]['url'],
description: json['description'] ?? '',
duration: json['duration_string'] ?? '0:00',
uploader: json['uploader'] ?? '',
uploadDate: json['upload_date'] ?? '');
}
@override
List<Object> get props =>
[id, title, thumbnail, description, duration, uploader, uploadDate];
}