storage.dart 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import 'dart:core';
  2. import 'package:fis_jsonrpc/client_base.dart';
  3. import 'package:fis_common/json_convert.dart';
  4. import 'storage.m.dart';
  5. class StorageService extends JsonRpcClientBase {
  6. StorageService(
  7. String host, {
  8. String serviceName = "IStorageService",
  9. Map<String, String>? headers,
  10. int? timeout,
  11. }) : super(
  12. host,
  13. serviceName,
  14. headers: headers,
  15. timeout: timeout,
  16. ) {
  17. /// 注册响应实体反序列化处理器
  18. FJsonConvert.setDecoder((map) => StorageServiceSettingDTO.fromJson(map));
  19. }
  20. Future<bool> uploadFileAsync(StorageRequest request) async {
  21. var rpcRst = await call("UploadFileAsync", request);
  22. return rpcRst;
  23. }
  24. Future<StorageServiceSettingDTO> getAuthorizationAsync(FileServiceRequest request) async {
  25. var rpcRst = await call("GetAuthorizationAsync", request);
  26. var result = StorageServiceSettingDTO.fromJson(rpcRst as Map<String, dynamic>);
  27. return result;
  28. }
  29. Future<StorageServiceSettingDTO> getStorageTestUrlAsync(CheckStorageRequest request) async {
  30. var rpcRst = await call("GetStorageTestUrlAsync", request);
  31. var result = StorageServiceSettingDTO.fromJson(rpcRst as Map<String, dynamic>);
  32. return result;
  33. }
  34. Future<bool> checkFileIsExist(CheckFileIsExistRequest request) async {
  35. var rpcRst = await call("CheckFileIsExist", request);
  36. return rpcRst;
  37. }
  38. Future<List<String>> copyToOtherNodeAysnc(CopyToOtherNodeRequest request) async {
  39. var rpcRst = await call("CopyToOtherNodeAysnc", request);
  40. var result = (rpcRst as List).cast<String>().toList();
  41. return result;
  42. }
  43. Future<List<String>> uploadFileByServerConfigAsync(UploadFileTransferRequest request) async {
  44. var rpcRst = await call("UploadFileByServerConfigAsync", request);
  45. var result = (rpcRst as List).cast<String>().toList();
  46. return result;
  47. }
  48. }