files.com 1.1.767 → 1.1.769

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.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +47 -7
  4. data/_VERSION +1 -1
  5. data/docs/event_record.md +2 -2
  6. data/docs/event_subscription.md +8 -8
  7. data/docs/file.md +37 -0
  8. data/docs/public_key.md +1 -1
  9. data/lib/files.com/api.rb +9 -4
  10. data/lib/files.com/api_client.rb +181 -55
  11. data/lib/files.com/list.rb +98 -66
  12. data/lib/files.com/models/action_log.rb +2 -2
  13. data/lib/files.com/models/action_notification_export.rb +3 -3
  14. data/lib/files.com/models/action_notification_export_result.rb +2 -2
  15. data/lib/files.com/models/ai_assistant_personality.rb +10 -8
  16. data/lib/files.com/models/ai_task.rb +10 -8
  17. data/lib/files.com/models/api_key.rb +12 -10
  18. data/lib/files.com/models/api_request_log.rb +2 -2
  19. data/lib/files.com/models/app.rb +2 -2
  20. data/lib/files.com/models/as2_incoming_message.rb +2 -2
  21. data/lib/files.com/models/as2_outgoing_message.rb +2 -2
  22. data/lib/files.com/models/as2_partner.rb +10 -8
  23. data/lib/files.com/models/as2_station.rb +10 -8
  24. data/lib/files.com/models/automation.rb +12 -10
  25. data/lib/files.com/models/automation_log.rb +2 -2
  26. data/lib/files.com/models/automation_run.rb +6 -6
  27. data/lib/files.com/models/bandwidth_snapshot.rb +2 -2
  28. data/lib/files.com/models/behavior.rb +12 -10
  29. data/lib/files.com/models/bundle.rb +10 -8
  30. data/lib/files.com/models/bundle_action.rb +2 -2
  31. data/lib/files.com/models/bundle_download.rb +2 -2
  32. data/lib/files.com/models/bundle_notification.rb +10 -8
  33. data/lib/files.com/models/bundle_recipient.rb +4 -4
  34. data/lib/files.com/models/bundle_registration.rb +2 -2
  35. data/lib/files.com/models/chat_session.rb +3 -3
  36. data/lib/files.com/models/child_site_management_policy.rb +10 -8
  37. data/lib/files.com/models/clickwrap.rb +10 -8
  38. data/lib/files.com/models/custom_domain.rb +11 -9
  39. data/lib/files.com/models/desktop_configuration_profile.rb +10 -8
  40. data/lib/files.com/models/dns_record.rb +2 -2
  41. data/lib/files.com/models/email_incoming_message.rb +2 -2
  42. data/lib/files.com/models/email_log.rb +2 -2
  43. data/lib/files.com/models/event_channel.rb +10 -8
  44. data/lib/files.com/models/event_delivery_attempt.rb +3 -3
  45. data/lib/files.com/models/event_record.rb +4 -4
  46. data/lib/files.com/models/event_subscription.rb +14 -12
  47. data/lib/files.com/models/event_target.rb +10 -8
  48. data/lib/files.com/models/exavault_api_request_log.rb +2 -2
  49. data/lib/files.com/models/expectation.rb +11 -9
  50. data/lib/files.com/models/expectation_evaluation.rb +3 -3
  51. data/lib/files.com/models/expectation_incident.rb +6 -6
  52. data/lib/files.com/models/external_event.rb +5 -5
  53. data/lib/files.com/models/file.rb +23 -15
  54. data/lib/files.com/models/file_comment.rb +9 -7
  55. data/lib/files.com/models/file_comment_reaction.rb +2 -2
  56. data/lib/files.com/models/file_migration.rb +1 -1
  57. data/lib/files.com/models/file_migration_log.rb +2 -2
  58. data/lib/files.com/models/folder.rb +3 -3
  59. data/lib/files.com/models/form_field_set.rb +10 -8
  60. data/lib/files.com/models/ftp_action_log.rb +2 -2
  61. data/lib/files.com/models/gpg_key.rb +10 -8
  62. data/lib/files.com/models/group.rb +10 -8
  63. data/lib/files.com/models/group_user.rb +9 -7
  64. data/lib/files.com/models/history.rb +10 -10
  65. data/lib/files.com/models/history_export.rb +3 -3
  66. data/lib/files.com/models/history_export_result.rb +2 -2
  67. data/lib/files.com/models/holiday_calendar.rb +10 -8
  68. data/lib/files.com/models/holiday_region.rb +2 -2
  69. data/lib/files.com/models/inbound_s3_log.rb +2 -2
  70. data/lib/files.com/models/inbox_recipient.rb +4 -4
  71. data/lib/files.com/models/inbox_registration.rb +2 -2
  72. data/lib/files.com/models/inbox_upload.rb +2 -2
  73. data/lib/files.com/models/integration_centric_profile.rb +10 -8
  74. data/lib/files.com/models/invoice.rb +3 -3
  75. data/lib/files.com/models/ip_address.rb +8 -8
  76. data/lib/files.com/models/key_lifecycle_rule.rb +10 -8
  77. data/lib/files.com/models/lock.rb +3 -3
  78. data/lib/files.com/models/metadata_category.rb +12 -10
  79. data/lib/files.com/models/notification.rb +10 -8
  80. data/lib/files.com/models/outbound_connection_log.rb +2 -2
  81. data/lib/files.com/models/partner.rb +10 -8
  82. data/lib/files.com/models/partner_channel.rb +10 -8
  83. data/lib/files.com/models/partner_channel_template.rb +10 -8
  84. data/lib/files.com/models/partner_site_request.rb +4 -4
  85. data/lib/files.com/models/payment.rb +3 -3
  86. data/lib/files.com/models/pending_work_event.rb +3 -3
  87. data/lib/files.com/models/permission.rb +4 -4
  88. data/lib/files.com/models/public_hosting_request_log.rb +2 -2
  89. data/lib/files.com/models/public_key.rb +11 -9
  90. data/lib/files.com/models/remote_bandwidth_snapshot.rb +2 -2
  91. data/lib/files.com/models/remote_mount_backend.rb +10 -8
  92. data/lib/files.com/models/remote_server.rb +13 -11
  93. data/lib/files.com/models/remote_server_credential.rb +10 -8
  94. data/lib/files.com/models/request.rb +6 -6
  95. data/lib/files.com/models/restore.rb +4 -4
  96. data/lib/files.com/models/schedule.rb +10 -8
  97. data/lib/files.com/models/scheduled_export.rb +10 -8
  98. data/lib/files.com/models/scim_log.rb +3 -3
  99. data/lib/files.com/models/secret.rb +10 -8
  100. data/lib/files.com/models/session.rb +2 -2
  101. data/lib/files.com/models/settings_change.rb +2 -2
  102. data/lib/files.com/models/sftp_action_log.rb +2 -2
  103. data/lib/files.com/models/sftp_host_key.rb +10 -8
  104. data/lib/files.com/models/share_group.rb +10 -8
  105. data/lib/files.com/models/siem_http_destination.rb +10 -8
  106. data/lib/files.com/models/siem_http_destination_event.rb +3 -3
  107. data/lib/files.com/models/site.rb +3 -3
  108. data/lib/files.com/models/site_subdomain_redirect.rb +3 -3
  109. data/lib/files.com/models/snapshot.rb +10 -8
  110. data/lib/files.com/models/sso_event.rb +3 -3
  111. data/lib/files.com/models/sso_strategy.rb +3 -3
  112. data/lib/files.com/models/style.rb +6 -5
  113. data/lib/files.com/models/sync.rb +10 -8
  114. data/lib/files.com/models/sync_log.rb +2 -2
  115. data/lib/files.com/models/sync_run.rb +3 -3
  116. data/lib/files.com/models/usage_daily_snapshot.rb +2 -2
  117. data/lib/files.com/models/usage_snapshot.rb +2 -2
  118. data/lib/files.com/models/user.rb +10 -8
  119. data/lib/files.com/models/user_additional_email_recipient.rb +10 -8
  120. data/lib/files.com/models/user_cipher_use.rb +2 -2
  121. data/lib/files.com/models/user_lifecycle_rule.rb +10 -8
  122. data/lib/files.com/models/user_request.rb +5 -5
  123. data/lib/files.com/models/user_security_event.rb +3 -3
  124. data/lib/files.com/models/user_sftp_client_use.rb +2 -2
  125. data/lib/files.com/models/web_dav_action_log.rb +2 -2
  126. data/lib/files.com/models/webhook_test.rb +2 -2
  127. data/lib/files.com/models/workspace.rb +10 -8
  128. data/lib/files.com/response.rb +24 -0
  129. data/lib/files.com/sizable_io.rb +65 -4
  130. data/lib/files.com/version.rb +1 -1
  131. data/lib/files.com.rb +23 -1
  132. data/spec/language_spec.rb +20 -10
  133. data/spec/lib/api_client_spec.rb +173 -18
  134. data/spec/list_spec.rb +203 -187
  135. data/spec/models/file_transfer_spec.rb +346 -0
  136. data/spec/models/persistence_spec.rb +167 -0
  137. data/spec/spec_helper.rb +122 -6
  138. data/spec/support/stubbed_api.rb +14 -0
  139. data/spec/support/transfer_server.rb +60 -0
  140. metadata +5 -1
