basecamp-sdk 0.8.0 → 0.9.0

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/basecamp/client.rb +5 -0
  4. data/lib/basecamp/generated/metadata.json +54 -1
  5. data/lib/basecamp/generated/services/base_service.rb +13 -0
  6. data/lib/basecamp/generated/services/campfires_service.rb +2 -2
  7. data/lib/basecamp/generated/services/card_columns_service.rb +3 -3
  8. data/lib/basecamp/generated/services/checkins_service.rb +5 -4
  9. data/lib/basecamp/generated/services/client_approvals_service.rb +1 -1
  10. data/lib/basecamp/generated/services/client_correspondences_service.rb +1 -1
  11. data/lib/basecamp/generated/services/documents_service.rb +3 -2
  12. data/lib/basecamp/generated/services/forwards_service.rb +1 -1
  13. data/lib/basecamp/generated/services/gauges_service.rb +4 -4
  14. data/lib/basecamp/generated/services/messages_service.rb +4 -3
  15. data/lib/basecamp/generated/services/my_assignments_service.rb +1 -1
  16. data/lib/basecamp/generated/services/my_notifications_service.rb +1 -1
  17. data/lib/basecamp/generated/services/people_service.rb +2 -2
  18. data/lib/basecamp/generated/services/projects_service.rb +2 -2
  19. data/lib/basecamp/generated/services/recordings_service.rb +1 -1
  20. data/lib/basecamp/generated/services/reports_service.rb +2 -2
  21. data/lib/basecamp/generated/services/schedules_service.rb +5 -4
  22. data/lib/basecamp/generated/services/search_service.rb +14 -3
  23. data/lib/basecamp/generated/services/templates_service.rb +4 -5
  24. data/lib/basecamp/generated/services/timesheets_service.rb +3 -3
  25. data/lib/basecamp/generated/services/todolists_service.rb +15 -3
  26. data/lib/basecamp/generated/services/todos_service.rb +1 -1
  27. data/lib/basecamp/generated/services/tools_service.rb +1 -1
  28. data/lib/basecamp/generated/services/uploads_service.rb +3 -2
  29. data/lib/basecamp/generated/services/webhooks_service.rb +2 -2
  30. data/lib/basecamp/generated/services/wormholes_service.rb +44 -0
  31. data/lib/basecamp/generated/types.rb +254 -58
  32. data/lib/basecamp/version.rb +2 -2
  33. data/scripts/generate-services.rb +24 -10
  34. data/scripts/generate-types.rb +33 -1
  35. metadata +3 -2
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Basecamp
4
+ module Services
5
+ # Service for Wormholes operations
6
+ #
7
+ # @generated from OpenAPI spec
8
+ class WormholesService < BaseService
9
+
10
+ # Update a wormhole's destination column
11
+ # @param bucket_id [Integer] bucket id ID
12
+ # @param wormhole_id [Integer] wormhole id ID
13
+ # @param destination_recording_id [Integer] Id of the new destination column (on another accessible card table).
14
+ # @return [Hash] response data
15
+ def update(bucket_id:, wormhole_id:, destination_recording_id:)
16
+ with_operation(service: "wormholes", operation: "update", is_mutation: true, project_id: bucket_id, resource_id: wormhole_id) do
17
+ http_put("/buckets/#{bucket_id}/card_tables/wormholes/#{wormhole_id}", body: compact_params(destination_recording_id: destination_recording_id)).json
18
+ end
19
+ end
20
+
21
+ # Delete a wormhole
22
+ # @param bucket_id [Integer] bucket id ID
23
+ # @param wormhole_id [Integer] wormhole id ID
24
+ # @return [void]
25
+ def delete(bucket_id:, wormhole_id:)
26
+ with_operation(service: "wormholes", operation: "delete", is_mutation: true, project_id: bucket_id, resource_id: wormhole_id) do
27
+ http_delete("/buckets/#{bucket_id}/card_tables/wormholes/#{wormhole_id}")
28
+ nil
29
+ end
30
+ end
31
+
32
+ # Create a wormhole linking this card table to a column on another card table.
33
+ # @param bucket_id [Integer] bucket id ID
34
+ # @param card_table_id [Integer] card table id ID
35
+ # @param destination_recording_id [Integer] Id of the destination column (on another accessible card table) to link to.
36
+ # @return [Hash] response data
37
+ def create(bucket_id:, card_table_id:, destination_recording_id:)
38
+ with_operation(service: "wormholes", operation: "create", is_mutation: true, project_id: bucket_id, resource_id: card_table_id) do
39
+ http_post("/buckets/#{bucket_id}/card_tables/#{card_table_id}/wormholes.json", body: compact_params(destination_recording_id: destination_recording_id)).json
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end