basecamp-sdk 0.32.0 → 0.34.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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 25bd52e24df8081b95a01db3a3a77056d0a8a65e690e0873650c594c90a593fb
|
|
4
|
+
data.tar.gz: 41dca454861e8d7be217a4bdaeae17930b09f44f508e5c6928dd169412e4bfa3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c2cf1ae375b942bfdd03d9e8df6817bbbcf0e6929e2118817f6ddbbc6485d5bfe60705887be1f7058ca355db31bd93629c29f48ae144ca7a610664e1b5589d83
|
|
7
|
+
data.tar.gz: fad0518aa12d9702193fc71aa538b163cbec5d0f0664d0a7b1e2f69a0933e1c43a4f5bede23e1e9e05397ad2d385e599fd55f70fd2c0fffcbc2edd4705bd200a
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://basecamp.com/schemas/sdk-metadata.json",
|
|
3
3
|
"version": "1.0.0",
|
|
4
|
-
"generated": "2026-10-
|
|
4
|
+
"generated": "2026-10-30T06:06:06Z",
|
|
5
5
|
"operations": {
|
|
6
6
|
"GetAccount": {
|
|
7
7
|
"retry": {
|
|
@@ -3613,6 +3613,44 @@
|
|
|
3613
3613
|
"natural": true
|
|
3614
3614
|
}
|
|
3615
3615
|
},
|
|
3616
|
+
"ListHillChartVersions": {
|
|
3617
|
+
"retry": {
|
|
3618
|
+
"maxAttempts": 3,
|
|
3619
|
+
"baseDelayMs": 1000,
|
|
3620
|
+
"backoff": "exponential",
|
|
3621
|
+
"retryOn": [
|
|
3622
|
+
429,
|
|
3623
|
+
503
|
|
3624
|
+
]
|
|
3625
|
+
},
|
|
3626
|
+
"pagination": {
|
|
3627
|
+
"style": "link",
|
|
3628
|
+
"totalCountHeader": "X-Total-Count",
|
|
3629
|
+
"maxPageSize": 50
|
|
3630
|
+
}
|
|
3631
|
+
},
|
|
3632
|
+
"CreateHillChartVersion": {
|
|
3633
|
+
"retry": {
|
|
3634
|
+
"maxAttempts": 2,
|
|
3635
|
+
"baseDelayMs": 1000,
|
|
3636
|
+
"backoff": "exponential",
|
|
3637
|
+
"retryOn": [
|
|
3638
|
+
429,
|
|
3639
|
+
503
|
|
3640
|
+
]
|
|
3641
|
+
}
|
|
3642
|
+
},
|
|
3643
|
+
"GetHillChartVersion": {
|
|
3644
|
+
"retry": {
|
|
3645
|
+
"maxAttempts": 3,
|
|
3646
|
+
"baseDelayMs": 1000,
|
|
3647
|
+
"backoff": "exponential",
|
|
3648
|
+
"retryOn": [
|
|
3649
|
+
429,
|
|
3650
|
+
503
|
|
3651
|
+
]
|
|
3652
|
+
}
|
|
3653
|
+
},
|
|
3616
3654
|
"ListTodolists": {
|
|
3617
3655
|
"retry": {
|
|
3618
3656
|
"maxAttempts": 3,
|
|
@@ -3890,6 +3928,9 @@
|
|
|
3890
3928
|
"CreateGoogleDocument": [
|
|
3891
3929
|
"creator"
|
|
3892
3930
|
],
|
|
3931
|
+
"CreateHillChartVersion": [
|
|
3932
|
+
"creator"
|
|
3933
|
+
],
|
|
3893
3934
|
"CreateMessage": [
|
|
3894
3935
|
"creator"
|
|
3895
3936
|
],
|
|
@@ -4217,6 +4258,9 @@
|
|
|
4217
4258
|
"GetGoogleDocument": [
|
|
4218
4259
|
"creator"
|
|
4219
4260
|
],
|
|
4261
|
+
"GetHillChartVersion": [
|
|
4262
|
+
"creator"
|
|
4263
|
+
],
|
|
4220
4264
|
"GetInbox": [
|
|
4221
4265
|
"creator"
|
|
4222
4266
|
],
|
|
@@ -4453,6 +4497,9 @@
|
|
|
4453
4497
|
"ListGauges": [
|
|
4454
4498
|
"[].creator"
|
|
4455
4499
|
],
|
|
4500
|
+
"ListHillChartVersions": [
|
|
4501
|
+
"[].creator"
|
|
4502
|
+
],
|
|
4456
4503
|
"ListMessages": [
|
|
4457
4504
|
"[].creator"
|
|
4458
4505
|
],
|
|
@@ -26,6 +26,42 @@ module Basecamp
|
|
|
26
26
|
http_put("/todosets/#{todoset_id}/hills/settings.json", body: compact_params(tracked: tracked, untracked: untracked)).json(operation: "UpdateHillChartSettings")
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
|
+
|
|
30
|
+
# List the progress updates on a todoset's hill chart, newest first.
|
|
31
|
+
# @param todoset_id [Integer] todoset id ID
|
|
32
|
+
# @param page [Integer, nil] Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8.
|
|
33
|
+
# @param max_items [Integer, nil] cap on items yielded across pages; nil or non-positive means no cap
|
|
34
|
+
# @return [ListEnumerator<Hash>] lazily paginated results (#meta carries pagination metadata)
|
|
35
|
+
def list_versions(todoset_id:, page: nil, max_items: nil)
|
|
36
|
+
wrap_paginated(service: "hillcharts", operation: "list_versions", is_mutation: false, resource_id: todoset_id) do
|
|
37
|
+
params = compact_query_params(page: page)
|
|
38
|
+
paginate("/todosets/#{todoset_id}/hills/versions.json", params: params, operation: "ListHillChartVersions", max_items: max_items)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Post a progress update on a todoset's hill chart.
|
|
43
|
+
# @param todoset_id [Integer] todoset id ID
|
|
44
|
+
# @param description [String, nil] A note about the update, as rich text (HTML).
|
|
45
|
+
# @param dots [Array, nil] Todolists to move, each with its ID and new position. Todolists left
|
|
46
|
+
# out keep their current position.
|
|
47
|
+
# @param subscriptions [Array, nil] People to notify of the update and subscribe to it. If absent, nobody
|
|
48
|
+
# else is notified.
|
|
49
|
+
# @return [Hash] response data
|
|
50
|
+
def create_version(todoset_id:, description: nil, dots: nil, subscriptions: nil)
|
|
51
|
+
with_operation(service: "hillcharts", operation: "create_version", is_mutation: true, resource_id: todoset_id) do
|
|
52
|
+
http_post("/todosets/#{todoset_id}/hills/versions.json", body: compact_params(description: description, dots: dots, subscriptions: subscriptions)).json(operation: "CreateHillChartVersion")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Get one progress update from a todoset's hill chart
|
|
57
|
+
# @param todoset_id [Integer] todoset id ID
|
|
58
|
+
# @param version_id [Integer] version id ID
|
|
59
|
+
# @return [Hash] response data
|
|
60
|
+
def get_version(todoset_id:, version_id:)
|
|
61
|
+
with_operation(service: "hillcharts", operation: "get_version", is_mutation: false, resource_id: version_id) do
|
|
62
|
+
http_get("/todosets/#{todoset_id}/hills/versions/#{version_id}", operation: "GetHillChartVersion").json(operation: "GetHillChartVersion")
|
|
63
|
+
end
|
|
64
|
+
end
|
|
29
65
|
end
|
|
30
66
|
end
|
|
31
67
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
# Auto-generated from OpenAPI spec. Do not edit manually.
|
|
4
|
-
# Generated: 2026-10-
|
|
4
|
+
# Generated: 2026-10-30T06:06:06Z
|
|
5
5
|
|
|
6
6
|
require "json"
|
|
7
7
|
require "time"
|
|
@@ -2512,7 +2512,7 @@ module Basecamp
|
|
|
2512
2512
|
# HillChart
|
|
2513
2513
|
class HillChart
|
|
2514
2514
|
include TypeHelpers
|
|
2515
|
-
attr_accessor :enabled, :stale, :app_update_url, :app_versions_url, :dots, :updated_at
|
|
2515
|
+
attr_accessor :enabled, :stale, :app_update_url, :app_versions_url, :dots, :updated_at, :versions_url
|
|
2516
2516
|
|
|
2517
2517
|
# @return [Array<Symbol>]
|
|
2518
2518
|
def self.required_fields
|
|
@@ -2526,6 +2526,7 @@ module Basecamp
|
|
|
2526
2526
|
@app_versions_url = data["app_versions_url"]
|
|
2527
2527
|
@dots = parse_array(data["dots"], "HillChartDot")
|
|
2528
2528
|
@updated_at = parse_datetime(data["updated_at"])
|
|
2529
|
+
@versions_url = data["versions_url"]
|
|
2529
2530
|
end
|
|
2530
2531
|
|
|
2531
2532
|
def to_h
|
|
@@ -2536,6 +2537,7 @@ module Basecamp
|
|
|
2536
2537
|
"app_versions_url" => @app_versions_url,
|
|
2537
2538
|
"dots" => @dots,
|
|
2538
2539
|
"updated_at" => @updated_at,
|
|
2540
|
+
"versions_url" => @versions_url,
|
|
2539
2541
|
}.compact
|
|
2540
2542
|
end
|
|
2541
2543
|
|
|
@@ -2579,6 +2581,135 @@ module Basecamp
|
|
|
2579
2581
|
end
|
|
2580
2582
|
end
|
|
2581
2583
|
|
|
2584
|
+
# HillChartDotPosition
|
|
2585
|
+
class HillChartDotPosition
|
|
2586
|
+
include TypeHelpers
|
|
2587
|
+
attr_accessor :id, :position
|
|
2588
|
+
|
|
2589
|
+
# @return [Array<Symbol>]
|
|
2590
|
+
def self.required_fields
|
|
2591
|
+
%i[id position].freeze
|
|
2592
|
+
end
|
|
2593
|
+
|
|
2594
|
+
def initialize(data = {})
|
|
2595
|
+
@id = parse_integer(data["id"])
|
|
2596
|
+
@position = parse_integer(data["position"])
|
|
2597
|
+
end
|
|
2598
|
+
|
|
2599
|
+
def to_h
|
|
2600
|
+
{
|
|
2601
|
+
"id" => @id,
|
|
2602
|
+
"position" => @position,
|
|
2603
|
+
}.compact
|
|
2604
|
+
end
|
|
2605
|
+
|
|
2606
|
+
def to_json(*args)
|
|
2607
|
+
to_h.to_json(*args)
|
|
2608
|
+
end
|
|
2609
|
+
end
|
|
2610
|
+
|
|
2611
|
+
# HillChartVersion
|
|
2612
|
+
class HillChartVersion
|
|
2613
|
+
include TypeHelpers
|
|
2614
|
+
attr_accessor :app_url, :bucket, :created_at, :creator, :description_attachments, :dots, :id, :inherits_status, :parent, :status, :title, :type, :updated_at, :url, :visible_to_clients, :bookmark_url, :boosts_count, :boosts_url, :comments_count, :comments_url, :description, :subscription_url
|
|
2615
|
+
|
|
2616
|
+
# @return [Array<Symbol>]
|
|
2617
|
+
def self.required_fields
|
|
2618
|
+
%i[app_url bucket created_at creator description_attachments dots id inherits_status parent status title type updated_at url visible_to_clients].freeze
|
|
2619
|
+
end
|
|
2620
|
+
|
|
2621
|
+
def initialize(data = {})
|
|
2622
|
+
@app_url = data["app_url"]
|
|
2623
|
+
@bucket = parse_type(data["bucket"], "TodoBucket")
|
|
2624
|
+
@created_at = parse_datetime(data["created_at"])
|
|
2625
|
+
@creator = parse_type(data["creator"], "Person")
|
|
2626
|
+
@description_attachments = parse_array(data["description_attachments"], "RichTextAttachment")
|
|
2627
|
+
@dots = parse_array(data["dots"], "HillChartVersionDot")
|
|
2628
|
+
@id = parse_integer(data["id"])
|
|
2629
|
+
@inherits_status = parse_boolean(data["inherits_status"])
|
|
2630
|
+
@parent = parse_type(data["parent"], "RecordingParent")
|
|
2631
|
+
@status = data["status"]
|
|
2632
|
+
@title = data["title"]
|
|
2633
|
+
@type = data["type"]
|
|
2634
|
+
@updated_at = parse_datetime(data["updated_at"])
|
|
2635
|
+
@url = data["url"]
|
|
2636
|
+
@visible_to_clients = parse_boolean(data["visible_to_clients"])
|
|
2637
|
+
@bookmark_url = data["bookmark_url"]
|
|
2638
|
+
@boosts_count = parse_integer(data["boosts_count"])
|
|
2639
|
+
@boosts_url = data["boosts_url"]
|
|
2640
|
+
@comments_count = parse_integer(data["comments_count"])
|
|
2641
|
+
@comments_url = data["comments_url"]
|
|
2642
|
+
@description = data["description"]
|
|
2643
|
+
@subscription_url = data["subscription_url"]
|
|
2644
|
+
end
|
|
2645
|
+
|
|
2646
|
+
def to_h
|
|
2647
|
+
{
|
|
2648
|
+
"app_url" => @app_url,
|
|
2649
|
+
"bucket" => @bucket,
|
|
2650
|
+
"created_at" => @created_at,
|
|
2651
|
+
"creator" => @creator,
|
|
2652
|
+
"description_attachments" => @description_attachments,
|
|
2653
|
+
"dots" => @dots,
|
|
2654
|
+
"id" => @id,
|
|
2655
|
+
"inherits_status" => @inherits_status,
|
|
2656
|
+
"parent" => @parent,
|
|
2657
|
+
"status" => @status,
|
|
2658
|
+
"title" => @title,
|
|
2659
|
+
"type" => @type,
|
|
2660
|
+
"updated_at" => @updated_at,
|
|
2661
|
+
"url" => @url,
|
|
2662
|
+
"visible_to_clients" => @visible_to_clients,
|
|
2663
|
+
"bookmark_url" => @bookmark_url,
|
|
2664
|
+
"boosts_count" => @boosts_count,
|
|
2665
|
+
"boosts_url" => @boosts_url,
|
|
2666
|
+
"comments_count" => @comments_count,
|
|
2667
|
+
"comments_url" => @comments_url,
|
|
2668
|
+
"description" => @description,
|
|
2669
|
+
"subscription_url" => @subscription_url,
|
|
2670
|
+
}.compact
|
|
2671
|
+
end
|
|
2672
|
+
|
|
2673
|
+
def to_json(*args)
|
|
2674
|
+
to_h.to_json(*args)
|
|
2675
|
+
end
|
|
2676
|
+
end
|
|
2677
|
+
|
|
2678
|
+
# HillChartVersionDot
|
|
2679
|
+
class HillChartVersionDot
|
|
2680
|
+
include TypeHelpers
|
|
2681
|
+
attr_accessor :color, :label, :position, :app_url, :id, :url
|
|
2682
|
+
|
|
2683
|
+
# @return [Array<Symbol>]
|
|
2684
|
+
def self.required_fields
|
|
2685
|
+
%i[color label position].freeze
|
|
2686
|
+
end
|
|
2687
|
+
|
|
2688
|
+
def initialize(data = {})
|
|
2689
|
+
@color = data["color"]
|
|
2690
|
+
@label = data["label"]
|
|
2691
|
+
@position = parse_integer(data["position"])
|
|
2692
|
+
@app_url = data["app_url"]
|
|
2693
|
+
@id = data["id"]
|
|
2694
|
+
@url = data["url"]
|
|
2695
|
+
end
|
|
2696
|
+
|
|
2697
|
+
def to_h
|
|
2698
|
+
{
|
|
2699
|
+
"color" => @color,
|
|
2700
|
+
"label" => @label,
|
|
2701
|
+
"position" => @position,
|
|
2702
|
+
"app_url" => @app_url,
|
|
2703
|
+
"id" => @id,
|
|
2704
|
+
"url" => @url,
|
|
2705
|
+
}.compact
|
|
2706
|
+
end
|
|
2707
|
+
|
|
2708
|
+
def to_json(*args)
|
|
2709
|
+
to_h.to_json(*args)
|
|
2710
|
+
end
|
|
2711
|
+
end
|
|
2712
|
+
|
|
2582
2713
|
# Inbox
|
|
2583
2714
|
class Inbox
|
|
2584
2715
|
include TypeHelpers
|
data/lib/basecamp/version.rb
CHANGED
|
@@ -161,7 +161,7 @@ class ServiceGenerator
|
|
|
161
161
|
'Todos' => %w[ListTodos CreateTodo CreateTodosetTodo GetTodo ReplaceTodo CompleteTodo UncompleteTodo],
|
|
162
162
|
'Todolists' => %w[GetTodolistOrGroup UpdateTodolistOrGroup ListTodolists CreateTodolist RepositionTodolist],
|
|
163
163
|
'Todosets' => %w[GetTodoset],
|
|
164
|
-
'HillCharts' => %w[GetHillChart UpdateHillChartSettings],
|
|
164
|
+
'HillCharts' => %w[GetHillChart UpdateHillChartSettings ListHillChartVersions GetHillChartVersion CreateHillChartVersion],
|
|
165
165
|
'TodolistGroups' => %w[ListTodolistGroups CreateTodolistGroup RepositionTodolistGroup]
|
|
166
166
|
},
|
|
167
167
|
'Untagged' => {
|
|
@@ -300,7 +300,10 @@ class ServiceGenerator
|
|
|
300
300
|
'ListScheduleEntries' => 'list_entries',
|
|
301
301
|
'GetScheduleEntryOccurrence' => 'get_entry_occurrence',
|
|
302
302
|
'GetHillChart' => 'get',
|
|
303
|
-
'UpdateHillChartSettings' => 'update_settings'
|
|
303
|
+
'UpdateHillChartSettings' => 'update_settings',
|
|
304
|
+
'ListHillChartVersions' => 'list_versions',
|
|
305
|
+
'GetHillChartVersion' => 'get_version',
|
|
306
|
+
'CreateHillChartVersion' => 'create_version'
|
|
304
307
|
}.freeze
|
|
305
308
|
|
|
306
309
|
# Verb patterns for extracting method names
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: basecamp-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.34.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Basecamp
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|