@@ -218,7 +218,7 @@ module Files
218
218
 
219
219
  create(destination, params, options)
220
220
  ensure
221
- local_file.close
221
+ local_file&.close
222
222
  end
223
223
 
224
224
  def self.write(*_args)
@@ -455,10 +455,16 @@ module Files
455
455
  r, w = SizableIO.pipe
456
456
  Thread.new do
457
457
  download_content(w, **options)
458
+ rescue StandardError => e
459
+ # The reader raises this instead of seeing a clean end of file, even when the download never started.
460
+ w.do_set_error(e)
458
461
  ensure
459
462
  w.close
460
463
  end
461
464
  r.wait!(5)
465
+ rescue StandardError
466
+ r&.close
467
+ raise
462
468
  end
463
469
  end
464
470
 
@@ -1103,7 +1109,9 @@ module Files
1103
1109
  raise InvalidParameterError.new("Bad parameter: priority_color must be an String") if params[:priority_color] and !params[:priority_color].is_a?(String)
1104
1110
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1105
1111
 
1106
- Api.send_request("/files/#{@attributes[:path]}", :patch, params, @options)
1112
+ response, options = Api.send_request("/files/#{@attributes[:path]}", :patch, params, @options) { |reply| reply.require_object("File") }
1113
+ @attributes = response.data
1114
+ [ response, options ]
1107
1115
  end
