tamar-file-hub-client 0.1.8__tar.gz → 0.1.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tamar-file-hub-client might be problematic. Click here for more details.

Files changed (64) hide show
  1. {tamar_file_hub_client-0.1.8/tamar_file_hub_client.egg-info → tamar_file_hub_client-0.1.9}/PKG-INFO +1 -1
  2. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/file_service_pb2.py +19 -19
  3. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/protos/file_service.proto +4 -6
  4. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/schemas/file.py +2 -3
  5. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/async_blob_service.py +8 -14
  6. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/sync_blob_service.py +8 -14
  7. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/setup.py +1 -1
  8. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9/tamar_file_hub_client.egg-info}/PKG-INFO +1 -1
  9. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/MANIFEST.in +0 -0
  10. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/README.md +0 -0
  11. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/__init__.py +0 -0
  12. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/client.py +0 -0
  13. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/enums/__init__.py +0 -0
  14. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/enums/export_format.py +0 -0
  15. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/enums/role.py +0 -0
  16. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/enums/upload_mode.py +0 -0
  17. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/errors/__init__.py +0 -0
  18. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/errors/exceptions.py +0 -0
  19. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/py.typed +0 -0
  20. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/__init__.py +0 -0
  21. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/async_client.py +0 -0
  22. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/__init__.py +0 -0
  23. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/file_service_pb2_grpc.py +0 -0
  24. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/folder_service_pb2.py +0 -0
  25. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/folder_service_pb2_grpc.py +0 -0
  26. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/taple_service_pb2.py +0 -0
  27. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/gen/taple_service_pb2_grpc.py +0 -0
  28. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/interceptors.py +0 -0
  29. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/protos/folder_service.proto +0 -0
  30. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/protos/taple_service.proto +0 -0
  31. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/rpc/sync_client.py +0 -0
  32. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/schemas/__init__.py +0 -0
  33. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/schemas/context.py +0 -0
  34. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/schemas/folder.py +0 -0
  35. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/schemas/taple.py +0 -0
  36. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/__init__.py +0 -0
  37. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/__init__.py +0 -0
  38. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/async_file_service.py +0 -0
  39. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/base_file_service.py +0 -0
  40. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/file/sync_file_service.py +0 -0
  41. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/folder/__init__.py +0 -0
  42. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/folder/async_folder_service.py +0 -0
  43. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/folder/sync_folder_service.py +0 -0
  44. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/taple/__init__.py +0 -0
  45. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/taple/async_taple_service.py +0 -0
  46. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/taple/base_taple_service.py +0 -0
  47. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/taple/idempotent_taple_mixin.py +0 -0
  48. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/services/taple/sync_taple_service.py +0 -0
  49. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/__init__.py +0 -0
  50. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/converter.py +0 -0
  51. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/download_helper.py +0 -0
  52. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/file_utils.py +0 -0
  53. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/idempotency.py +0 -0
  54. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/ip_detector.py +0 -0
  55. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/logging.py +0 -0
  56. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/mime_extension_mapper.py +0 -0
  57. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/retry.py +0 -0
  58. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/smart_retry.py +0 -0
  59. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/file_hub_client/utils/upload_helper.py +0 -0
  60. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/setup.cfg +0 -0
  61. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/tamar_file_hub_client.egg-info/SOURCES.txt +0 -0
  62. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/tamar_file_hub_client.egg-info/dependency_links.txt +0 -0
  63. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/tamar_file_hub_client.egg-info/requires.txt +0 -0
  64. {tamar_file_hub_client-0.1.8 → tamar_file_hub_client-0.1.9}/tamar_file_hub_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tamar-file-hub-client
3
- Version: 0.1.8
3
+ Version: 0.1.9
4
4
  Summary: A Python SDK for gRPC-based file management system
5
5
  Home-page: https://github.com/Tamar-Edge-AI/file-hub-client
6
6
  Author: Oscar Ou
