duplicate_files.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'dart:convert';
  2. import 'package:photos/models/file.dart';
  3. class DuplicateFilesResponse {
  4. final List<DuplicateItems> duplicates;
  5. DuplicateFilesResponse(this.duplicates);
  6. factory DuplicateFilesResponse.fromMap(Map<String, dynamic> map) {
  7. return DuplicateFilesResponse(
  8. List<DuplicateItems>.from(
  9. map['duplicates']?.map((x) => DuplicateItems.fromMap(x)),
  10. ),
  11. );
  12. }
  13. factory DuplicateFilesResponse.fromJson(String source) =>
  14. DuplicateFilesResponse.fromMap(json.decode(source));
  15. @override
  16. String toString() => 'DuplicateFiles(duplicates: $duplicates)';
  17. }
  18. class DuplicateItems {
  19. final List<int> fileIDs;
  20. final int size;
  21. DuplicateItems(this.fileIDs, this.size);
  22. factory DuplicateItems.fromMap(Map<String, dynamic> map) {
  23. return DuplicateItems(
  24. List<int>.from(map['fileIDs']),
  25. map['size'],
  26. );
  27. }
  28. factory DuplicateItems.fromJson(String source) =>
  29. DuplicateItems.fromMap(json.decode(source));
  30. @override
  31. String toString() => 'Duplicates(fileIDs: $fileIDs, size: $size)';
  32. }
  33. class DuplicateFiles {
  34. final List<File> files;
  35. final int size;
  36. DuplicateFiles(this.files, this.size);
  37. @override
  38. String toString() => 'DuplicateFiles(files: $files, size: $size)';
  39. }