1108
1116
 
1109
1117
  # Parameters:
@@ -1314,7 +1322,7 @@ module Files
1314
1322
  raise InvalidParameterError.new("Bad parameter: preview_size must be an String") if params[:preview_size] and !params[:preview_size].is_a?(String)
1315
1323
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1316
1324
 
1317
- response, options = Api.send_request("/files/#{params[:path]}", :get, params, options)
1325
+ response, options = Api.send_request("/files/#{params[:path]}", :get, params, options) { |reply| reply.require_object("File") }
1318
1326
  File.new(response.data, options)
1319
1327
  end
1320
1328
 
@@ -1353,7 +1361,7 @@ module Files
1353
1361
  raise InvalidParameterError.new("Bad parameter: structure must be an String") if params[:structure] and !params[:structure].is_a?(String)
1354
1362
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1355
1363
 
1356
- response, options = Api.send_request("/files/#{params[:path]}", :post, params, options)
1364
+ response, options = Api.send_request("/files/#{params[:path]}", :post, params, options) { |reply| reply.require_object("File") }
1357
1365
  File.new(response.data, options)
1358
1366
  end
1359
1367
 
@@ -1370,7 +1378,7 @@ module Files
1370
1378
  raise InvalidParameterError.new("Bad parameter: priority_color must be an String") if params[:priority_color] and !params[:priority_color].is_a?(String)
1371
1379
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1372
1380
 
1373
- response, options = Api.send_request("/files/#{params[:path]}", :patch, params, options)
1381
+ response, options = Api.send_request("/files/#{params[:path]}", :patch, params, options) { |reply| reply.require_object("File") }
1374
1382
  File.new(response.data, options)
1375
1383
  end
1376
1384
 
@@ -1403,7 +1411,7 @@ module Files
1403
1411
  raise InvalidParameterError.new("Bad parameter: preview_size must be an String") if params[:preview_size] and !params[:preview_size].is_a?(String)
1404
1412
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1405
1413
 
1406
- response, options = Api.send_request("/file_actions/metadata/#{params[:path]}", :get, params, options)
1414
+ response, options = Api.send_request("/file_actions/metadata/#{params[:path]}", :get, params, options) { |reply| reply.require_object("File") }
1407
1415
  File.new(response.data, options)
1408
1416
  end
1409
1417
 
@@ -1418,7 +1426,7 @@ module Files
1418
1426
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
1419
1427
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1420
1428
 
1421
- response, options = Api.send_request("/file_actions/zip_list/#{params[:path]}", :get, params, options)
1429
+ response, options = Api.send_request("/file_actions/zip_list/#{params[:path]}", :get, params, options) { |reply| reply.require_list("ZipListEntry") }
1422
1430
  response.data.map do |entity_data|
1423
1431
  ZipListEntry.new(entity_data, options)
1424
1432
  end
@@ -1439,7 +1447,7 @@ module Files
1439
1447
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1440
1448
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1441
1449
 
1442
- response, options = Api.send_request("/file_actions/copy/#{params[:path]}", :post, params, options)
1450
+ response, options = Api.send_request("/file_actions/copy/#{params[:path]}", :post, params, options) { |reply| reply.require_object("FileAction") }
1443
1451
  FileAction.new(response.data, options)
1444
1452
  end
1445
1453
 
@@ -1456,7 +1464,7 @@ module Files
1456
1464
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1457
1465
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1458
1466
 
