@37signals/basecamp 0.15.0 → 0.17.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 (76) hide show
  1. package/dist/client.d.ts +5 -2
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +4 -2
  4. package/dist/client.js.map +1 -1
  5. package/dist/download.d.ts.map +1 -1
  6. package/dist/download.js +70 -19
  7. package/dist/download.js.map +1 -1
  8. package/dist/errors.d.ts +14 -0
  9. package/dist/errors.d.ts.map +1 -1
  10. package/dist/errors.js +88 -3
  11. package/dist/errors.js.map +1 -1
  12. package/dist/generated/metadata.d.ts.map +1 -1
  13. package/dist/generated/metadata.js +156 -1
  14. package/dist/generated/metadata.js.map +1 -1
  15. package/dist/generated/metadata.ts +156 -1
  16. package/dist/generated/openapi-stripped.json +2055 -623
  17. package/dist/generated/path-mapping.d.ts.map +1 -1
  18. package/dist/generated/path-mapping.js +12 -0
  19. package/dist/generated/path-mapping.js.map +1 -1
  20. package/dist/generated/path-mapping.ts +12 -0
  21. package/dist/generated/schema.d.ts +1190 -36
  22. package/dist/generated/services/bubble-ups.d.ts +48 -0
  23. package/dist/generated/services/bubble-ups.d.ts.map +1 -0
  24. package/dist/generated/services/bubble-ups.js +67 -0
  25. package/dist/generated/services/bubble-ups.js.map +1 -0
  26. package/dist/generated/services/bubble-ups.ts +98 -0
  27. package/dist/generated/services/index.d.ts +1 -0
  28. package/dist/generated/services/index.d.ts.map +1 -1
  29. package/dist/generated/services/index.js +1 -0
  30. package/dist/generated/services/index.js.map +1 -1
  31. package/dist/generated/services/index.ts +1 -0
  32. package/dist/generated/services/people.d.ts +48 -0
  33. package/dist/generated/services/people.d.ts.map +1 -1
  34. package/dist/generated/services/people.js +81 -0
  35. package/dist/generated/services/people.js.map +1 -1
  36. package/dist/generated/services/people.ts +108 -0
  37. package/dist/generated/services/projects.d.ts +22 -0
  38. package/dist/generated/services/projects.d.ts.map +1 -1
  39. package/dist/generated/services/projects.js +42 -0
  40. package/dist/generated/services/projects.js.map +1 -1
  41. package/dist/generated/services/projects.ts +53 -0
  42. package/dist/generated/services/recordings.d.ts +24 -0
  43. package/dist/generated/services/recordings.d.ts.map +1 -1
  44. package/dist/generated/services/recordings.js +49 -0
  45. package/dist/generated/services/recordings.js.map +1 -1
  46. package/dist/generated/services/recordings.ts +59 -0
  47. package/dist/generated/services/templates.d.ts +46 -0
  48. package/dist/generated/services/templates.d.ts.map +1 -1
  49. package/dist/generated/services/templates.js +70 -0
  50. package/dist/generated/services/templates.js.map +1 -1
  51. package/dist/generated/services/templates.ts +98 -0
  52. package/dist/index.d.ts +4 -3
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/oauth/device.d.ts.map +1 -1
  57. package/dist/oauth/device.js +9 -71
  58. package/dist/oauth/device.js.map +1 -1
  59. package/dist/oauth/exchange.d.ts.map +1 -1
  60. package/dist/oauth/exchange.js +55 -16
  61. package/dist/oauth/exchange.js.map +1 -1
  62. package/dist/oauth/limits.d.ts +33 -2
  63. package/dist/oauth/limits.d.ts.map +1 -1
  64. package/dist/oauth/limits.js +76 -2
  65. package/dist/oauth/limits.js.map +1 -1
  66. package/package.json +3 -3
  67. package/src/generated/metadata.ts +156 -1
  68. package/src/generated/openapi-stripped.json +2055 -623
  69. package/src/generated/path-mapping.ts +12 -0
  70. package/src/generated/schema.d.ts +1190 -36
  71. package/src/generated/services/bubble-ups.ts +98 -0
  72. package/src/generated/services/index.ts +1 -0
  73. package/src/generated/services/people.ts +108 -0
  74. package/src/generated/services/projects.ts +53 -0
  75. package/src/generated/services/recordings.ts +59 -0
  76. package/src/generated/services/templates.ts +98 -0