@@ -26,19 +26,19 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
26
26
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12\x66ile_service.proto\x12\x04\x66ile\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xab\x01\n\x04\x46ile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x11\n\tfile_type\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb7\x02\n\nUploadFile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x03 \x01(\t\x12\x14\n\x0cstorage_type\x18\x04 \x01(\t\x12\x13\n\x0bstored_name\x18\x05 \x01(\t\x12\x13\n\x0bstored_path\x18\x06 \x01(\t\x12\x11\n\tfile_name\x18\x07 \x01(\t\x12\x11\n\tfile_size\x18\x08 \x01(\x03\x12\x10\n\x08\x66ile_ext\x18\t \x01(\t\x12\x11\n\tmime_type\x18\n \x01(\t\x12\x0e\n\x06status\x18\x0b \x01(\t\x12.\n\ncreated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9f\x02\n\x11UploadFileRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x11\n\tfile_type\x18\x04 \x01(\t\x12\x11\n\tmime_type\x18\x05 \x01(\t\x12\x19\n\x0cis_temporary\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x07 \x01(\x05H\x02\x88\x01\x01\x12#\n\x16keep_original_filename\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\x0c\n\n_folder_idB\x0f\n\r_is_temporaryB\x11\n\x0f_expire_secondsB\x19\n\x17_keep_original_filename\"\xb3\x02\n\x10UploadUrlRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x11\n\tfile_type\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x11\n\tfile_size\x18\x05 \x01(\x03\x12\x11\n\tfile_hash\x18\x06 \x01(\t\x12\x19\n\x0cis_temporary\x18\x07 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x08 \x01(\x05H\x02\x88\x01\x01\x12#\n\x16keep_original_filename\x18\t \x01(\x08H\x03\x88\x01\x01\x42\x0c\n\n_folder_idB\x0f\n\r_is_temporaryB\x11\n\x0f_expire_secondsB\x19\n\x17_keep_original_filename\")\n\x16UploadCompletedRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"u\n\x12\x44ownloadUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x13\n\x06is_cdn\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\t\n\x07_is_cdnB\x11\n\x0f_expire_seconds\"\xd4\x01\n\x10ShareLinkRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\tis_public\x18\x02 \x01(\x08\x12\x14\n\x0c\x61\x63\x63\x65ss_scope\x18\x03 \x01(\t\x12\x1b\n\x0e\x65xpire_seconds\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x17\n\nmax_access\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\x1b\n\x0eshare_password\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x11\n\x0f_expire_secondsB\r\n\x0b_max_accessB\x11\n\x0f_share_password\"\x82\x01\n\x10\x46ileVisitRequest\x12\x15\n\rfile_share_id\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ss_type\x18\x02 \x01(\t\x12\x17\n\x0f\x61\x63\x63\x65ss_duration\x18\x03 \x01(\x05\x12)\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"!\n\x0eGetFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"6\n\x11RenameFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"$\n\x11\x44\x65leteFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"\x8d\x02\n\x10ListFilesRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tfile_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\tfile_type\x18\x03 \x03(\t\x12\x1c\n\x0f\x63reated_by_role\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x17\n\ncreated_by\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpage_size\x18\x06 \x01(\x05H\x04\x88\x01\x01\x12\x11\n\x04page\x18\x07 \x01(\x05H\x05\x88\x01\x01\x42\x0c\n\n_folder_idB\x0c\n\n_file_nameB\x12\n\x10_created_by_roleB\r\n\x0b_created_byB\x0c\n\n_page_sizeB\x07\n\x05_page\"{\n\x17\x42\x61tchDownloadUrlRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\x12\x13\n\x06is_cdn\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\t\n\x07_is_cdnB\x11\n\x0f_expire_seconds\"#\n\x10GetGcsUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\")\n\x15\x42\x61tchGetGcsUrlRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\"U\n\x12UploadFileResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12%\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFile\"a\n\x11UploadUrlResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12%\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFile\x12\x0b\n\x03url\x18\x03 \x01(\t\"\"\n\x13\x44ownloadUrlResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\"*\n\x11ShareLinkResponse\x12\x15\n\rfile_share_id\x18\x01 \x01(\t\"-\n\x10\x46ileListResponse\x12\x19\n\x05\x66iles\x18\x01 \x03(\x0b\x32\n.file.File\"g\n\x0fGetFileResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12*\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFileH\x00\x88\x01\x01\x42\x0e\n\x0c_upload_file\"H\n\x18\x42\x61tchDownloadUrlResponse\x12,\n\rdownload_urls\x18\x01 \x03(\x0b\x32\x15.file.DownloadUrlInfo\"`\n\x0f\x44ownloadUrlInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x12\n\x05\x65rror\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"7\n\x11GetGcsUrlResponse\x12\x0f\n\x07gcs_url\x18\x01 \x01(\t\x12\x11\n\tmime_type\x18\x02 \x01(\t\"<\n\x16\x42\x61tchGetGcsUrlResponse\x12\"\n\x08gcs_urls\x18\x01 \x03(\x0b\x32\x10.file.GcsUrlInfo\"_\n\nGcsUrlInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x0f\n\x07gcs_url\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x12\n\x05\x65rror\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"+\n\x18\x43ompressionStatusRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"\x84\x01\n\x19\x43ompressionStatusResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x1a\n\rerror_message\x18\x02 \x01(\tH\x00\x88\x01\x01\x12)\n\x08variants\x18\x03 \x03(\x0b\x32\x17.file.CompressedVariantB\x10\n\x0e_error_message\"Q\n\x12GetVariantsRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x19\n\x0cvariant_type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_variant_type\"@\n\x13GetVariantsResponse\x12)\n\x08variants\x18\x01 \x03(\x0b\x32\x17.file.CompressedVariant\"\xc7\x02\n\x11\x43ompressedVariant\x12\x14\n\x0cvariant_name\x18\x01 \x01(\t\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x12\n\nmedia_type\x18\x03 \x01(\t\x12\r\n\x05width\x18\x04 \x01(\x05\x12\x0e\n\x06height\x18\x05 \x01(\x05\x12\x11\n\tfile_size\x18\x06 \x01(\x03\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\t\x12\x14\n\x07quality\x18\x08 \x01(\x05H\x00\x88\x01\x01\x12\x15\n\x08\x64uration\x18\t \x01(\x01H\x01\x88\x01\x01\x12\x14\n\x07\x62itrate\x18\n \x01(\x03H\x02\x88\x01\x01\x12\x10\n\x03\x66ps\x18\x0b \x01(\x05H\x03\x88\x01\x01\x12\x19\n\x11\x63ompression_ratio\x18\x0c \x01(\x01\x12\x13\n\x0bstored_path\x18\r \x01(\tB\n\n\x08_qualityB\x0b\n\t_durationB\n\n\x08_bitrateB\x06\n\x04_fps\"Y\n\x14RecompressionRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x1c\n\x0f\x66orce_reprocess\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x12\n\x10_force_reprocess\"8\n\x15RecompressionResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\"\x92\x01\n\x19VariantDownloadUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x14\n\x0cvariant_name\x18\x02 \x01(\t\x12\x1b\n\x0e\x65xpire_seconds\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x13\n\x06is_cdn\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x11\n\x0f_expire_secondsB\t\n\x07_is_cdn\"\x8c\x01\n\x1aVariantDownloadUrlResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x32\n\x0cvariant_info\x18\x03 \x01(\x0b\x32\x17.file.CompressedVariantH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0f\n\r_variant_info\"\x82\x01\n\x16\x42\x61tchFileStatusRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\x12\x16\n\tcache_key\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0finclude_details\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_cache_keyB\x12\n\x10_include_details\"\x95\x01\n\x17\x42\x61tchFileStatusResponse\x12&\n\x08statuses\x18\x01 \x03(\x0b\x32\x14.file.FileStatusInfo\x12\x16\n\tcache_key\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x19\n\x11\x63\x61\x63he_ttl_seconds\x18\x04 \x01(\x05\x42\x0c\n\n_cache_key\"\x9d\x02\n\x0e\x46ileStatusInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12-\n\rupload_status\x18\x02 \x01(\x0e\x32\x16.file.FileUploadStatus\x12\x37\n\x12\x63ompression_status\x18\x03 \x01(\x0e\x32\x1b.file.FileCompressionStatus\x12)\n\x0bsync_status\x18\x04 \x01(\x0e\x32\x14.file.FileSyncStatus\x12-\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x17.file.FileStatusDetailsH\x00\x88\x01\x01\x12\x1a\n\rerror_message\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_detailsB\x10\n\x0e_error_message\"\xe9\x03\n\x11\x46ileStatusDetails\x12\x16\n\tfile_size\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x19\n\x0cstorage_type\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0estorage_region\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13\x63ompression_task_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\'\n\x1a\x63ompression_variants_count\x18\x05 \x01(\x05H\x04\x88\x01\x01\x12!\n\x14\x63ompression_progress\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x1f\n\x12sync_regions_total\x18\x07 \x01(\x05H\x06\x88\x01\x01\x12#\n\x16sync_regions_completed\x18\x08 \x01(\x05H\x07\x88\x01\x01\x12\x1c\n\x14sync_pending_regions\x18\t \x03(\tB\x0c\n\n_file_sizeB\x0f\n\r_storage_typeB\x11\n\x0f_storage_regionB\x16\n\x14_compression_task_idB\x1d\n\x1b_compression_variants_countB\x17\n\x15_compression_progressB\x15\n\x13_sync_regions_totalB\x19\n\x17_sync_regions_completed\"\x07\n\x05\x45mpty*z\n\x10\x46ileUploadStatus\x12\x12\n\x0eUPLOAD_UNKNOWN\x10\x00\x12\x12\n\x0eUPLOAD_PENDING\x10\x01\x12\x15\n\x11UPLOAD_PROCESSING\x10\x02\x12\x14\n\x10UPLOAD_COMPLETED\x10\x03\x12\x11\n\rUPLOAD_FAILED\x10\x04*\xd1\x01\n\x15\x46ileCompressionStatus\x12\x17\n\x13\x43OMPRESSION_UNKNOWN\x10\x00\x12\x1e\n\x1a\x43OMPRESSION_NOT_APPLICABLE\x10\x01\x12\x17\n\x13\x43OMPRESSION_PENDING\x10\x02\x12\x1a\n\x16\x43OMPRESSION_PROCESSING\x10\x03\x12\x19\n\x15\x43OMPRESSION_COMPLETED\x10\x04\x12\x16\n\x12\x43OMPRESSION_FAILED\x10\x05\x12\x17\n\x13\x43OMPRESSION_SKIPPED\x10\x06*\x97\x01\n\x0e\x46ileSyncStatus\x12\x10\n\x0cSYNC_UNKNOWN\x10\x00\x12\x15\n\x11SYNC_NOT_REQUIRED\x10\x01\x12\x10\n\x0cSYNC_PENDING\x10\x02\x12\x13\n\x0fSYNC_PROCESSING\x10\x03\x12\x10\n\x0cSYNC_PARTIAL\x10\x04\x12\x12\n\x0eSYNC_COMPLETED\x10\x05\x12\x0f\n\x0bSYNC_FAILED\x10\x06\x32\xda\n\n\x0b\x46ileService\x12?\n\nUploadFile\x12\x17.file.UploadFileRequest\x1a\x18.file.UploadFileResponse\x12\x44\n\x11GenerateUploadUrl\x12\x16.file.UploadUrlRequest\x1a\x17.file.UploadUrlResponse\x12M\n\x1aGenerateResumableUploadUrl\x12\x16.file.UploadUrlRequest\x1a\x17.file.UploadUrlResponse\x12\x43\n\x16\x43onfirmUploadCompleted\x12\x1c.file.UploadCompletedRequest\x1a\x0b.file.Empty\x12J\n\x13GenerateDownloadUrl\x12\x18.file.DownloadUrlRequest\x1a\x19.file.DownloadUrlResponse\x12Y\n\x18\x42\x61tchGenerateDownloadUrl\x12\x1d.file.BatchDownloadUrlRequest\x1a\x1e.file.BatchDownloadUrlResponse\x12<\n\tGetGcsUrl\x12\x16.file.GetGcsUrlRequest\x1a\x17.file.GetGcsUrlResponse\x12K\n\x0e\x42\x61tchGetGcsUrl\x12\x1b.file.BatchGetGcsUrlRequest\x1a\x1c.file.BatchGetGcsUrlResponse\x12\x44\n\x11GenerateShareLink\x12\x16.file.ShareLinkRequest\x1a\x17.file.ShareLinkResponse\x12\x30\n\tVisitFile\x12\x16.file.FileVisitRequest\x1a\x0b.file.Empty\x12\x36\n\x07GetFile\x12\x14.file.GetFileRequest\x1a\x15.file.GetFileResponse\x12\x31\n\nRenameFile\x12\x17.file.RenameFileRequest\x1a\n.file.File\x12\x32\n\nDeleteFile\x12\x17.file.DeleteFileRequest\x1a\x0b.file.Empty\x12;\n\tListFiles\x12\x16.file.ListFilesRequest\x1a\x16.file.FileListResponse\x12W\n\x14GetCompressionStatus\x12\x1e.file.CompressionStatusRequest\x1a\x1f.file.CompressionStatusResponse\x12L\n\x15GetCompressedVariants\x12\x18.file.GetVariantsRequest\x1a\x19.file.GetVariantsResponse\x12O\n\x14TriggerRecompression\x12\x1a.file.RecompressionRequest\x1a\x1b.file.RecompressionResponse\x12_\n\x1aGenerateVariantDownloadUrl\x12\x1f.file.VariantDownloadUrlRequest\x1a .file.VariantDownloadUrlResponse\x12Q\n\x12\x42\x61tchGetFileStatus\x12\x1c.file.BatchFileStatusRequest\x1a\x1d.file.BatchFileStatusResponseb\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12\x66ile_service.proto\x12\x04\x66ile\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xab\x01\n\x04\x46ile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x11\n\tfile_type\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb7\x02\n\nUploadFile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x03 \x01(\t\x12\x14\n\x0cstorage_type\x18\x04 \x01(\t\x12\x13\n\x0bstored_name\x18\x05 \x01(\t\x12\x13\n\x0bstored_path\x18\x06 \x01(\t\x12\x11\n\tfile_name\x18\x07 \x01(\t\x12\x11\n\tfile_size\x18\x08 \x01(\x03\x12\x10\n\x08\x66ile_ext\x18\t \x01(\t\x12\x11\n\tmime_type\x18\n \x01(\t\x12\x0e\n\x06status\x18\x0b \x01(\t\x12.\n\ncreated_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9f\x02\n\x11UploadFileRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x11\n\tfile_type\x18\x04 \x01(\t\x12\x11\n\tmime_type\x18\x05 \x01(\t\x12\x19\n\x0cis_temporary\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x07 \x01(\x05H\x02\x88\x01\x01\x12#\n\x16keep_original_filename\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\x0c\n\n_folder_idB\x0f\n\r_is_temporaryB\x11\n\x0f_expire_secondsB\x19\n\x17_keep_original_filename\"\xb3\x02\n\x10UploadUrlRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x11\n\tfile_type\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x11\n\tfile_size\x18\x05 \x01(\x03\x12\x11\n\tfile_hash\x18\x06 \x01(\t\x12\x19\n\x0cis_temporary\x18\x07 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x08 \x01(\x05H\x02\x88\x01\x01\x12#\n\x16keep_original_filename\x18\t \x01(\x08H\x03\x88\x01\x01\x42\x0c\n\n_folder_idB\x0f\n\r_is_temporaryB\x11\n\x0f_expire_secondsB\x19\n\x17_keep_original_filename\")\n\x16UploadCompletedRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"u\n\x12\x44ownloadUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x13\n\x06is_cdn\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\t\n\x07_is_cdnB\x11\n\x0f_expire_seconds\"\xd4\x01\n\x10ShareLinkRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\tis_public\x18\x02 \x01(\x08\x12\x14\n\x0c\x61\x63\x63\x65ss_scope\x18\x03 \x01(\t\x12\x1b\n\x0e\x65xpire_seconds\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x17\n\nmax_access\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\x1b\n\x0eshare_password\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x11\n\x0f_expire_secondsB\r\n\x0b_max_accessB\x11\n\x0f_share_password\"\x82\x01\n\x10\x46ileVisitRequest\x12\x15\n\rfile_share_id\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63\x65ss_type\x18\x02 \x01(\t\x12\x17\n\x0f\x61\x63\x63\x65ss_duration\x18\x03 \x01(\x05\x12)\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"!\n\x0eGetFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"6\n\x11RenameFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"$\n\x11\x44\x65leteFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"\x8d\x02\n\x10ListFilesRequest\x12\x16\n\tfolder_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tfile_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\tfile_type\x18\x03 \x03(\t\x12\x1c\n\x0f\x63reated_by_role\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x17\n\ncreated_by\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpage_size\x18\x06 \x01(\x05H\x04\x88\x01\x01\x12\x11\n\x04page\x18\x07 \x01(\x05H\x05\x88\x01\x01\x42\x0c\n\n_folder_idB\x0c\n\n_file_nameB\x12\n\x10_created_by_roleB\r\n\x0b_created_byB\x0c\n\n_page_sizeB\x07\n\x05_page\"{\n\x17\x42\x61tchDownloadUrlRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\x12\x13\n\x06is_cdn\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x65xpire_seconds\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\t\n\x07_is_cdnB\x11\n\x0f_expire_seconds\"#\n\x10GetGcsUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\")\n\x15\x42\x61tchGetGcsUrlRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\"U\n\x12UploadFileResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12%\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFile\"a\n\x11UploadUrlResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12%\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFile\x12\x0b\n\x03url\x18\x03 \x01(\t\"\"\n\x13\x44ownloadUrlResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\"*\n\x11ShareLinkResponse\x12\x15\n\rfile_share_id\x18\x01 \x01(\t\"-\n\x10\x46ileListResponse\x12\x19\n\x05\x66iles\x18\x01 \x03(\x0b\x32\n.file.File\"g\n\x0fGetFileResponse\x12\x18\n\x04\x66ile\x18\x01 \x01(\x0b\x32\n.file.File\x12*\n\x0bupload_file\x18\x02 \x01(\x0b\x32\x10.file.UploadFileH\x00\x88\x01\x01\x42\x0e\n\x0c_upload_file\"H\n\x18\x42\x61tchDownloadUrlResponse\x12,\n\rdownload_urls\x18\x01 \x03(\x0b\x32\x15.file.DownloadUrlInfo\"`\n\x0f\x44ownloadUrlInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x12\n\x05\x65rror\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"7\n\x11GetGcsUrlResponse\x12\x0f\n\x07gcs_url\x18\x01 \x01(\t\x12\x11\n\tmime_type\x18\x02 \x01(\t\"<\n\x16\x42\x61tchGetGcsUrlResponse\x12\"\n\x08gcs_urls\x18\x01 \x03(\x0b\x32\x10.file.GcsUrlInfo\"_\n\nGcsUrlInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x0f\n\x07gcs_url\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x12\n\x05\x65rror\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"+\n\x18\x43ompressionStatusRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\"\x84\x01\n\x19\x43ompressionStatusResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x1a\n\rerror_message\x18\x02 \x01(\tH\x00\x88\x01\x01\x12)\n\x08variants\x18\x03 \x03(\x0b\x32\x17.file.CompressedVariantB\x10\n\x0e_error_message\"Q\n\x12GetVariantsRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x19\n\x0cvariant_type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_variant_type\"@\n\x13GetVariantsResponse\x12)\n\x08variants\x18\x01 \x03(\x0b\x32\x17.file.CompressedVariant\"\xc7\x02\n\x11\x43ompressedVariant\x12\x14\n\x0cvariant_name\x18\x01 \x01(\t\x12\x14\n\x0cvariant_type\x18\x02 \x01(\t\x12\x12\n\nmedia_type\x18\x03 \x01(\t\x12\r\n\x05width\x18\x04 \x01(\x05\x12\x0e\n\x06height\x18\x05 \x01(\x05\x12\x11\n\tfile_size\x18\x06 \x01(\x03\x12\x0e\n\x06\x66ormat\x18\x07 \x01(\t\x12\x14\n\x07quality\x18\x08 \x01(\x05H\x00\x88\x01\x01\x12\x15\n\x08\x64uration\x18\t \x01(\x01H\x01\x88\x01\x01\x12\x14\n\x07\x62itrate\x18\n \x01(\x03H\x02\x88\x01\x01\x12\x10\n\x03\x66ps\x18\x0b \x01(\x05H\x03\x88\x01\x01\x12\x19\n\x11\x63ompression_ratio\x18\x0c \x01(\x01\x12\x13\n\x0bstored_path\x18\r \x01(\tB\n\n\x08_qualityB\x0b\n\t_durationB\n\n\x08_bitrateB\x06\n\x04_fps\"Y\n\x14RecompressionRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x1c\n\x0f\x66orce_reprocess\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x12\n\x10_force_reprocess\"8\n\x15RecompressionResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\"\x92\x01\n\x19VariantDownloadUrlRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x14\n\x0cvariant_name\x18\x02 \x01(\t\x12\x1b\n\x0e\x65xpire_seconds\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x13\n\x06is_cdn\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x11\n\x0f_expire_secondsB\t\n\x07_is_cdn\"\x8c\x01\n\x1aVariantDownloadUrlResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x32\n\x0cvariant_info\x18\x03 \x01(\x0b\x32\x17.file.CompressedVariantH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0f\n\r_variant_info\"\\\n\x16\x42\x61tchFileStatusRequest\x12\x10\n\x08\x66ile_ids\x18\x01 \x03(\t\x12\x1c\n\x0finclude_details\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x12\n\x10_include_details\"m\n\x17\x42\x61tchFileStatusResponse\x12&\n\x08statuses\x18\x01 \x03(\x0b\x32\x14.file.FileStatusInfo\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x17\n\x0f\x63\x61\x63he_hit_count\x18\x03 \x01(\x05\"\x9d\x02\n\x0e\x46ileStatusInfo\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12-\n\rupload_status\x18\x02 \x01(\x0e\x32\x16.file.FileUploadStatus\x12\x37\n\x12\x63ompression_status\x18\x03 \x01(\x0e\x32\x1b.file.FileCompressionStatus\x12)\n\x0bsync_status\x18\x04 \x01(\x0e\x32\x14.file.FileSyncStatus\x12-\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x17.file.FileStatusDetailsH\x00\x88\x01\x01\x12\x1a\n\rerror_message\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_detailsB\x10\n\x0e_error_message\"\xe9\x03\n\x11\x46ileStatusDetails\x12\x16\n\tfile_size\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x19\n\x0cstorage_type\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0estorage_region\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13\x63ompression_task_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\'\n\x1a\x63ompression_variants_count\x18\x05 \x01(\x05H\x04\x88\x01\x01\x12!\n\x14\x63ompression_progress\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x1f\n\x12sync_regions_total\x18\x07 \x01(\x05H\x06\x88\x01\x01\x12#\n\x16sync_regions_completed\x18\x08 \x01(\x05H\x07\x88\x01\x01\x12\x1c\n\x14sync_pending_regions\x18\t \x03(\tB\x0c\n\n_file_sizeB\x0f\n\r_storage_typeB\x11\n\x0f_storage_regionB\x16\n\x14_compression_task_idB\x1d\n\x1b_compression_variants_countB\x17\n\x15_compression_progressB\x15\n\x13_sync_regions_totalB\x19\n\x17_sync_regions_completed\"\x07\n\x05\x45mpty*z\n\x10\x46ileUploadStatus\x12\x12\n\x0eUPLOAD_UNKNOWN\x10\x00\x12\x12\n\x0eUPLOAD_PENDING\x10\x01\x12\x15\n\x11UPLOAD_PROCESSING\x10\x02\x12\x14\n\x10UPLOAD_COMPLETED\x10\x03\x12\x11\n\rUPLOAD_FAILED\x10\x04*\xd1\x01\n\x15\x46ileCompressionStatus\x12\x17\n\x13\x43OMPRESSION_UNKNOWN\x10\x00\x12\x1e\n\x1a\x43OMPRESSION_NOT_APPLICABLE\x10\x01\x12\x17\n\x13\x43OMPRESSION_PENDING\x10\x02\x12\x1a\n\x16\x43OMPRESSION_PROCESSING\x10\x03\x12\x19\n\x15\x43OMPRESSION_COMPLETED\x10\x04\x12\x16\n\x12\x43OMPRESSION_FAILED\x10\x05\x12\x17\n\x13\x43OMPRESSION_SKIPPED\x10\x06*\x97\x01\n\x0e\x46ileSyncStatus\x12\x10\n\x0cSYNC_UNKNOWN\x10\x00\x12\x15\n\x11SYNC_NOT_REQUIRED\x10\x01\x12\x10\n\x0cSYNC_PENDING\x10\x02\x12\x13\n\x0fSYNC_PROCESSING\x10\x03\x12\x10\n\x0cSYNC_PARTIAL\x10\x04\x12\x12\n\x0eSYNC_COMPLETED\x10\x05\x12\x0f\n\x0bSYNC_FAILED\x10\x06\x32\xda\n\n\x0b\x46ileService\x12?\n\nUploadFile\x12\x17.file.UploadFileRequest\x1a\x18.file.UploadFileResponse\x12\x44\n\x11GenerateUploadUrl\x12\x16.file.UploadUrlRequest\x1a\x17.file.UploadUrlResponse\x12M\n\x1aGenerateResumableUploadUrl\x12\x16.file.UploadUrlRequest\x1a\x17.file.UploadUrlResponse\x12\x43\n\x16\x43onfirmUploadCompleted\x12\x1c.file.UploadCompletedRequest\x1a\x0b.file.Empty\x12J\n\x13GenerateDownloadUrl\x12\x18.file.DownloadUrlRequest\x1a\x19.file.DownloadUrlResponse\x12Y\n\x18\x42\x61tchGenerateDownloadUrl\x12\x1d.file.BatchDownloadUrlRequest\x1a\x1e.file.BatchDownloadUrlResponse\x12<\n\tGetGcsUrl\x12\x16.file.GetGcsUrlRequest\x1a\x17.file.GetGcsUrlResponse\x12K\n\x0e\x42\x61tchGetGcsUrl\x12\x1b.file.BatchGetGcsUrlRequest\x1a\x1c.file.BatchGetGcsUrlResponse\x12\x44\n\x11GenerateShareLink\x12\x16.file.ShareLinkRequest\x1a\x17.file.ShareLinkResponse\x12\x30\n\tVisitFile\x12\x16.file.FileVisitRequest\x1a\x0b.file.Empty\x12\x36\n\x07GetFile\x12\x14.file.GetFileRequest\x1a\x15.file.GetFileResponse\x12\x31\n\nRenameFile\x12\x17.file.RenameFileRequest\x1a\n.file.File\x12\x32\n\nDeleteFile\x12\x17.file.DeleteFileRequest\x1a\x0b.file.Empty\x12;\n\tListFiles\x12\x16.file.ListFilesRequest\x1a\x16.file.FileListResponse\x12W\n\x14GetCompressionStatus\x12\x1e.file.CompressionStatusRequest\x1a\x1f.file.CompressionStatusResponse\x12L\n\x15GetCompressedVariants\x12\x18.file.GetVariantsRequest\x1a\x19.file.GetVariantsResponse\x12O\n\x14TriggerRecompression\x12\x1a.file.RecompressionRequest\x1a\x1b.file.RecompressionResponse\x12_\n\x1aGenerateVariantDownloadUrl\x12\x1f.file.VariantDownloadUrlRequest\x1a .file.VariantDownloadUrlResponse\x12Q\n\x12\x42\x61tchGetFileStatus\x12\x1c.file.BatchFileStatusRequest\x1a\x1d.file.BatchFileStatusResponseb\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
33
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'file_service_pb2', _globals)
34
34
  if not _descriptor._USE_C_DESCRIPTORS:
35
35
  DESCRIPTOR._loaded_options = None
36
- _globals['_FILEUPLOADSTATUS']._serialized_start=5275
37
- _globals['_FILEUPLOADSTATUS']._serialized_end=5397
38
- _globals['_FILECOMPRESSIONSTATUS']._serialized_start=5400
39
- _globals['_FILECOMPRESSIONSTATUS']._serialized_end=5609
40
- _globals['_FILESYNCSTATUS']._serialized_start=5612
41
- _globals['_FILESYNCSTATUS']._serialized_end=5763
36
+ _globals['_FILEUPLOADSTATUS']._serialized_start=5195
37
+ _globals['_FILEUPLOADSTATUS']._serialized_end=5317
38
+ _globals['_FILECOMPRESSIONSTATUS']._serialized_start=5320
39
+ _globals['_FILECOMPRESSIONSTATUS']._serialized_end=5529
40
+ _globals['_FILESYNCSTATUS']._serialized_start=5532
41
+ _globals['_FILESYNCSTATUS']._serialized_end=5683
42
42
  _globals['_FILE']._serialized_start=92
43
43
  _globals['_FILE']._serialized_end=263
44
44
  _globals['_UPLOADFILE']._serialized_start=266
@@ -109,16 +109,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
109
109
  _globals['_VARIANTDOWNLOADURLREQUEST']._serialized_end=4056
110
110
  _globals['_VARIANTDOWNLOADURLRESPONSE']._serialized_start=4059
111
111
  _globals['_VARIANTDOWNLOADURLRESPONSE']._serialized_end=4199
112
- _globals['_BATCHFILESTATUSREQUEST']._serialized_start=4202
113
- _globals['_BATCHFILESTATUSREQUEST']._serialized_end=4332
114
- _globals['_BATCHFILESTATUSRESPONSE']._serialized_start=4335
115
- _globals['_BATCHFILESTATUSRESPONSE']._serialized_end=4484
116
- _globals['_FILESTATUSINFO']._serialized_start=4487
117
- _globals['_FILESTATUSINFO']._serialized_end=4772
118
- _globals['_FILESTATUSDETAILS']._serialized_start=4775
119
- _globals['_FILESTATUSDETAILS']._serialized_end=5264
120
- _globals['_EMPTY']._serialized_start=5266
121
- _globals['_EMPTY']._serialized_end=5273
122
- _globals['_FILESERVICE']._serialized_start=5766
123
- _globals['_FILESERVICE']._serialized_end=7136
112
+ _globals['_BATCHFILESTATUSREQUEST']._serialized_start=4201
113
+ _globals['_BATCHFILESTATUSREQUEST']._serialized_end=4293
114
+ _globals['_BATCHFILESTATUSRESPONSE']._serialized_start=4295
115
+ _globals['_BATCHFILESTATUSRESPONSE']._serialized_end=4404
116
+ _globals['_FILESTATUSINFO']._serialized_start=4407
117
+ _globals['_FILESTATUSINFO']._serialized_end=4692
118
+ _globals['_FILESTATUSDETAILS']._serialized_start=4695
119
+ _globals['_FILESTATUSDETAILS']._serialized_end=5184
120
+ _globals['_EMPTY']._serialized_start=5186
121
+ _globals['_EMPTY']._serialized_end=5193
122
+ _globals['_FILESERVICE']._serialized_start=5686
123
+ _globals['_FILESERVICE']._serialized_end=7056
124
124
  # @@protoc_insertion_point(module_scope)
@@ -269,15 +269,13 @@ message VariantDownloadUrlResponse {
269
269
 
270
270
  message BatchFileStatusRequest {
271
271
  repeated string file_ids = 1; // 批量查询的文件ID列表(最多100个)
272
- optional string cache_key = 2; // 客户端缓存标识
273
- optional bool include_details = 3; // 是否返回详细信息,默认false
272
+ optional bool include_details = 2; // 是否返回详细信息,默认false
274
273
  }
275
274
 
276
275
  message BatchFileStatusResponse {
277
- repeated FileStatusInfo statuses = 1; // 文件状态信息
278
- optional string cache_key = 2; // 服务端缓存标识
279
- int64 timestamp = 3; // 缓存时间戳
280
- int32 cache_ttl_seconds = 4; // 缓存TTL秒数
276
+ repeated FileStatusInfo statuses = 1; // 文件状态信息(FileStatusInfo.file_id关联请求的file_id)
277
+ int64 timestamp = 2; // 查询时间戳
278
+ int32 cache_hit_count = 3; // 缓存命中数量(用于性能监控)
281
279
  }
282
280
 
283
281
  message FileStatusInfo {
@@ -231,6 +231,5 @@ class FileStatusInfo(BaseModel):
231
231
  class BatchFileStatusResponse(BaseModel):
232
232
  """批量文件状态响应"""
233
233
  statuses: List[FileStatusInfo] = Field(default_factory=list, description="文件状态列表")
234
- cache_key: Optional[str] = Field(None, description="缓存键")
235
- timestamp: int = Field(..., description="时间戳")
236
- cache_ttl_seconds: int = Field(..., description="缓存TTL(秒)")
234
+ timestamp: int = Field(..., description="查询时间戳")
235
+ cache_hit_count: int = Field(..., description="缓存命中数量(用于性能监控)")
@@ -997,20 +997,18 @@ class AsyncBlobService(BaseFileService):
997
997
  )
998
998
 
999
999
  async def batch_get_file_status(
1000
- self,
1001
- file_ids: List[str],
1002
- *,
1003
- cache_key: Optional[str] = None,
1004
- include_details: Optional[bool] = False,
1005
- request_id: Optional[str] = None,
1006
- **metadata
1000
+ self,
1001
+ file_ids: List[str],
1002
+ *,
1003
+ include_details: Optional[bool] = False,
1004
+ request_id: Optional[str] = None,
1005
+ **metadata
1007
1006
  ) -> BatchFileStatusResponse:
1008
1007
  """
1009
1008
  批量获取文件状态(异步版本)
1010
1009
 
1011
1010
  Args:
1012
- file_ids: 文件ID列表
1013
- cache_key: 缓存键(可选)
1011
+ file_ids: 文件ID列表(最多100个)
1014
1012
  include_details: 是否包含详细状态信息(默认False)
1015
1013
  request_id: 请求ID,用于追踪
1016
1014
  **metadata: 额外的gRPC元数据
@@ -1027,9 +1025,6 @@ class AsyncBlobService(BaseFileService):
1027
1025
  include_details=include_details if include_details is not None else False
1028
1026
  )
1029
1027
 
1030
- if cache_key:
1031
- request.cache_key = cache_key
1032
-
1033
1028
  # 构建元数据
1034
1029
  grpc_metadata = self.client.build_metadata(request_id=request_id, **metadata)
1035
1030
 
@@ -1069,9 +1064,8 @@ class AsyncBlobService(BaseFileService):
1069
1064
 
1070
1065
  return BatchFileStatusResponse(
1071
1066
  statuses=statuses,
1072
- cache_key=response.cache_key if response.HasField('cache_key') else None,
1073
1067
  timestamp=response.timestamp,
1074
- cache_ttl_seconds=response.cache_ttl_seconds
1068
+ cache_hit_count=response.cache_hit_count
1075
1069
  )
1076
1070
 
1077
1071
  def _convert_upload_status(self, proto_status: int) -> FileUploadStatus:
@@ -995,20 +995,18 @@ class SyncBlobService(BaseFileService):
995
995
  )
996
996
 
997
997
  def batch_get_file_status(
998
- self,
999
- file_ids: List[str],
1000
- *,
1001
- cache_key: Optional[str] = None,
1002
- include_details: Optional[bool] = False,
1003
- request_id: Optional[str] = None,
1004
- **metadata
998
+ self,
999
+ file_ids: List[str],
1000
+ *,
1001
+ include_details: Optional[bool] = False,
1002
+ request_id: Optional[str] = None,
1003
+ **metadata
1005
1004
  ) -> BatchFileStatusResponse:
1006
1005
  """
1007
1006
  批量获取文件状态
1008
1007
 
1009
1008
  Args:
1010
- file_ids: 文件ID列表
1011
- cache_key: 缓存键(可选)
1009
+ file_ids: 文件ID列表(最多100个)
1012
1010
  include_details: 是否包含详细状态信息(默认False)
1013
1011
  request_id: 请求ID,用于追踪
1014
1012
  **metadata: 额外的gRPC元数据
@@ -1025,9 +1023,6 @@ class SyncBlobService(BaseFileService):
1025
1023
  include_details=include_details if include_details is not None else False
1026
1024
  )
1027
1025
 
1028
- if cache_key:
1029
- request.cache_key = cache_key
1030
-
1031
1026
  # 构建元数据
1032
1027
  grpc_metadata = self.client.build_metadata(request_id=request_id, **metadata)
1033
1028
 
@@ -1067,9 +1062,8 @@ class SyncBlobService(BaseFileService):
1067
1062
 
1068
1063
  return BatchFileStatusResponse(
1069
1064
  statuses=statuses,
1070
- cache_key=response.cache_key if response.HasField('cache_key') else None,
1071
1065
  timestamp=response.timestamp,
1072
- cache_ttl_seconds=response.cache_ttl_seconds
1066
+ cache_hit_count=response.cache_hit_count
1073
1067
  )
1074
1068
 
1075
1069
  def _convert_upload_status(self, proto_status: int) -> FileUploadStatus:
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="tamar-file-hub-client",
5
- version="0.1.8",
5
+ version="0.1.9",
6
6
  description="A Python SDK for gRPC-based file management system",
7
7
  long_description=open("README.md", encoding="utf-8").read(),
8
8
  long_description_content_type="text/markdown",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tamar-file-hub-client
3
- Version: 0.1.8
3
+ Version: 0.1.9
4
4
  Summary: A Python SDK for gRPC-based file management system
5
5
  Home-page: https://github.com/Tamar-Edge-AI/file-hub-client
6
6
  Author: Oscar Ou