files_service.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:dio/dio.dart';
  2. import 'package:logging/logging.dart';
  3. import 'package:photos/core/network.dart';
  4. class FilesService {
  5. late Dio _enteDio;
  6. late Logger _logger;
  7. FilesService._privateConstructor() {
  8. _enteDio = Network.instance.enteDio;
  9. _logger = Logger("FilesService");
  10. }
  11. static final FilesService instance = FilesService._privateConstructor();
  12. Future<int> getFileSize(int uploadedFileID) async {
  13. try {
  14. final response = await _enteDio.post(
  15. "/files/size",
  16. data: {
  17. "fileIDs": [uploadedFileID]
  18. },
  19. );
  20. return response.data["size"];
  21. } catch (e) {
  22. _logger.severe(e);
  23. rethrow;
  24. }
  25. }
  26. }
  27. enum EditTimeSource {
  28. // parse the time from fileName
  29. fileName,
  30. // parse the time from exif data of file.
  31. exif,
  32. // use the which user provided as input
  33. manualFix,
  34. // adjust the time of selected photos by +/- time.
  35. // required for cases when the original device in which photos were taken
  36. // had incorrect time (quite common with physical cameras)
  37. manualAdjusted,
  38. }