@@ -12,6 +12,24 @@ import { Errors } from "../../errors.js";
12
12
  * Service for Projects operations.
13
13
  */
14
14
  export class ProjectsService extends BaseService {
15
+ /**
16
+ * List the projects the current user has most recently visited, most recent visit first.
17
+ * @returns Array of Project
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const result = await client.projects.listRecentProjects();
22
+ * ```
23
+ */
24
+ async listRecentProjects() {
25
+ const response = await this.request({
26
+ service: "Projects",
27
+ operation: "ListRecentProjects",
28
+ resourceType: "project",
29
+ isMutation: false,
30
+ }, () => this.client.GET("/my/recent_projects.json", {}));
31
+ return response ?? [];
32
+ }
15
33
  /**
16
34
  * List projects (active by default; optionally archived/trashed)
17
35
  * @param options - Optional query parameters
@@ -149,6 +167,30 @@ export class ProjectsService extends BaseService {
149
167
  },
150
168
  }));
151
169
  }
170
+ /**
171
+ * Record that the current user visited a project, moving it to the front of ListRecentProjects.
172
+ * @param projectId - The project ID
173
+ * @returns void
174
+ * @throws {BasecampError} If the request fails
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * await client.projects.recordProjectVisit(123);
179
+ * ```
180
+ */
181
+ async recordProjectVisit(projectId) {
182
+ await this.request({
183
+ service: "Projects",
184
+ operation: "RecordProjectVisit",
185
+ resourceType: "project",
186
+ isMutation: true,
187
+ projectId,
188
+ }, () => this.client.POST("/projects/{projectId}/recent_visit.json", {
189
+ params: {
190
+ path: { projectId },
191
+ },
192
+ }));
193
+ }
152
194
  /**
153
195
  * Restore a project to active status from trash as well as from the archive.
154
196
  * @param projectId - The project ID
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/generated/services/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/generated/services/projects.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,30 @@ export interface UpdateProjectRequest {
61
61
  */
62
62
  export class ProjectsService extends BaseService {
63
63
 
64
+ /**
65
+ * List the projects the current user has most recently visited, most recent visit first.
66
+ * @returns Array of Project
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const result = await client.projects.listRecentProjects();
71
+ * ```
72
+ */
73
+ async listRecentProjects(): Promise<Project[]> {
74
+ const response = await this.request(
75
+ {
76
+ service: "Projects",
77
+ operation: "ListRecentProjects",
78
+ resourceType: "project",
79
+ isMutation: false,
80
+ },
81
+ () =>
82
+ this.client.GET("/my/recent_projects.json", {
83
+ })
84
+ );
85
+ return response ?? [];
86
+ }
87
+
64
88
  /**
65
89
  * List projects (active by default; optionally archived/trashed)
66
90
  * @param options - Optional query parameters
@@ -224,6 +248,35 @@ export class ProjectsService extends BaseService {
224
248
  );
225
249
  }
226
250
 
251
+ /**
252
+ * Record that the current user visited a project, moving it to the front of ListRecentProjects.
253
+ * @param projectId - The project ID
254
+ * @returns void
255
+ * @throws {BasecampError} If the request fails
256
+ *
257
+ * @example
258
+ * ```ts
259
+ * await client.projects.recordProjectVisit(123);
260
+ * ```
261
+ */
262
+ async recordProjectVisit(projectId: number): Promise<void> {
263
+ await this.request(
264
+ {
265
+ service: "Projects",
266
+ operation: "RecordProjectVisit",
267
+ resourceType: "project",
268
+ isMutation: true,
269
+ projectId,
270
+ },
271
+ () =>
272
+ this.client.POST("/projects/{projectId}/recent_visit.json", {
273
+ params: {
274
+ path: { projectId },
275
+ },
276
+ })
277
+ );
278
+ }
279
+
227
280
  /**
228
281
  * Restore a project to active status from trash as well as from the archive.
229
282
  * @param projectId - The project ID
@@ -43,6 +43,30 @@ export declare class RecordingsService extends BaseService {
43
43
  * ```
44
44
  */
45
45
  list(type: "Comment" | "Document" | "Door" | "Kanban::Card" | "Kanban::Step" | "Message" | "Question::Answer" | "Schedule::Entry" | "Todo" | "Todolist" | "Upload" | "Vault", options?: ListRecordingOptions): Promise<ListResult<Recording>>;
46
+ /**
47
+ * Put a recording's card in the spotlight area on its project or template home page.
48
+ * @param recordingId - The recording ID
49
+ * @returns The Recording
50
+ * @throws {BasecampError} If the request fails
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const result = await client.recordings.spotlight(123);
55
+ * ```
56
+ */
57
+ spotlight(recordingId: number): Promise<Recording>;
58
+ /**
59
+ * Remove a recording from the spotlight area.
60
+ * @param recordingId - The recording ID
61
+ * @returns void
62
+ * @throws {BasecampError} If the request fails
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * await client.recordings.unspotlight(123);
67
+ * ```
68
+ */
69
+ unspotlight(recordingId: number): Promise<void>;
46
70
  /**
47
71
  * Unarchive a recording (restore to active status)
48
72
  * @param recordingId - The recording ID
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../../src/generated/services/recordings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAEhD;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAkBnP;;;;;;;;;;OAUG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD;;;;;;;;;;OAUG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBhD"}
1
+ {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../../src/generated/services/recordings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAEhD;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAkBnP;;;;;;;;;;OAUG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBxD;;;;;;;;;;OAUG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrD;;;;;;;;;;OAUG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD;;;;;;;;;;OAUG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBhD"}
@@ -37,6 +37,55 @@ export class RecordingsService extends BaseService {
37
37
  },
38
38
  }), options);
39
39
  }
40
+ /**
41
+ * Put a recording's card in the spotlight area on its project or template home page.
42
+ * @param recordingId - The recording ID
43
+ * @returns The Recording
44
+ * @throws {BasecampError} If the request fails
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const result = await client.recordings.spotlight(123);
49
+ * ```
50
+ */
51
+ async spotlight(recordingId) {
52
+ const response = await this.request({
53
+ service: "Recordings",
54
+ operation: "SpotlightRecording",
55
+ resourceType: "recording",
56
+ isMutation: true,
57
+ resourceId: recordingId,
58
+ }, () => this.client.POST("/recordings/{recordingId}/spotlight.json", {
59
+ params: {
60
+ path: { recordingId },
61
+ },
62
+ }));
63
+ return response;
64
+ }
65
+ /**
66
+ * Remove a recording from the spotlight area.
67
+ * @param recordingId - The recording ID
68
+ * @returns void
69
+ * @throws {BasecampError} If the request fails
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * await client.recordings.unspotlight(123);
74
+ * ```
75
+ */
76
+ async unspotlight(recordingId) {
77
+ await this.request({
78
+ service: "Recordings",
79
+ operation: "UnspotlightRecording",
80
+ resourceType: "recording",
81
+ isMutation: true,
82
+ resourceId: recordingId,
83
+ }, () => this.client.DELETE("/recordings/{recordingId}/spotlight.json", {
84
+ params: {
85
+ path: { recordingId },
86
+ },
87
+ }));
88
+ }
40
89
  /**
41
90
  * Unarchive a recording (restore to active status)
42
91
  * @param recordingId - The recording ID
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../../src/generated/services/recordings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA6BrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAEhD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,IAAuK,EAAE,OAA8B;QAChN,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE;YAC3C,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5J;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,EAAE;YAC9D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC/B,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,kBAAkB;YAC7B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,EAAE;YAChE,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CAAC,WAAmB;QAC7B,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,EAAE;YAC/D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../../src/generated/services/recordings.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,65 @@ export class RecordingsService extends BaseService {
74
74
  );
75
75
  }
76
76
 
77
+ /**
78
+ * Put a recording's card in the spotlight area on its project or template home page.
79
+ * @param recordingId - The recording ID
80
+ * @returns The Recording
81
+ * @throws {BasecampError} If the request fails
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const result = await client.recordings.spotlight(123);
86
+ * ```
87
+ */
88
+ async spotlight(recordingId: number): Promise<Recording> {
89
+ const response = await this.request(
90
+ {
91
+ service: "Recordings",
92
+ operation: "SpotlightRecording",
93
+ resourceType: "recording",
94
+ isMutation: true,
95
+ resourceId: recordingId,
96
+ },
97
+ () =>
98
+ this.client.POST("/recordings/{recordingId}/spotlight.json", {
99
+ params: {
100
+ path: { recordingId },
101
+ },
102
+ })
103
+ );
104
+ return response;
105
+ }
106
+
107
+ /**
108
+ * Remove a recording from the spotlight area.
109
+ * @param recordingId - The recording ID
110
+ * @returns void
111
+ * @throws {BasecampError} If the request fails
112
+ *
113
+ * @example
114
+ * ```ts
115
+ * await client.recordings.unspotlight(123);
116
+ * ```
117
+ */
118
+ async unspotlight(recordingId: number): Promise<void> {
119
+ await this.request(
120
+ {
121
+ service: "Recordings",
122
+ operation: "UnspotlightRecording",
123
+ resourceType: "recording",
124
+ isMutation: true,
125
+ resourceId: recordingId,
126
+ },
127
+ () =>
128
+ this.client.DELETE("/recordings/{recordingId}/spotlight.json", {
129
+ params: {
130
+ path: { recordingId },
131
+ },
132
+ })
133
+ );
134
+ }
135
+
77
136
  /**
78
137
  * Unarchive a recording (restore to active status)
79
138
  * @param recordingId - The recording ID
@@ -9,6 +9,17 @@ import { ListResult } from "../../pagination.js";
9
9
  import type { PaginationOptions } from "../../pagination.js";
10
10
  /** Template entity from the Basecamp API. */
11
11
  export type Template = components["schemas"]["Template"];
12
+ /**
13
+ * Request parameters for createLibraryCopy.
14
+ */
15
+ export interface CreateLibraryCopyTemplateRequest {
16
+ /** Template recording id */
17
+ templateRecordingId: number;
18
+ /** Destination parent id */
19
+ destinationParentId: number;
20
+ /** Confirm granting destination-project access to people referenced by the template. */
21
+ addingPeopleConfirmed?: boolean;
22
+ }
12
23
  /**
13
24
  * Options for list.
14
25
  */
@@ -47,6 +58,41 @@ export interface CreateProjectTemplateRequest {
47
58
  * Service for Templates operations.
48
59
  */
49
60
  export declare class TemplatesService extends BaseService {
61
+ /**
62
+ * Get the account's to-do list template library
63
+ * @returns The template_library
64
+ * @throws {BasecampError} If the resource is not found
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const result = await client.templates.getLibrary();
69
+ * ```
70
+ */
71
+ getLibrary(): Promise<components["schemas"]["GetTemplateLibraryResponseContent"]>;
72
+ /**
73
+ * Start copying a to-do list template into a project
74
+ * @param req - Template_library_copy creation parameters
75
+ * @returns The template_library_copy
76
+ * @throws {BasecampError} If required fields are missing or invalid
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * const result = await client.templates.createLibraryCopy({ templateRecordingId: 1, destinationParentId: 1 });
81
+ * ```
82
+ */
83
+ createLibraryCopy(req: CreateLibraryCopyTemplateRequest): Promise<components["schemas"]["CreateTemplateLibraryCopyResponseContent"]>;
84
+ /**
85
+ * Get the current status of a to-do list template copy
86
+ * @param copyId - The copy ID
87
+ * @returns The template_library_copy
88
+ * @throws {BasecampError} If the resource is not found
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * const result = await client.templates.getLibraryCopy(123);
93
+ * ```
94
+ */
95
+ getLibraryCopy(copyId: number): Promise<components["schemas"]["GetTemplateLibraryCopyResponseContent"]>;
50
96
  /**
51
97
  * List all templates visible to the current user
52
98
  * @param options - Optional query parameters
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACjE;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAkBxE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB3D;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAyBtJ;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;CAkB3I"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,4BAA4B;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACjE;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;OASG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAevF;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,GAAG,EAAE,gCAAgC,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAoB1I;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;IAmB7G;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAkBxE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB3D;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAyBtJ;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;CAkB3I"}
@@ -12,6 +12,76 @@ import { Errors } from "../../errors.js";
12
12
  * Service for Templates operations.
13
13
  */
14
14
  export class TemplatesService extends BaseService {
15
+ /**
16
+ * Get the account's to-do list template library
17
+ * @returns The template_library
18
+ * @throws {BasecampError} If the resource is not found
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await client.templates.getLibrary();
23
+ * ```
24
+ */
25
+ async getLibrary() {
26
+ const response = await this.request({
27
+ service: "Templates",
28
+ operation: "GetTemplateLibrary",
29
+ resourceType: "template_library",
30
+ isMutation: false,
31
+ }, () => this.client.GET("/template_library.json", {}));
32
+ return response;
33
+ }
34
+ /**
35
+ * Start copying a to-do list template into a project
36
+ * @param req - Template_library_copy creation parameters
37
+ * @returns The template_library_copy
38
+ * @throws {BasecampError} If required fields are missing or invalid
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const result = await client.templates.createLibraryCopy({ templateRecordingId: 1, destinationParentId: 1 });
43
+ * ```
44
+ */
45
+ async createLibraryCopy(req) {
46
+ const response = await this.request({
47
+ service: "Templates",
48
+ operation: "CreateTemplateLibraryCopy",
49
+ resourceType: "template_library_copy",
50
+ isMutation: true,
51
+ }, () => this.client.POST("/template_library/copies.json", {
52
+ body: {
53
+ template_recording_id: req.templateRecordingId,
54
+ destination_parent_id: req.destinationParentId,
55
+ adding_people_confirmed: req.addingPeopleConfirmed,
56
+ },
57
+ }));
58
+ return response;
59
+ }
60
+ /**
61
+ * Get the current status of a to-do list template copy
62
+ * @param copyId - The copy ID
63
+ * @returns The template_library_copy
64
+ * @throws {BasecampError} If the resource is not found
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const result = await client.templates.getLibraryCopy(123);
69
+ * ```
70
+ */
71
+ async getLibraryCopy(copyId) {
72
+ const response = await this.request({
73
+ service: "Templates",
74
+ operation: "GetTemplateLibraryCopy",
75
+ resourceType: "template_library_copy",
76
+ isMutation: false,
77
+ resourceId: copyId,
78
+ }, () => this.client.GET("/template_library/copies/{copyId}", {
79
+ params: {
80
+ path: { copyId },
81
+ },
82
+ }));
83
+ return response;
84
+ }
15
85
  /**
16
86
  * List all templates visible to the current user
17
87
  * @param options - Optional query parameters
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,18 @@ import { Errors } from "../../errors.js";
17
17
  /** Template entity from the Basecamp API. */
18
18
  export type Template = components["schemas"]["Template"];
19
19
 
20
+ /**
21
+ * Request parameters for createLibraryCopy.
22
+ */
23
+ export interface CreateLibraryCopyTemplateRequest {
24
+ /** Template recording id */
25
+ templateRecordingId: number;
26
+ /** Destination parent id */
27
+ destinationParentId: number;
28
+ /** Confirm granting destination-project access to people referenced by the template. */
29
+ addingPeopleConfirmed?: boolean;
30
+ }
31
+
20
32
  /**
21
33
  * Options for list.
22
34
  */
@@ -65,6 +77,92 @@ export interface CreateProjectTemplateRequest {
65
77
  */
66
78
  export class TemplatesService extends BaseService {
67
79
 
80
+ /**
81
+ * Get the account's to-do list template library
82
+ * @returns The template_library
83
+ * @throws {BasecampError} If the resource is not found
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const result = await client.templates.getLibrary();
88
+ * ```
89
+ */
90
+ async getLibrary(): Promise<components["schemas"]["GetTemplateLibraryResponseContent"]> {
91
+ const response = await this.request(
92
+ {
93
+ service: "Templates",
94
+ operation: "GetTemplateLibrary",
95
+ resourceType: "template_library",
96
+ isMutation: false,
97
+ },
98
+ () =>
99
+ this.client.GET("/template_library.json", {
100
+ })
101
+ );
102
+ return response;
103
+ }
104
+
105
+ /**
106
+ * Start copying a to-do list template into a project
107
+ * @param req - Template_library_copy creation parameters
108
+ * @returns The template_library_copy
109
+ * @throws {BasecampError} If required fields are missing or invalid
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const result = await client.templates.createLibraryCopy({ templateRecordingId: 1, destinationParentId: 1 });
114
+ * ```
115
+ */
116
+ async createLibraryCopy(req: CreateLibraryCopyTemplateRequest): Promise<components["schemas"]["CreateTemplateLibraryCopyResponseContent"]> {
117
+ const response = await this.request(
118
+ {
119
+ service: "Templates",
120
+ operation: "CreateTemplateLibraryCopy",
121
+ resourceType: "template_library_copy",
122
+ isMutation: true,
123
+ },
124
+ () =>
125
+ this.client.POST("/template_library/copies.json", {
126
+ body: {
127
+ template_recording_id: req.templateRecordingId,
128
+ destination_parent_id: req.destinationParentId,
129
+ adding_people_confirmed: req.addingPeopleConfirmed,
130
+ },
131
+ })
132
+ );
133
+ return response;
134
+ }
135
+
136
+ /**
137
+ * Get the current status of a to-do list template copy
138
+ * @param copyId - The copy ID
139
+ * @returns The template_library_copy
140
+ * @throws {BasecampError} If the resource is not found
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * const result = await client.templates.getLibraryCopy(123);
145
+ * ```
146
+ */
147
+ async getLibraryCopy(copyId: number): Promise<components["schemas"]["GetTemplateLibraryCopyResponseContent"]> {
148
+ const response = await this.request(
149
+ {
150
+ service: "Templates",
151
+ operation: "GetTemplateLibraryCopy",
152
+ resourceType: "template_library_copy",
153
+ isMutation: false,
154
+ resourceId: copyId,
155
+ },
156
+ () =>
157
+ this.client.GET("/template_library/copies/{copyId}", {
158
+ params: {
159
+ path: { copyId },
160
+ },
161
+ })
162
+ );
163
+ return response;
164
+ }
165
+
68
166
  /**
69
167
  * List all templates visible to the current user
70
168
  * @param options - Optional query parameters
package/dist/index.d.ts CHANGED
@@ -35,7 +35,7 @@ export { fetchAllPages, paginateAll } from "./client.js";
35
35
  export { ListResult, parseTotalCount, type ListMeta, type PaginationOptions } from "./pagination.js";
36
36
  export { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
37
37
  export { type DownloadResult, filenameFromURL } from "./download.js";
38
- export { BasecampError, Errors, errorFromParsedBody, errorFromResponse, isBasecampError, isErrorCode, type ErrorCode, type BasecampErrorOptions, } from "./errors.js";
38
+ export { BasecampError, PeopleConfirmationRequiredError, Errors, errorFromParsedBody, errorFromResponse, isBasecampError, isErrorCode, type ErrorCode, type BasecampErrorOptions, type TemplateLibraryConfirmationPerson, } from "./errors.js";
39
39
  export { chainHooks, consoleHooks, noopHooks, safeInvoke, type BasecampHooks, type OperationInfo, type RequestInfo, type RequestResult, type OperationResult, type ConsoleHooksOptions, } from "./hooks.js";
40
40
  export { BaseService, type FetchResponse } from "./services/base.js";
41
41
  export { AuthorizationService, type Identity, type AuthorizedAccount, type AuthorizationInfo, type GetAuthorizationInfoOptions, } from "./services/authorization.js";
@@ -46,7 +46,7 @@ export { TodolistsService, type UpdateTodolistRequest, type TodolistFields, } fr
46
46
  export { type Todolist, type ListTodolistOptions, type CreateTodolistRequest, type ReplaceTodolistRequest, type RepositionTodolistRequest, } from "./generated/services/todolists.js";
47
47
  export { TodosetsService, type Todoset, } from "./generated/services/todosets.js";
48
48
  export { HillChartsService, type UpdateSettingsHillChartRequest, } from "./generated/services/hill-charts.js";
49
- export { PeopleService, type Person, type UpdateProjectAccessPeopleRequest, } from "./generated/services/people.js";
49
+ export { PeopleService, type Person, type UpdateProjectAccessPeopleRequest, type UpdateProjectClientAccessPeopleRequest, } from "./generated/services/people.js";
50
50
  export { MessagesService, type Message, type CreateMessageRequest, type UpdateMessageRequest, } from "./generated/services/messages.js";
51
51
  export { CommentsService, type Comment, type CreateCommentRequest, type UpdateCommentRequest, } from "./generated/services/comments.js";
52
52
  export { CampfiresService, type Campfire, type CampfireLine, type Chatbot, type CreateChatbotCampfireRequest, type UpdateChatbotCampfireRequest, type CreateLineCampfireRequest, } from "./generated/services/campfires.js";
@@ -70,6 +70,7 @@ export { verifyWebhookSignature, signWebhookPayload } from "./webhooks/verify.js
70
70
  export { parseEventKind, WebhookEventKind, type WebhookEvent, type WebhookDelivery, type WebhookDeliveryRequest, type WebhookDeliveryResponse, type WebhookCopy, } from "./webhooks/events.js";
71
71
  export { createNodeHandler, type NodeHandlerOptions } from "./webhooks/adapters/node-http.js";
72
72
  export { BookmarksService, type Bookmark, type BookmarkStatus, type ListMyBookmarksBookmarkOptions, } from "./generated/services/bookmarks.js";
73
+ export { BubbleUpsService, type CreateBubbleUpBubbleUpRequest, } from "./generated/services/bubble-ups.js";
73
74
  export { FoldersService, type Folder, type FolderWithProjects, type CreateFolderFolderRequest, type UpdateFolderFolderRequest, } from "./generated/services/folders.js";
74
75
  export { DraftsService, type Draft, type ListMyDraftsDraftOptions, } from "./generated/services/drafts.js";
75
76
  export { CalendarsService, type Calendar, type UpdateCalendarCalendarRequest, } from "./generated/services/calendars.js";
@@ -92,7 +93,7 @@ export { EverythingService, type EverythingFile, type BucketTodosGroup, type Buc
92
93
  export { SearchService, type SearchSearchOptions, } from "./generated/services/search.js";
93
94
  export { ReportsService, type PersonProgressReportOptions, } from "./generated/services/reports.js";
94
95
  export { RecordingsService, type Recording, type ListRecordingOptions, } from "./generated/services/recordings.js";
95
- export { TemplatesService, type Template, type ListTemplateOptions, type CreateTemplateRequest, type UpdateTemplateRequest, type CreateProjectTemplateRequest, } from "./generated/services/templates.js";
96
+ export { TemplatesService, type Template, type ListTemplateOptions, type CreateTemplateRequest, type UpdateTemplateRequest, type CreateProjectTemplateRequest, type CreateLibraryCopyTemplateRequest, } from "./generated/services/templates.js";
96
97
  export { LineupService, type CreateLineupRequest, type UpdateLineupRequest, } from "./generated/services/lineup.js";
97
98
  export { AutomationService, type LineupMarker, } from "./generated/services/automation.js";
98
99
  export { TodolistGroupsService, type CreateTodolistGroupRequest, } from "./generated/services/todolist-groups.js";