1459
- response, options = Api.send_request("/file_actions/move/#{params[:path]}", :post, params, options)
1467
+ response, options = Api.send_request("/file_actions/move/#{params[:path]}", :post, params, options) { |reply| reply.require_object("FileAction") }
1460
1468
  FileAction.new(response.data, options)
1461
1469
  end
1462
1470
 
@@ -1485,7 +1493,7 @@ module Files
1485
1493
  raise MissingParameterError.new("Parameter missing: transform_type") unless params[:transform_type]
1486
1494
  raise MissingParameterError.new("Parameter missing: target_format") unless params[:target_format]
1487
1495
 
1488
- response, options = Api.send_request("/file_actions/transform/#{params[:path]}", :post, params, options)
1496
+ response, options = Api.send_request("/file_actions/transform/#{params[:path]}", :post, params, options) { |reply| reply.require_object("FileAction") }
1489
1497
  FileAction.new(response.data, options)
1490
1498
  end
1491
1499
 
@@ -1508,7 +1516,7 @@ module Files
1508
1516
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1509
1517
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1510
1518
 
1511
- response, options = Api.send_request("/file_actions/gpg_decrypt/#{params[:path]}", :post, params, options)
1519
+ response, options = Api.send_request("/file_actions/gpg_decrypt/#{params[:path]}", :post, params, options) { |reply| reply.require_object("FileAction") }
1512
1520
  FileAction.new(response.data, options)
1513
1521
  end
1514
1522
 
@@ -1532,7 +1540,7 @@ module Files
1532
1540
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1533
1541
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1534
1542
 
1535
- response, options = Api.send_request("/file_actions/gpg_encrypt/#{params[:path]}", :post, params, options)
1543
+ response, options = Api.send_request("/file_actions/gpg_encrypt/#{params[:path]}", :post, params, options) { |reply| reply.require_object("FileAction") }
1536
1544
  FileAction.new(response.data, options)
1537
1545
  end
1538
1546
 
@@ -1551,7 +1559,7 @@ module Files
1551
1559
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1552
1560
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1553
1561
 
1554
- response, options = Api.send_request("/file_actions/unzip", :post, params, options)
1562
+ response, options = Api.send_request("/file_actions/unzip", :post, params, options) { |reply| reply.require_object("FileAction") }
1555
1563
  FileAction.new(response.data, options)
1556
1564
  end
1557
1565
 
@@ -1565,7 +1573,7 @@ module Files
1565
1573
  raise MissingParameterError.new("Parameter missing: paths") unless params[:paths]
1566
1574
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
1567
1575
 
1568
- response, options = Api.send_request("/file_actions/zip", :post, params, options)
1576
+ response, options = Api.send_request("/file_actions/zip", :post, params, options) { |reply| reply.require_object("FileAction") }
1569
1577
  FileAction.new(response.data, options)
1570
1578
  end
1571
1579
 
@@ -1592,7 +1600,7 @@ module Files
1592
1600
  raise InvalidParameterError.new("Bad parameter: size must be an Integer") if params[:size] and !params[:size].is_a?(Integer)
1593
1601
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
1594
1602
 
1595
- response, options = Api.send_request("/file_actions/begin_upload/#{params[:path]}", :post, params, options)
1603
+ response, options = Api.send_request("/file_actions/begin_upload/#{params[:path]}", :post, params, options) { |reply| reply.require_list("FileUploadPart") }
1596
1604
  response.data.map do |entity_data|
1597
1605
  FileUploadPart.new(entity_data, options)
1598
1606
  end
@@ -56,7 +56,9 @@ module Files
56
56
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
57
57
  raise MissingParameterError.new("Parameter missing: body") unless params[:body]
58
58
 
