@37signals/basecamp 0.2.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 (356) hide show
  1. package/README.md +600 -0
  2. package/dist/auth-strategy.d.ts +36 -0
  3. package/dist/auth-strategy.d.ts.map +1 -0
  4. package/dist/auth-strategy.js +33 -0
  5. package/dist/auth-strategy.js.map +1 -0
  6. package/dist/client.d.ts +224 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +715 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/errors.d.ts +137 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +269 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/generated/metadata.json +2281 -0
  15. package/dist/generated/openapi-stripped.json +21268 -0
  16. package/dist/generated/path-mapping.d.ts +8 -0
  17. package/dist/generated/path-mapping.d.ts.map +1 -0
  18. package/dist/generated/path-mapping.js +192 -0
  19. package/dist/generated/path-mapping.js.map +1 -0
  20. package/dist/generated/path-mapping.ts +199 -0
  21. package/dist/generated/schema.d.ts +14883 -0
  22. package/dist/generated/services/attachments.d.ts +27 -0
  23. package/dist/generated/services/attachments.d.ts.map +1 -0
  24. package/dist/generated/services/attachments.js +49 -0
  25. package/dist/generated/services/attachments.js.map +1 -0
  26. package/dist/generated/services/attachments.ts +59 -0
  27. package/dist/generated/services/boosts.d.ts +114 -0
  28. package/dist/generated/services/boosts.d.ts.map +1 -0
  29. package/dist/generated/services/boosts.js +179 -0
  30. package/dist/generated/services/boosts.js.map +1 -0
  31. package/dist/generated/services/boosts.ts +250 -0
  32. package/dist/generated/services/campfires.d.ts +202 -0
  33. package/dist/generated/services/campfires.d.ts.map +1 -0
  34. package/dist/generated/services/campfires.js +309 -0
  35. package/dist/generated/services/campfires.js.map +1 -0
  36. package/dist/generated/services/campfires.ts +433 -0
  37. package/dist/generated/services/card-columns.d.ts +163 -0
  38. package/dist/generated/services/card-columns.d.ts.map +1 -0
  39. package/dist/generated/services/card-columns.js +264 -0
  40. package/dist/generated/services/card-columns.js.map +1 -0
  41. package/dist/generated/services/card-columns.ts +360 -0
  42. package/dist/generated/services/card-steps.d.ts +105 -0
  43. package/dist/generated/services/card-steps.d.ts.map +1 -0
  44. package/dist/generated/services/card-steps.js +148 -0
  45. package/dist/generated/services/card-steps.js.map +1 -0
  46. package/dist/generated/services/card-steps.ts +221 -0
  47. package/dist/generated/services/card-tables.d.ts +27 -0
  48. package/dist/generated/services/card-tables.d.ts.map +1 -0
  49. package/dist/generated/services/card-tables.js +40 -0
  50. package/dist/generated/services/card-tables.js.map +1 -0
  51. package/dist/generated/services/card-tables.ts +55 -0
  52. package/dist/generated/services/cards.d.ts +118 -0
  53. package/dist/generated/services/cards.d.ts.map +1 -0
  54. package/dist/generated/services/cards.js +166 -0
  55. package/dist/generated/services/cards.js.map +1 -0
  56. package/dist/generated/services/cards.ts +247 -0
  57. package/dist/generated/services/checkins.d.ts +278 -0
  58. package/dist/generated/services/checkins.d.ts.map +1 -0
  59. package/dist/generated/services/checkins.js +420 -0
  60. package/dist/generated/services/checkins.js.map +1 -0
  61. package/dist/generated/services/checkins.ts +600 -0
  62. package/dist/generated/services/client-approvals.d.ts +45 -0
  63. package/dist/generated/services/client-approvals.d.ts.map +1 -0
  64. package/dist/generated/services/client-approvals.js +58 -0
  65. package/dist/generated/services/client-approvals.js.map +1 -0
  66. package/dist/generated/services/client-approvals.ts +89 -0
  67. package/dist/generated/services/client-correspondences.d.ts +45 -0
  68. package/dist/generated/services/client-correspondences.d.ts.map +1 -0
  69. package/dist/generated/services/client-correspondences.js +58 -0
  70. package/dist/generated/services/client-correspondences.js.map +1 -0
  71. package/dist/generated/services/client-correspondences.ts +89 -0
  72. package/dist/generated/services/client-replies.d.ts +47 -0
  73. package/dist/generated/services/client-replies.d.ts.map +1 -0
  74. package/dist/generated/services/client-replies.js +65 -0
  75. package/dist/generated/services/client-replies.js.map +1 -0
  76. package/dist/generated/services/client-replies.ts +95 -0
  77. package/dist/generated/services/client-visibility.d.ts +35 -0
  78. package/dist/generated/services/client-visibility.d.ts.map +1 -0
  79. package/dist/generated/services/client-visibility.js +44 -0
  80. package/dist/generated/services/client-visibility.js.map +1 -0
  81. package/dist/generated/services/client-visibility.ts +68 -0
  82. package/dist/generated/services/comments.d.ts +86 -0
  83. package/dist/generated/services/comments.d.ts.map +1 -0
  84. package/dist/generated/services/comments.js +129 -0
  85. package/dist/generated/services/comments.js.map +1 -0
  86. package/dist/generated/services/comments.ts +185 -0
  87. package/dist/generated/services/documents.d.ts +92 -0
  88. package/dist/generated/services/documents.d.ts.map +1 -0
  89. package/dist/generated/services/documents.js +129 -0
  90. package/dist/generated/services/documents.js.map +1 -0
  91. package/dist/generated/services/documents.ts +191 -0
  92. package/dist/generated/services/events.d.ts +34 -0
  93. package/dist/generated/services/events.d.ts.map +1 -0
  94. package/dist/generated/services/events.js +39 -0
  95. package/dist/generated/services/events.js.map +1 -0
  96. package/dist/generated/services/events.ts +64 -0
  97. package/dist/generated/services/forwards.d.ts +112 -0
  98. package/dist/generated/services/forwards.d.ts.map +1 -0
  99. package/dist/generated/services/forwards.js +172 -0
  100. package/dist/generated/services/forwards.js.map +1 -0
  101. package/dist/generated/services/forwards.ts +241 -0
  102. package/dist/generated/services/index.d.ts +39 -0
  103. package/dist/generated/services/index.d.ts.map +1 -0
  104. package/dist/generated/services/index.js +39 -0
  105. package/dist/generated/services/index.js.map +1 -0
  106. package/dist/generated/services/index.ts +38 -0
  107. package/dist/generated/services/lineup.d.ts +67 -0
  108. package/dist/generated/services/lineup.d.ts.map +1 -0
  109. package/dist/generated/services/lineup.js +99 -0
  110. package/dist/generated/services/lineup.js.map +1 -0
  111. package/dist/generated/services/lineup.ts +143 -0
  112. package/dist/generated/services/message-boards.d.ts +27 -0
  113. package/dist/generated/services/message-boards.d.ts.map +1 -0
  114. package/dist/generated/services/message-boards.js +40 -0
  115. package/dist/generated/services/message-boards.js.map +1 -0
  116. package/dist/generated/services/message-boards.ts +55 -0
  117. package/dist/generated/services/message-types.d.ts +100 -0
  118. package/dist/generated/services/message-types.d.ts.map +1 -0
  119. package/dist/generated/services/message-types.js +144 -0
  120. package/dist/generated/services/message-types.js.map +1 -0
  121. package/dist/generated/services/message-types.ts +210 -0
  122. package/dist/generated/services/messages.d.ts +122 -0
  123. package/dist/generated/services/messages.d.ts.map +1 -0
  124. package/dist/generated/services/messages.js +180 -0
  125. package/dist/generated/services/messages.js.map +1 -0
  126. package/dist/generated/services/messages.ts +258 -0
  127. package/dist/generated/services/people.d.ts +122 -0
  128. package/dist/generated/services/people.d.ts.map +1 -0
  129. package/dist/generated/services/people.js +167 -0
  130. package/dist/generated/services/people.js.map +1 -0
  131. package/dist/generated/services/people.ts +252 -0
  132. package/dist/generated/services/projects.d.ts +109 -0
  133. package/dist/generated/services/projects.d.ts.map +1 -0
  134. package/dist/generated/services/projects.js +153 -0
  135. package/dist/generated/services/projects.js.map +1 -0
  136. package/dist/generated/services/projects.ts +224 -0
  137. package/dist/generated/services/recordings.d.ts +93 -0
  138. package/dist/generated/services/recordings.d.ts.map +1 -0
  139. package/dist/generated/services/recordings.js +138 -0
  140. package/dist/generated/services/recordings.js.map +1 -0
  141. package/dist/generated/services/recordings.ts +191 -0
  142. package/dist/generated/services/reports.d.ts +90 -0
  143. package/dist/generated/services/reports.d.ts.map +1 -0
  144. package/dist/generated/services/reports.js +124 -0
  145. package/dist/generated/services/reports.js.map +1 -0
  146. package/dist/generated/services/reports.ts +187 -0
  147. package/dist/generated/services/schedules.d.ts +162 -0
  148. package/dist/generated/services/schedules.d.ts.map +1 -0
  149. package/dist/generated/services/schedules.js +228 -0
  150. package/dist/generated/services/schedules.js.map +1 -0
  151. package/dist/generated/services/schedules.ts +335 -0
  152. package/dist/generated/services/search.d.ts +45 -0
  153. package/dist/generated/services/search.d.ts.map +1 -0
  154. package/dist/generated/services/search.js +56 -0
  155. package/dist/generated/services/search.js.map +1 -0
  156. package/dist/generated/services/search.ts +89 -0
  157. package/dist/generated/services/subscriptions.d.ts +73 -0
  158. package/dist/generated/services/subscriptions.d.ts.map +1 -0
  159. package/dist/generated/services/subscriptions.js +119 -0
  160. package/dist/generated/services/subscriptions.js.map +1 -0
  161. package/dist/generated/services/subscriptions.ts +160 -0
  162. package/dist/generated/services/templates.d.ts +140 -0
  163. package/dist/generated/services/templates.d.ts.map +1 -0
  164. package/dist/generated/services/templates.js +207 -0
  165. package/dist/generated/services/templates.js.map +1 -0
  166. package/dist/generated/services/templates.ts +294 -0
  167. package/dist/generated/services/timeline.d.ts +31 -0
  168. package/dist/generated/services/timeline.d.ts.map +1 -0
  169. package/dist/generated/services/timeline.js +39 -0
  170. package/dist/generated/services/timeline.js.map +1 -0
  171. package/dist/generated/services/timeline.ts +62 -0
  172. package/dist/generated/services/timesheets.d.ts +145 -0
  173. package/dist/generated/services/timesheets.d.ts.map +1 -0
  174. package/dist/generated/services/timesheets.js +186 -0
  175. package/dist/generated/services/timesheets.js.map +1 -0
  176. package/dist/generated/services/timesheets.ts +289 -0
  177. package/dist/generated/services/todolist-groups.d.ts +74 -0
  178. package/dist/generated/services/todolist-groups.d.ts.map +1 -0
  179. package/dist/generated/services/todolist-groups.js +100 -0
  180. package/dist/generated/services/todolist-groups.js.map +1 -0
  181. package/dist/generated/services/todolist-groups.ts +151 -0
  182. package/dist/generated/services/todolists.d.ts +95 -0
  183. package/dist/generated/services/todolists.d.ts.map +1 -0
  184. package/dist/generated/services/todolists.js +130 -0
  185. package/dist/generated/services/todolists.js.map +1 -0
  186. package/dist/generated/services/todolists.ts +192 -0
  187. package/dist/generated/services/todos.d.ts +175 -0
  188. package/dist/generated/services/todos.d.ts.map +1 -0
  189. package/dist/generated/services/todos.js +255 -0
  190. package/dist/generated/services/todos.js.map +1 -0
  191. package/dist/generated/services/todos.ts +369 -0
  192. package/dist/generated/services/todosets.d.ts +27 -0
  193. package/dist/generated/services/todosets.d.ts.map +1 -0
  194. package/dist/generated/services/todosets.js +40 -0
  195. package/dist/generated/services/todosets.js.map +1 -0
  196. package/dist/generated/services/todosets.ts +55 -0
  197. package/dist/generated/services/tools.d.ts +122 -0
  198. package/dist/generated/services/tools.d.ts.map +1 -0
  199. package/dist/generated/services/tools.js +197 -0
  200. package/dist/generated/services/tools.js.map +1 -0
  201. package/dist/generated/services/tools.ts +267 -0
  202. package/dist/generated/services/uploads.d.ts +109 -0
  203. package/dist/generated/services/uploads.d.ts.map +1 -0
  204. package/dist/generated/services/uploads.js +153 -0
  205. package/dist/generated/services/uploads.js.map +1 -0
  206. package/dist/generated/services/uploads.ts +227 -0
  207. package/dist/generated/services/vaults.d.ts +86 -0
  208. package/dist/generated/services/vaults.d.ts.map +1 -0
  209. package/dist/generated/services/vaults.js +126 -0
  210. package/dist/generated/services/vaults.js.map +1 -0
  211. package/dist/generated/services/vaults.ts +182 -0
  212. package/dist/generated/services/webhooks.d.ts +106 -0
  213. package/dist/generated/services/webhooks.d.ts.map +1 -0
  214. package/dist/generated/services/webhooks.js +157 -0
  215. package/dist/generated/services/webhooks.js.map +1 -0
  216. package/dist/generated/services/webhooks.ts +226 -0
  217. package/dist/hooks/otel.d.ts +136 -0
  218. package/dist/hooks/otel.d.ts.map +1 -0
  219. package/dist/hooks/otel.js +240 -0
  220. package/dist/hooks/otel.js.map +1 -0
  221. package/dist/hooks.d.ts +171 -0
  222. package/dist/hooks.d.ts.map +1 -0
  223. package/dist/hooks.js +196 -0
  224. package/dist/hooks.js.map +1 -0
  225. package/dist/index.d.ts +90 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +122 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/oauth/authorize.d.ts +48 -0
  230. package/dist/oauth/authorize.d.ts.map +1 -0
  231. package/dist/oauth/authorize.js +56 -0
  232. package/dist/oauth/authorize.js.map +1 -0
  233. package/dist/oauth/callback-server.d.ts +56 -0
  234. package/dist/oauth/callback-server.d.ts.map +1 -0
  235. package/dist/oauth/callback-server.js +150 -0
  236. package/dist/oauth/callback-server.js.map +1 -0
  237. package/dist/oauth/discovery.d.ts +54 -0
  238. package/dist/oauth/discovery.d.ts.map +1 -0
  239. package/dist/oauth/discovery.js +116 -0
  240. package/dist/oauth/discovery.js.map +1 -0
  241. package/dist/oauth/exchange.d.ts +96 -0
  242. package/dist/oauth/exchange.d.ts.map +1 -0
  243. package/dist/oauth/exchange.js +324 -0
  244. package/dist/oauth/exchange.js.map +1 -0
  245. package/dist/oauth/identity.d.ts +30 -0
  246. package/dist/oauth/identity.d.ts.map +1 -0
  247. package/dist/oauth/identity.js +82 -0
  248. package/dist/oauth/identity.js.map +1 -0
  249. package/dist/oauth/index.d.ts +50 -0
  250. package/dist/oauth/index.d.ts.map +1 -0
  251. package/dist/oauth/index.js +58 -0
  252. package/dist/oauth/index.js.map +1 -0
  253. package/dist/oauth/interactive-login.d.ts +62 -0
  254. package/dist/oauth/interactive-login.d.ts.map +1 -0
  255. package/dist/oauth/interactive-login.js +106 -0
  256. package/dist/oauth/interactive-login.js.map +1 -0
  257. package/dist/oauth/pkce.d.ts +68 -0
  258. package/dist/oauth/pkce.d.ts.map +1 -0
  259. package/dist/oauth/pkce.js +80 -0
  260. package/dist/oauth/pkce.js.map +1 -0
  261. package/dist/oauth/token-manager.d.ts +92 -0
  262. package/dist/oauth/token-manager.d.ts.map +1 -0
  263. package/dist/oauth/token-manager.js +126 -0
  264. package/dist/oauth/token-manager.js.map +1 -0
  265. package/dist/oauth/token-store.d.ts +45 -0
  266. package/dist/oauth/token-store.d.ts.map +1 -0
  267. package/dist/oauth/token-store.js +105 -0
  268. package/dist/oauth/token-store.js.map +1 -0
  269. package/dist/oauth/types.d.ts +98 -0
  270. package/dist/oauth/types.d.ts.map +1 -0
  271. package/dist/oauth/types.js +8 -0
  272. package/dist/oauth/types.js.map +1 -0
  273. package/dist/pagination-utils.d.ts +27 -0
  274. package/dist/pagination-utils.d.ts.map +1 -0
  275. package/dist/pagination-utils.js +54 -0
  276. package/dist/pagination-utils.js.map +1 -0
  277. package/dist/pagination.d.ts +56 -0
  278. package/dist/pagination.d.ts.map +1 -0
  279. package/dist/pagination.js +57 -0
  280. package/dist/pagination.js.map +1 -0
  281. package/dist/security.d.ts +68 -0
  282. package/dist/security.d.ts.map +1 -0
  283. package/dist/security.js +107 -0
  284. package/dist/security.js.map +1 -0
  285. package/dist/services/authorization.d.ts +124 -0
  286. package/dist/services/authorization.d.ts.map +1 -0
  287. package/dist/services/authorization.js +117 -0
  288. package/dist/services/authorization.js.map +1 -0
  289. package/dist/services/base.d.ts +102 -0
  290. package/dist/services/base.d.ts.map +1 -0
  291. package/dist/services/base.js +230 -0
  292. package/dist/services/base.js.map +1 -0
  293. package/dist/webhooks/adapters/node-http.d.ts +14 -0
  294. package/dist/webhooks/adapters/node-http.d.ts.map +1 -0
  295. package/dist/webhooks/adapters/node-http.js +60 -0
  296. package/dist/webhooks/adapters/node-http.js.map +1 -0
  297. package/dist/webhooks/events.d.ts +52 -0
  298. package/dist/webhooks/events.d.ts.map +1 -0
  299. package/dist/webhooks/events.js +52 -0
  300. package/dist/webhooks/events.js.map +1 -0
  301. package/dist/webhooks/handler.d.ts +62 -0
  302. package/dist/webhooks/handler.d.ts.map +1 -0
  303. package/dist/webhooks/handler.js +226 -0
  304. package/dist/webhooks/handler.js.map +1 -0
  305. package/dist/webhooks/index.d.ts +5 -0
  306. package/dist/webhooks/index.d.ts.map +1 -0
  307. package/dist/webhooks/index.js +5 -0
  308. package/dist/webhooks/index.js.map +1 -0
  309. package/dist/webhooks/verify.d.ts +11 -0
  310. package/dist/webhooks/verify.d.ts.map +1 -0
  311. package/dist/webhooks/verify.js +25 -0
  312. package/dist/webhooks/verify.js.map +1 -0
  313. package/package.json +70 -0
  314. package/src/generated/metadata.json +2281 -0
  315. package/src/generated/openapi-stripped.json +21268 -0
  316. package/src/generated/path-mapping.ts +199 -0
  317. package/src/generated/schema.d.ts +14883 -0
  318. package/src/generated/services/attachments.ts +59 -0
  319. package/src/generated/services/boosts.ts +250 -0
  320. package/src/generated/services/campfires.ts +433 -0
  321. package/src/generated/services/card-columns.ts +360 -0
  322. package/src/generated/services/card-steps.ts +221 -0
  323. package/src/generated/services/card-tables.ts +55 -0
  324. package/src/generated/services/cards.ts +247 -0
  325. package/src/generated/services/checkins.ts +600 -0
  326. package/src/generated/services/client-approvals.ts +89 -0
  327. package/src/generated/services/client-correspondences.ts +89 -0
  328. package/src/generated/services/client-replies.ts +95 -0
  329. package/src/generated/services/client-visibility.ts +68 -0
  330. package/src/generated/services/comments.ts +185 -0
  331. package/src/generated/services/documents.ts +191 -0
  332. package/src/generated/services/events.ts +64 -0
  333. package/src/generated/services/forwards.ts +241 -0
  334. package/src/generated/services/index.ts +38 -0
  335. package/src/generated/services/lineup.ts +143 -0
  336. package/src/generated/services/message-boards.ts +55 -0
  337. package/src/generated/services/message-types.ts +210 -0
  338. package/src/generated/services/messages.ts +258 -0
  339. package/src/generated/services/people.ts +252 -0
  340. package/src/generated/services/projects.ts +224 -0
  341. package/src/generated/services/recordings.ts +191 -0
  342. package/src/generated/services/reports.ts +187 -0
  343. package/src/generated/services/schedules.ts +335 -0
  344. package/src/generated/services/search.ts +89 -0
  345. package/src/generated/services/subscriptions.ts +160 -0
  346. package/src/generated/services/templates.ts +294 -0
  347. package/src/generated/services/timeline.ts +62 -0
  348. package/src/generated/services/timesheets.ts +289 -0
  349. package/src/generated/services/todolist-groups.ts +151 -0
  350. package/src/generated/services/todolists.ts +192 -0
  351. package/src/generated/services/todos.ts +369 -0
  352. package/src/generated/services/todosets.ts +55 -0
  353. package/src/generated/services/tools.ts +267 -0
  354. package/src/generated/services/uploads.ts +227 -0
  355. package/src/generated/services/vaults.ts +182 -0
  356. package/src/generated/services/webhooks.ts +226 -0
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Uploads service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import { Errors } from "../../errors.js";
8
+ // =============================================================================
9
+ // Service
10
+ // =============================================================================
11
+ /**
12
+ * Service for Uploads operations.
13
+ */
14
+ export class UploadsService extends BaseService {
15
+ /**
16
+ * Get a single upload by id
17
+ * @param uploadId - The upload ID
18
+ * @returns The Upload
19
+ * @throws {BasecampError} If the resource is not found
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const result = await client.uploads.get(123);
24
+ * ```
25
+ */
26
+ async get(uploadId) {
27
+ const response = await this.request({
28
+ service: "Uploads",
29
+ operation: "GetUpload",
30
+ resourceType: "upload",
31
+ isMutation: false,
32
+ resourceId: uploadId,
33
+ }, () => this.client.GET("/uploads/{uploadId}", {
34
+ params: {
35
+ path: { uploadId },
36
+ },
37
+ }));
38
+ return response;
39
+ }
40
+ /**
41
+ * Update an existing upload
42
+ * @param uploadId - The upload ID
43
+ * @param req - Upload update parameters
44
+ * @returns The Upload
45
+ * @throws {BasecampError} If the resource is not found or fields are invalid
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const result = await client.uploads.update(123, { });
50
+ * ```
51
+ */
52
+ async update(uploadId, req) {
53
+ const response = await this.request({
54
+ service: "Uploads",
55
+ operation: "UpdateUpload",
56
+ resourceType: "upload",
57
+ isMutation: true,
58
+ resourceId: uploadId,
59
+ }, () => this.client.PUT("/uploads/{uploadId}", {
60
+ params: {
61
+ path: { uploadId },
62
+ },
63
+ body: {
64
+ description: req.description,
65
+ base_name: req.baseName,
66
+ },
67
+ }));
68
+ return response;
69
+ }
70
+ /**
71
+ * List versions of an upload
72
+ * @param uploadId - The upload ID
73
+ * @param options - Optional query parameters
74
+ * @returns All Upload across all pages, with .meta.totalCount
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * const result = await client.uploads.listVersions(123);
79
+ * ```
80
+ */
81
+ async listVersions(uploadId, options) {
82
+ return this.requestPaginated({
83
+ service: "Uploads",
84
+ operation: "ListUploadVersions",
85
+ resourceType: "upload_version",
86
+ isMutation: false,
87
+ resourceId: uploadId,
88
+ }, () => this.client.GET("/uploads/{uploadId}/versions.json", {
89
+ params: {
90
+ path: { uploadId },
91
+ },
92
+ }), options);
93
+ }
94
+ /**
95
+ * List uploads in a vault
96
+ * @param vaultId - The vault ID
97
+ * @param options - Optional query parameters
98
+ * @returns All Upload across all pages, with .meta.totalCount
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const result = await client.uploads.list(123);
103
+ * ```
104
+ */
105
+ async list(vaultId, options) {
106
+ return this.requestPaginated({
107
+ service: "Uploads",
108
+ operation: "ListUploads",
109
+ resourceType: "upload",
110
+ isMutation: false,
111
+ resourceId: vaultId,
112
+ }, () => this.client.GET("/vaults/{vaultId}/uploads.json", {
113
+ params: {
114
+ path: { vaultId },
115
+ },
116
+ }), options);
117
+ }
118
+ /**
119
+ * Create a new upload in a vault
120
+ * @param vaultId - The vault ID
121
+ * @param req - Upload creation parameters
122
+ * @returns The Upload
123
+ * @throws {BasecampError} If required fields are missing or invalid
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const result = await client.uploads.create(123, { attachableSgid: "example" });
128
+ * ```
129
+ */
130
+ async create(vaultId, req) {
131
+ if (!req.attachableSgid) {
132
+ throw Errors.validation("Attachable sgid is required");
133
+ }
134
+ const response = await this.request({
135
+ service: "Uploads",
136
+ operation: "CreateUpload",
137
+ resourceType: "upload",
138
+ isMutation: true,
139
+ resourceId: vaultId,
140
+ }, () => this.client.POST("/vaults/{vaultId}/uploads.json", {
141
+ params: {
142
+ path: { vaultId },
143
+ },
144
+ body: {
145
+ attachable_sgid: req.attachableSgid,
146
+ description: req.description,
147
+ base_name: req.baseName,
148
+ },
149
+ }));
150
+ return response;
151
+ }
152
+ }
153
+ //# sourceMappingURL=uploads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../../src/generated/services/uploads.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Uploads service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+
7
+ import { BaseService } from "../../services/base.js";
8
+ import type { components } from "../schema.js";
9
+ import { ListResult } from "../../pagination.js";
10
+ import type { PaginationOptions } from "../../pagination.js";
11
+ import { Errors } from "../../errors.js";
12
+
13
+ // =============================================================================
14
+ // Types
15
+ // =============================================================================
16
+
17
+ /** Upload entity from the Basecamp API. */
18
+ export type Upload = components["schemas"]["Upload"];
19
+
20
+ /**
21
+ * Request parameters for update.
22
+ */
23
+ export interface UpdateUploadRequest {
24
+ /** Rich text description (HTML) */
25
+ description?: string;
26
+ /** Base name */
27
+ baseName?: string;
28
+ }
29
+
30
+ /**
31
+ * Options for listVersions.
32
+ */
33
+ export interface ListVersionsUploadOptions extends PaginationOptions {
34
+ }
35
+
36
+ /**
37
+ * Options for list.
38
+ */
39
+ export interface ListUploadOptions extends PaginationOptions {
40
+ }
41
+
42
+ /**
43
+ * Request parameters for create.
44
+ */
45
+ export interface CreateUploadRequest {
46
+ /** Attachable sgid */
47
+ attachableSgid: string;
48
+ /** Rich text description (HTML) */
49
+ description?: string;
50
+ /** Base name */
51
+ baseName?: string;
52
+ }
53
+
54
+
55
+ // =============================================================================
56
+ // Service
57
+ // =============================================================================
58
+
59
+ /**
60
+ * Service for Uploads operations.
61
+ */
62
+ export class UploadsService extends BaseService {
63
+
64
+ /**
65
+ * Get a single upload by id
66
+ * @param uploadId - The upload ID
67
+ * @returns The Upload
68
+ * @throws {BasecampError} If the resource is not found
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const result = await client.uploads.get(123);
73
+ * ```
74
+ */
75
+ async get(uploadId: number): Promise<Upload> {
76
+ const response = await this.request(
77
+ {
78
+ service: "Uploads",
79
+ operation: "GetUpload",
80
+ resourceType: "upload",
81
+ isMutation: false,
82
+ resourceId: uploadId,
83
+ },
84
+ () =>
85
+ this.client.GET("/uploads/{uploadId}", {
86
+ params: {
87
+ path: { uploadId },
88
+ },
89
+ })
90
+ );
91
+ return response;
92
+ }
93
+
94
+ /**
95
+ * Update an existing upload
96
+ * @param uploadId - The upload ID
97
+ * @param req - Upload update parameters
98
+ * @returns The Upload
99
+ * @throws {BasecampError} If the resource is not found or fields are invalid
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * const result = await client.uploads.update(123, { });
104
+ * ```
105
+ */
106
+ async update(uploadId: number, req: UpdateUploadRequest): Promise<Upload> {
107
+ const response = await this.request(
108
+ {
109
+ service: "Uploads",
110
+ operation: "UpdateUpload",
111
+ resourceType: "upload",
112
+ isMutation: true,
113
+ resourceId: uploadId,
114
+ },
115
+ () =>
116
+ this.client.PUT("/uploads/{uploadId}", {
117
+ params: {
118
+ path: { uploadId },
119
+ },
120
+ body: {
121
+ description: req.description,
122
+ base_name: req.baseName,
123
+ },
124
+ })
125
+ );
126
+ return response;
127
+ }
128
+
129
+ /**
130
+ * List versions of an upload
131
+ * @param uploadId - The upload ID
132
+ * @param options - Optional query parameters
133
+ * @returns All Upload across all pages, with .meta.totalCount
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const result = await client.uploads.listVersions(123);
138
+ * ```
139
+ */
140
+ async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<Upload>> {
141
+ return this.requestPaginated(
142
+ {
143
+ service: "Uploads",
144
+ operation: "ListUploadVersions",
145
+ resourceType: "upload_version",
146
+ isMutation: false,
147
+ resourceId: uploadId,
148
+ },
149
+ () =>
150
+ this.client.GET("/uploads/{uploadId}/versions.json", {
151
+ params: {
152
+ path: { uploadId },
153
+ },
154
+ })
155
+ , options
156
+ );
157
+ }
158
+
159
+ /**
160
+ * List uploads in a vault
161
+ * @param vaultId - The vault ID
162
+ * @param options - Optional query parameters
163
+ * @returns All Upload across all pages, with .meta.totalCount
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * const result = await client.uploads.list(123);
168
+ * ```
169
+ */
170
+ async list(vaultId: number, options?: ListUploadOptions): Promise<ListResult<Upload>> {
171
+ return this.requestPaginated(
172
+ {
173
+ service: "Uploads",
174
+ operation: "ListUploads",
175
+ resourceType: "upload",
176
+ isMutation: false,
177
+ resourceId: vaultId,
178
+ },
179
+ () =>
180
+ this.client.GET("/vaults/{vaultId}/uploads.json", {
181
+ params: {
182
+ path: { vaultId },
183
+ },
184
+ })
185
+ , options
186
+ );
187
+ }
188
+
189
+ /**
190
+ * Create a new upload in a vault
191
+ * @param vaultId - The vault ID
192
+ * @param req - Upload creation parameters
193
+ * @returns The Upload
194
+ * @throws {BasecampError} If required fields are missing or invalid
195
+ *
196
+ * @example
197
+ * ```ts
198
+ * const result = await client.uploads.create(123, { attachableSgid: "example" });
199
+ * ```
200
+ */
201
+ async create(vaultId: number, req: CreateUploadRequest): Promise<Upload> {
202
+ if (!req.attachableSgid) {
203
+ throw Errors.validation("Attachable sgid is required");
204
+ }
205
+ const response = await this.request(
206
+ {
207
+ service: "Uploads",
208
+ operation: "CreateUpload",
209
+ resourceType: "upload",
210
+ isMutation: true,
211
+ resourceId: vaultId,
212
+ },
213
+ () =>
214
+ this.client.POST("/vaults/{vaultId}/uploads.json", {
215
+ params: {
216
+ path: { vaultId },
217
+ },
218
+ body: {
219
+ attachable_sgid: req.attachableSgid,
220
+ description: req.description,
221
+ base_name: req.baseName,
222
+ },
223
+ })
224
+ );
225
+ return response;
226
+ }
227
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Vaults service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import type { components } from "../schema.js";
8
+ import { ListResult } from "../../pagination.js";
9
+ import type { PaginationOptions } from "../../pagination.js";
10
+ /** Vault entity from the Basecamp API. */
11
+ export type Vault = components["schemas"]["Vault"];
12
+ /**
13
+ * Request parameters for update.
14
+ */
15
+ export interface UpdateVaultRequest {
16
+ /** Title */
17
+ title?: string;
18
+ }
19
+ /**
20
+ * Options for list.
21
+ */
22
+ export interface ListVaultOptions extends PaginationOptions {
23
+ }
24
+ /**
25
+ * Request parameters for create.
26
+ */
27
+ export interface CreateVaultRequest {
28
+ /** Title */
29
+ title: string;
30
+ }
31
+ /**
32
+ * Service for Vaults operations.
33
+ */
34
+ export declare class VaultsService extends BaseService {
35
+ /**
36
+ * Get a single vault by id
37
+ * @param vaultId - The vault ID
38
+ * @returns The Vault
39
+ * @throws {BasecampError} If the resource is not found
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const result = await client.vaults.get(123);
44
+ * ```
45
+ */
46
+ get(vaultId: number): Promise<Vault>;
47
+ /**
48
+ * Update an existing vault
49
+ * @param vaultId - The vault ID
50
+ * @param req - Vault update parameters
51
+ * @returns The Vault
52
+ * @throws {BasecampError} If the resource is not found or fields are invalid
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const result = await client.vaults.update(123, { });
57
+ * ```
58
+ */
59
+ update(vaultId: number, req: UpdateVaultRequest): Promise<Vault>;
60
+ /**
61
+ * List vaults (subfolders) in a vault
62
+ * @param vaultId - The vault ID
63
+ * @param options - Optional query parameters
64
+ * @returns All Vault across all pages, with .meta.totalCount
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const result = await client.vaults.list(123);
69
+ * ```
70
+ */
71
+ list(vaultId: number, options?: ListVaultOptions): Promise<ListResult<Vault>>;
72
+ /**
73
+ * Create a new vault (subfolder) in a vault
74
+ * @param vaultId - The vault ID
75
+ * @param req - Vault creation parameters
76
+ * @returns The Vault
77
+ * @throws {BasecampError} If required fields are missing or invalid
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const result = await client.vaults.create(123, { title: "example" });
82
+ * ```
83
+ */
84
+ create(vaultId: number, req: CreateVaultRequest): Promise<Vault>;
85
+ }
86
+ //# sourceMappingURL=vaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../../../src/generated/services/vaults.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,0CAA0C;AAC1C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAmB1C;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAsBtE;;;;;;;;;;OAUG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAmBnF;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;CAwBvE"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Vaults service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import { Errors } from "../../errors.js";
8
+ // =============================================================================
9
+ // Service
10
+ // =============================================================================
11
+ /**
12
+ * Service for Vaults operations.
13
+ */
14
+ export class VaultsService extends BaseService {
15
+ /**
16
+ * Get a single vault by id
17
+ * @param vaultId - The vault ID
18
+ * @returns The Vault
19
+ * @throws {BasecampError} If the resource is not found
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const result = await client.vaults.get(123);
24
+ * ```
25
+ */
26
+ async get(vaultId) {
27
+ const response = await this.request({
28
+ service: "Vaults",
29
+ operation: "GetVault",
30
+ resourceType: "vault",
31
+ isMutation: false,
32
+ resourceId: vaultId,
33
+ }, () => this.client.GET("/vaults/{vaultId}", {
34
+ params: {
35
+ path: { vaultId },
36
+ },
37
+ }));
38
+ return response;
39
+ }
40
+ /**
41
+ * Update an existing vault
42
+ * @param vaultId - The vault ID
43
+ * @param req - Vault update parameters
44
+ * @returns The Vault
45
+ * @throws {BasecampError} If the resource is not found or fields are invalid
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const result = await client.vaults.update(123, { });
50
+ * ```
51
+ */
52
+ async update(vaultId, req) {
53
+ const response = await this.request({
54
+ service: "Vaults",
55
+ operation: "UpdateVault",
56
+ resourceType: "vault",
57
+ isMutation: true,
58
+ resourceId: vaultId,
59
+ }, () => this.client.PUT("/vaults/{vaultId}", {
60
+ params: {
61
+ path: { vaultId },
62
+ },
63
+ body: {
64
+ title: req.title,
65
+ },
66
+ }));
67
+ return response;
68
+ }
69
+ /**
70
+ * List vaults (subfolders) in a vault
71
+ * @param vaultId - The vault ID
72
+ * @param options - Optional query parameters
73
+ * @returns All Vault across all pages, with .meta.totalCount
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const result = await client.vaults.list(123);
78
+ * ```
79
+ */
80
+ async list(vaultId, options) {
81
+ return this.requestPaginated({
82
+ service: "Vaults",
83
+ operation: "ListVaults",
84
+ resourceType: "vault",
85
+ isMutation: false,
86
+ resourceId: vaultId,
87
+ }, () => this.client.GET("/vaults/{vaultId}/vaults.json", {
88
+ params: {
89
+ path: { vaultId },
90
+ },
91
+ }), options);
92
+ }
93
+ /**
94
+ * Create a new vault (subfolder) in a vault
95
+ * @param vaultId - The vault ID
96
+ * @param req - Vault creation parameters
97
+ * @returns The Vault
98
+ * @throws {BasecampError} If required fields are missing or invalid
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const result = await client.vaults.create(123, { title: "example" });
103
+ * ```
104
+ */
105
+ async create(vaultId, req) {
106
+ if (!req.title) {
107
+ throw Errors.validation("Title is required");
108
+ }
109
+ const response = await this.request({
110
+ service: "Vaults",
111
+ operation: "CreateVault",
112
+ resourceType: "vault",
113
+ isMutation: true,
114
+ resourceId: vaultId,
115
+ }, () => this.client.POST("/vaults/{vaultId}/vaults.json", {
116
+ params: {
117
+ path: { vaultId },
118
+ },
119
+ body: {
120
+ title: req.title,
121
+ },
122
+ }));
123
+ return response;
124
+ }
125
+ }
126
+ //# sourceMappingURL=vaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src/generated/services/vaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgCzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAA0B;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}