59
- Api.send_request("/file_comments/#{@attributes[:id]}", :patch, params, @options)
59
+ response, options = Api.send_request("/file_comments/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("FileComment") }
60
+ @attributes = response.data
61
+ [ response, options ]
60
62
  end
61
63
 
62
64
  def delete(params = {})
@@ -76,12 +78,12 @@ module Files
76
78
 
77
79
  def save
78
80
  if @attributes[:id]
79
- new_obj = update(@attributes)
81
+ update(@attributes)
80
82
  else
81
83
  new_obj = FileComment.create(@attributes, @options)
84
+ @attributes = new_obj.attributes
82
85
  end
83
86
 
84
- @attributes = new_obj.attributes
85
87
  true
86
88
  end
87
89
 
@@ -97,8 +99,8 @@ module Files
97
99
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
98
100
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
99
101
 
100
- List.new(FileComment, params) do
101
- Api.send_request("/file_comments/files/#{params[:path]}", :get, params, options)
102
+ List.new(FileComment, params) do |page_params, &check_page|
103
+ Api.send_request("/file_comments/files/#{page_params[:path]}", :get, page_params, options, &check_page)
102
104
  end
103
105
  end
104
106
 
@@ -111,7 +113,7 @@ module Files
111
113
  raise MissingParameterError.new("Parameter missing: body") unless params[:body]
112
114
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
113
115
 
114
- response, options = Api.send_request("/file_comments", :post, params, options)
116
+ response, options = Api.send_request("/file_comments", :post, params, options) { |reply| reply.require_object("FileComment") }
115
117
  FileComment.new(response.data, options)
116
118
  end
117
119
 
@@ -125,7 +127,7 @@ module Files
125
127
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
126
128
  raise MissingParameterError.new("Parameter missing: body") unless params[:body]
127
129
 
128
- response, options = Api.send_request("/file_comments/#{params[:id]}", :patch, params, options)
130
+ response, options = Api.send_request("/file_comments/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("FileComment") }
129
131
  FileComment.new(response.data, options)
130
132
  end
131
133
 
@@ -65,9 +65,9 @@ module Files
65
65
  raise NotImplementedError.new("The FileCommentReaction object doesn't support updates.")
66
66
  else
67
67
  new_obj = FileCommentReaction.create(@attributes, @options)
68
+ @attributes = new_obj.attributes
68
69
  end
69
70
 
70
- @attributes = new_obj.attributes
71
71
  true
72
72
  end
73
73
 
@@ -82,7 +82,7 @@ module Files
82
82
  raise MissingParameterError.new("Parameter missing: file_comment_id") unless params[:file_comment_id]
83
83
  raise MissingParameterError.new("Parameter missing: emoji") unless params[:emoji]
84
84
 
85
- response, options = Api.send_request("/file_comment_reactions", :post, params, options)
85
+ response, options = Api.send_request("/file_comment_reactions", :post, params, options) { |reply| reply.require_object("FileCommentReaction") }
86
86
  FileCommentReaction.new(response.data, options)
87
87
  end
88
88
 
@@ -67,7 +67,7 @@ module Files
67
67
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
68
68
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
69
69
 
70
- response, options = Api.send_request("/file_migrations/#{params[:id]}", :get, params, options)
70
+ response, options = Api.send_request("/file_migrations/#{params[:id]}", :get, params, options) { |reply| reply.require_object("FileMigration") }
71
71
  FileMigration.new(response.data, options)
72
72
  end
73
73
 
@@ -71,8 +71,8 @@ module Files
71
71
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
72
72
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
73
73
 
74
- List.new(FileMigrationLog, params) do
75
- Api.send_request("/file_migration_logs", :get, params, options)
74
+ List.new(FileMigrationLog, params) do |page_params, &check_page|
75
+ Api.send_request("/file_migration_logs", :get, page_params, options, &check_page)
76
76
  end
77
77
  end
78
78
 
@@ -512,8 +512,8 @@ module Files
512
512
  raise InvalidParameterError.new("Bad parameter: modified_at_datetime must be an String") if params[:modified_at_datetime] and !params[:modified_at_datetime].is_a?(String)
513
513
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
514
514
 
515
- List.new(File, params) do
516
- Api.send_request("/folders/#{params[:path]}", :get, params, options)
515
+ List.new(File, params) do |page_params, &check_page|
516
+ Api.send_request("/folders/#{page_params[:path]}", :get, page_params, options, &check_page)
517
517
  end
518
518
  end
519
519
 
@@ -528,7 +528,7 @@ module Files
528
528
  raise InvalidParameterError.new("Bad parameter: provided_mtime must be an String") if params[:provided_mtime] and !params[:provided_mtime].is_a?(String)
529
529
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
530
530
 
531
- response, options = Api.send_request("/folders/#{params[:path]}", :post, params, options)
531
+ response, options = Api.send_request("/folders/#{params[:path]}", :post, params, options) { |reply| reply.require_object("File") }
532
532
  File.new(response.data, options)
533
533
  end
534
534
  end
@@ -116,7 +116,9 @@ module Files
116
116
  raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params[:form_fields] and !params[:form_fields].is_a?(Array)
117
117
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
118
118
 
119
- Api.send_request("/form_field_sets/#{@attributes[:id]}", :patch, params, @options)
119
+ response, options = Api.send_request("/form_field_sets/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("FormFieldSet") }
120
+ @attributes = response.data
121
+ [ response, options ]
120
122
  end
121
123
 
122
124
  def delete(params = {})
@@ -136,12 +138,12 @@ module Files
136
138
 
137
139
  def save
138
140
  if @attributes[:id]
139
- new_obj = update(@attributes)
141
+ update(@attributes)
140
142
  else
141
143
  new_obj = FormFieldSet.create(@attributes, @options)
144
+ @attributes = new_obj.attributes
142
145
  end
143
146
 
144
- @attributes = new_obj.attributes
145
147
  true
146
148
  end
147
149
 
@@ -154,8 +156,8 @@ module Files
154
156
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
155
157
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
156
158
 
157
- List.new(FormFieldSet, params) do
158
- Api.send_request("/form_field_sets", :get, params, options)
159
+ List.new(FormFieldSet, params) do |page_params, &check_page|
160
+ Api.send_request("/form_field_sets", :get, page_params, options, &check_page)
159
161
  end
160
162
  end
161
163
 
@@ -171,7 +173,7 @@ module Files
171
173
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
172
174
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
173
175
 
174
- response, options = Api.send_request("/form_field_sets/#{params[:id]}", :get, params, options)
176
+ response, options = Api.send_request("/form_field_sets/#{params[:id]}", :get, params, options) { |reply| reply.require_object("FormFieldSet") }
175
177
  FormFieldSet.new(response.data, options)
176
178
  end
177
179
 
@@ -193,7 +195,7 @@ module Files
193
195
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
194
196
  raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params[:form_fields] and !params[:form_fields].is_a?(Array)
195
197
 
196
- response, options = Api.send_request("/form_field_sets", :post, params, options)
198
+ response, options = Api.send_request("/form_field_sets", :post, params, options) { |reply| reply.require_object("FormFieldSet") }
197
199
  FormFieldSet.new(response.data, options)
198
200
  end
199
201
 
@@ -213,7 +215,7 @@ module Files
213
215
  raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params[:form_fields] and !params[:form_fields].is_a?(Array)
214
216
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
215
217
 
216
- response, options = Api.send_request("/form_field_sets/#{params[:id]}", :patch, params, options)
218
+ response, options = Api.send_request("/form_field_sets/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("FormFieldSet") }
217
219
  FormFieldSet.new(response.data, options)
218
220
  end
219
221
 
@@ -128,8 +128,8 @@ module Files
128
128
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
129
129
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
130
130
 
131
- List.new(FtpActionLog, params) do
132
- Api.send_request("/ftp_action_logs", :get, params, options)
131
+ List.new(FtpActionLog, params) do |page_params, &check_page|
132
+ Api.send_request("/ftp_action_logs", :get, page_params, options, &check_page)
133
133
  end
134
134
  end
135
135
 
@@ -198,7 +198,9 @@ module Files
198
198
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
199
199
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
200
200
 
201
- Api.send_request("/gpg_keys/#{@attributes[:id]}", :patch, params, @options)
201
+ response, options = Api.send_request("/gpg_keys/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("GpgKey") }
202
+ @attributes = response.data
203
+ [ response, options ]
202
204
  end
203
205
 
204
206
  def delete(params = {})
@@ -218,12 +220,12 @@ module Files
218
220
 
219
221
  def save
220
222
  if @attributes[:id]
221
- new_obj = update(@attributes)
223
+ update(@attributes)
222
224
  else
223
225
  new_obj = GpgKey.create(@attributes, @options)
226
+ @attributes = new_obj.attributes
224
227
  end
225
228
 
226
- @attributes = new_obj.attributes
227
229
  true
228
230
  end
229
231
 
@@ -248,8 +250,8 @@ module Files
248
250
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
249
251
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
250
252
 
251
- List.new(GpgKey, params) do
252
- Api.send_request("/gpg_keys", :get, params, options)
253
+ List.new(GpgKey, params) do |page_params, &check_page|
254
+ Api.send_request("/gpg_keys", :get, page_params, options, &check_page)
253
255
  end
254
256
  end
255
257
 
@@ -265,7 +267,7 @@ module Files
265
267
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
266
268
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
267
269
 
268
- response, options = Api.send_request("/gpg_keys/#{params[:id]}", :get, params, options)
270
+ response, options = Api.send_request("/gpg_keys/#{params[:id]}", :get, params, options) { |reply| reply.require_object("GpgKey") }
269
271
  GpgKey.new(response.data, options)
270
272
  end
271
273
 
@@ -298,7 +300,7 @@ module Files
298
300
  raise InvalidParameterError.new("Bad parameter: generate_email must be an String") if params[:generate_email] and !params[:generate_email].is_a?(String)
299
301
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
300
302
 
301
- response, options = Api.send_request("/gpg_keys", :post, params, options)
303
+ response, options = Api.send_request("/gpg_keys", :post, params, options) { |reply| reply.require_object("GpgKey") }
302
304
  GpgKey.new(response.data, options)
303
305
  end
304
306
 
@@ -319,7 +321,7 @@ module Files
319
321
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
320
322
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
321
323
 
322
- response, options = Api.send_request("/gpg_keys/#{params[:id]}", :patch, params, options)
324
+ response, options = Api.send_request("/gpg_keys/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("GpgKey") }
323
325
  GpgKey.new(response.data, options)
324
326
  end
325
327
 
@@ -191,7 +191,9 @@ module Files
191
191
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
192
192
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
193
193
 
194
- Api.send_request("/groups/#{@attributes[:id]}", :patch, params, @options)
194
+ response, options = Api.send_request("/groups/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("Group") }
195
+ @attributes = response.data
196
+ [ response, options ]
195
197
  end
196
198
 
197
199
  def delete(params = {})
@@ -211,12 +213,12 @@ module Files
211
213
 
212
214
  def save
213
215
  if @attributes[:id]
214
- new_obj = update(@attributes)
216
+ update(@attributes)
215
217
  else
216
218
  new_obj = Group.create(@attributes, @options)
219
+ @attributes = new_obj.attributes
217
220
  end
218
221
 
219
- @attributes = new_obj.attributes
220
222
  true
221
223
  end
222
224
 
@@ -236,8 +238,8 @@ module Files
236
238
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
237
239
  raise InvalidParameterError.new("Bad parameter: ids must be an String") if params[:ids] and !params[:ids].is_a?(String)
238
240
 
239
- List.new(Group, params) do
240
- Api.send_request("/groups", :get, params, options)
241
+ List.new(Group, params) do |page_params, &check_page|
242
+ Api.send_request("/groups", :get, page_params, options, &check_page)
241
243
  end
242
244
  end
243
245
 
@@ -253,7 +255,7 @@ module Files
253
255
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
254
256
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
255
257
 
256
- response, options = Api.send_request("/groups/#{params[:id]}", :get, params, options)
258
+ response, options = Api.send_request("/groups/#{params[:id]}", :get, params, options) { |reply| reply.require_object("Group") }
257
259
  Group.new(response.data, options)
258
260
  end
259
261
 
@@ -288,7 +290,7 @@ module Files
288
290
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
289
291
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
290
292
 
291
- response, options = Api.send_request("/groups", :post, params, options)
293
+ response, options = Api.send_request("/groups", :post, params, options) { |reply| reply.require_object("Group") }
292
294
  Group.new(response.data, options)
293
295
  end
294
296
 
@@ -320,7 +322,7 @@ module Files
320
322
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
321
323
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
322
324
 
323
- response, options = Api.send_request("/groups/#{params[:id]}", :patch, params, options)
325
+ response, options = Api.send_request("/groups/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("Group") }
324
326
  Group.new(response.data, options)
325
327
  end
326
328
 
@@ -78,7 +78,9 @@ module Files
78
78
  raise MissingParameterError.new("Parameter missing: group_id") unless params[:group_id]
79
79
  raise MissingParameterError.new("Parameter missing: user_id") unless params[:user_id]
80
80
 
81
- Api.send_request("/group_users/#{@attributes[:id]}", :patch, params, @options)
81
+ response, options = Api.send_request("/group_users/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("GroupUser") }
82
+ @attributes = response.data
83
+ [ response, options ]
82
84
  end
83
85
 
84
86
  # Parameters:
@@ -105,12 +107,12 @@ module Files
105
107
 
106
108
  def save
107
109
  if @attributes[:id]
108
- new_obj = update(@attributes)
110
+ update(@attributes)
109
111
  else
110
112
  new_obj = GroupUser.create(@attributes, @options)
113
+ @attributes = new_obj.attributes
111
114
  end
112
115
 
113
- @attributes = new_obj.attributes
114
116
  true
115
117
  end
116
118
 
@@ -125,8 +127,8 @@ module Files
125
127
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
126
128
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer)
127
129
 
128
- List.new(GroupUser, params) do
129
- Api.send_request("/group_users", :get, params, options)
130
+ List.new(GroupUser, params) do |page_params, &check_page|
131
+ Api.send_request("/group_users", :get, page_params, options, &check_page)
130
132
  end
131
133
  end
132
134
 
@@ -144,7 +146,7 @@ module Files
144
146
  raise MissingParameterError.new("Parameter missing: group_id") unless params[:group_id]
145
147
  raise MissingParameterError.new("Parameter missing: user_id") unless params[:user_id]
146
148
 
147
- response, options = Api.send_request("/group_users", :post, params, options)
149
+ response, options = Api.send_request("/group_users", :post, params, options) { |reply| reply.require_object("GroupUser") }
148
150
  GroupUser.new(response.data, options)
149
151
  end
150
152
 
@@ -162,7 +164,7 @@ module Files
162
164
  raise MissingParameterError.new("Parameter missing: group_id") unless params[:group_id]
163
165
  raise MissingParameterError.new("Parameter missing: user_id") unless params[:user_id]
164
166
 
165
- response, options = Api.send_request("/group_users/#{params[:id]}", :patch, params, options)
167
+ response, options = Api.send_request("/group_users/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("GroupUser") }
166
168
  GroupUser.new(response.data, options)
167
169
  end
168
170
 
@@ -99,8 +99,8 @@ module Files
99
99
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
100
100
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
101
101
 
102
- List.new(Action, params) do
103
- Api.send_request("/history/files/#{params[:path]}", :get, params, options)
102
+ List.new(Action, params) do |page_params, &check_page|
103
+ Api.send_request("/history/files/#{page_params[:path]}", :get, page_params, options, &check_page)
104
104
  end
105
105
  end
106
106
 
@@ -124,8 +124,8 @@ module Files
124
124
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
125
125
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
126
126
 
127
- List.new(Action, params) do
128
- Api.send_request("/history/folders/#{params[:path]}", :get, params, options)
127
+ List.new(Action, params) do |page_params, &check_page|
128
+ Api.send_request("/history/folders/#{page_params[:path]}", :get, page_params, options, &check_page)
129
129
  end
130
130
  end
131
131
 
@@ -149,8 +149,8 @@ module Files
149
149
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer)
150
150
  raise MissingParameterError.new("Parameter missing: user_id") unless params[:user_id]
151
151
 
152
- List.new(Action, params) do
153
- Api.send_request("/history/users/#{params[:user_id]}", :get, params, options)
152
+ List.new(Action, params) do |page_params, &check_page|
153
+ Api.send_request("/history/users/#{page_params[:user_id]}", :get, page_params, options, &check_page)
154
154
  end
155
155
  end
156
156
 
@@ -169,8 +169,8 @@ module Files
169
169
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
170
170
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
171
171
 
172
- List.new(Action, params) do
173
- Api.send_request("/history/login", :get, params, options)
172
+ List.new(Action, params) do |page_params, &check_page|
173
+ Api.send_request("/history/login", :get, page_params, options, &check_page)
174
174
  end
175
175
  end
176
176
 
@@ -193,8 +193,8 @@ module Files
193
193
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
194
194
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
195
195
 
196
- List.new(Action, params) do
197
- Api.send_request("/history", :get, params, options)
196
+ List.new(Action, params) do |page_params, &check_page|
197
+ Api.send_request("/history", :get, page_params, options, &check_page)
198
198
  end
199
199
  end
200
200
 
@@ -257,9 +257,9 @@ module Files
257
257
  raise NotImplementedError.new("The HistoryExport object doesn't support updates.")
258
258
  else
259
259
  new_obj = HistoryExport.create(@attributes, @options)
260
+ @attributes = new_obj.attributes
260
261
  end
261
262
 
262
- @attributes = new_obj.attributes
263
263
  true
264
264
  end
265
265
 
@@ -271,7 +271,7 @@ module Files
271
271
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
272
272
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
273
273
 
274
- response, options = Api.send_request("/history_exports/#{params[:id]}", :get, params, options)
274
+ response, options = Api.send_request("/history_exports/#{params[:id]}", :get, params, options) { |reply| reply.require_object("HistoryExport") }
275
275
  HistoryExport.new(response.data, options)
276
276
  end
277
277
 
@@ -326,7 +326,7 @@ module Files
326
326
  raise InvalidParameterError.new("Bad parameter: query_target_platform must be an String") if params[:query_target_platform] and !params[:query_target_platform].is_a?(String)
327
327
  raise InvalidParameterError.new("Bad parameter: query_target_permission_set must be an String") if params[:query_target_permission_set] and !params[:query_target_permission_set].is_a?(String)
328
328
 
329
- response, options = Api.send_request("/history_exports", :post, params, options)
329
+ response, options = Api.send_request("/history_exports", :post, params, options) { |reply| reply.require_object("HistoryExport") }
330
330
  HistoryExport.new(response.data, options)
331
331
  end
332
332
  end
@@ -151,8 +151,8 @@ module Files
151
151
  raise InvalidParameterError.new("Bad parameter: history_export_id must be an Integer") if params[:history_export_id] and !params[:history_export_id].is_a?(Integer)
152
152
  raise MissingParameterError.new("Parameter missing: history_export_id") unless params[:history_export_id]
153
153
 
154
- List.new(HistoryExportResult, params) do
155
- Api.send_request("/history_export_results", :get, params, options)
154
+ List.new(HistoryExportResult, params) do |page_params, &check_page|
155
+ Api.send_request("/history_export_results", :get, page_params, options, &check_page)
156
156
  end
157
157
  end
158
158