@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,228 @@
1
+ /**
2
+ * Schedules 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 Schedules operations.
13
+ */
14
+ export class SchedulesService extends BaseService {
15
+ /**
16
+ * Get a single schedule entry by id.
17
+ * @param entryId - The entry ID
18
+ * @returns The ScheduleEntry
19
+ * @throws {BasecampError} If the resource is not found
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const result = await client.schedules.getEntry(123);
24
+ * ```
25
+ */
26
+ async getEntry(entryId) {
27
+ const response = await this.request({
28
+ service: "Schedules",
29
+ operation: "GetScheduleEntry",
30
+ resourceType: "schedule_entry",
31
+ isMutation: false,
32
+ resourceId: entryId,
33
+ }, () => this.client.GET("/schedule_entries/{entryId}", {
34
+ params: {
35
+ path: { entryId },
36
+ },
37
+ }));
38
+ return response;
39
+ }
40
+ /**
41
+ * Update an existing schedule entry
42
+ * @param entryId - The entry ID
43
+ * @param req - Schedule_entry update parameters
44
+ * @returns The ScheduleEntry
45
+ * @throws {BasecampError} If the resource is not found or fields are invalid
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const result = await client.schedules.updateEntry(123, { });
50
+ * ```
51
+ */
52
+ async updateEntry(entryId, req) {
53
+ const response = await this.request({
54
+ service: "Schedules",
55
+ operation: "UpdateScheduleEntry",
56
+ resourceType: "schedule_entry",
57
+ isMutation: true,
58
+ resourceId: entryId,
59
+ }, () => this.client.PUT("/schedule_entries/{entryId}", {
60
+ params: {
61
+ path: { entryId },
62
+ },
63
+ body: {
64
+ summary: req.summary,
65
+ starts_at: req.startsAt,
66
+ ends_at: req.endsAt,
67
+ description: req.description,
68
+ participant_ids: req.participantIds,
69
+ all_day: req.allDay,
70
+ notify: req.notify,
71
+ },
72
+ }));
73
+ return response;
74
+ }
75
+ /**
76
+ * Get a specific occurrence of a recurring schedule entry
77
+ * @param entryId - The entry ID
78
+ * @param date - The date
79
+ * @returns The ScheduleEntry
80
+ * @throws {BasecampError} If the resource is not found
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * const result = await client.schedules.getEntryOccurrence(123, "example");
85
+ * ```
86
+ */
87
+ async getEntryOccurrence(entryId, date) {
88
+ const response = await this.request({
89
+ service: "Schedules",
90
+ operation: "GetScheduleEntryOccurrence",
91
+ resourceType: "schedule_entry_occurrence",
92
+ isMutation: false,
93
+ resourceId: entryId,
94
+ }, () => this.client.GET("/schedule_entries/{entryId}/occurrences/{date}", {
95
+ params: {
96
+ path: { entryId, date },
97
+ },
98
+ }));
99
+ return response;
100
+ }
101
+ /**
102
+ * Get a schedule
103
+ * @param scheduleId - The schedule ID
104
+ * @returns The Schedule
105
+ * @throws {BasecampError} If the resource is not found
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const result = await client.schedules.get(123);
110
+ * ```
111
+ */
112
+ async get(scheduleId) {
113
+ const response = await this.request({
114
+ service: "Schedules",
115
+ operation: "GetSchedule",
116
+ resourceType: "schedule",
117
+ isMutation: false,
118
+ resourceId: scheduleId,
119
+ }, () => this.client.GET("/schedules/{scheduleId}", {
120
+ params: {
121
+ path: { scheduleId },
122
+ },
123
+ }));
124
+ return response;
125
+ }
126
+ /**
127
+ * Update schedule settings
128
+ * @param scheduleId - The schedule ID
129
+ * @param req - Schedule_setting update parameters
130
+ * @returns The Schedule
131
+ * @throws {BasecampError} If the resource is not found or fields are invalid
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const result = await client.schedules.updateSettings(123, { includeDueAssignments: true });
136
+ * ```
137
+ */
138
+ async updateSettings(scheduleId, req) {
139
+ const response = await this.request({
140
+ service: "Schedules",
141
+ operation: "UpdateScheduleSettings",
142
+ resourceType: "schedule_setting",
143
+ isMutation: true,
144
+ resourceId: scheduleId,
145
+ }, () => this.client.PUT("/schedules/{scheduleId}", {
146
+ params: {
147
+ path: { scheduleId },
148
+ },
149
+ body: {
150
+ include_due_assignments: req.includeDueAssignments,
151
+ },
152
+ }));
153
+ return response;
154
+ }
155
+ /**
156
+ * List entries on a schedule
157
+ * @param scheduleId - The schedule ID
158
+ * @param options - Optional query parameters
159
+ * @returns All ScheduleEntry across all pages, with .meta.totalCount
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const result = await client.schedules.listEntries(123);
164
+ *
165
+ * // With options
166
+ * const filtered = await client.schedules.listEntries(123, { status: "active" });
167
+ * ```
168
+ */
169
+ async listEntries(scheduleId, options) {
170
+ return this.requestPaginated({
171
+ service: "Schedules",
172
+ operation: "ListScheduleEntries",
173
+ resourceType: "schedule_entrie",
174
+ isMutation: false,
175
+ resourceId: scheduleId,
176
+ }, () => this.client.GET("/schedules/{scheduleId}/entries.json", {
177
+ params: {
178
+ path: { scheduleId },
179
+ query: { status: options?.status },
180
+ },
181
+ }), options);
182
+ }
183
+ /**
184
+ * Create a new schedule entry
185
+ * @param scheduleId - The schedule ID
186
+ * @param req - Schedule_entry creation parameters
187
+ * @returns The ScheduleEntry
188
+ * @throws {BasecampError} If required fields are missing or invalid
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "2025-06-01T09:00:00Z", endsAt: "2025-06-01T09:00:00Z" });
193
+ * ```
194
+ */
195
+ async createEntry(scheduleId, req) {
196
+ if (!req.summary) {
197
+ throw Errors.validation("Summary is required");
198
+ }
199
+ if (!req.startsAt) {
200
+ throw Errors.validation("Starts at is required");
201
+ }
202
+ if (!req.endsAt) {
203
+ throw Errors.validation("Ends at is required");
204
+ }
205
+ const response = await this.request({
206
+ service: "Schedules",
207
+ operation: "CreateScheduleEntry",
208
+ resourceType: "schedule_entry",
209
+ isMutation: true,
210
+ resourceId: scheduleId,
211
+ }, () => this.client.POST("/schedules/{scheduleId}/entries.json", {
212
+ params: {
213
+ path: { scheduleId },
214
+ },
215
+ body: {
216
+ summary: req.summary,
217
+ starts_at: req.startsAt,
218
+ ends_at: req.endsAt,
219
+ description: req.description,
220
+ participant_ids: req.participantIds,
221
+ all_day: req.allDay,
222
+ notify: req.notify,
223
+ },
224
+ }));
225
+ return response;
226
+ }
227
+ }
228
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../src/generated/services/schedules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Schedules 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
+ /** ScheduleEntry entity from the Basecamp API. */
18
+ export type ScheduleEntry = components["schemas"]["ScheduleEntry"];
19
+ /** Schedule entity from the Basecamp API. */
20
+ export type Schedule = components["schemas"]["Schedule"];
21
+
22
+ /**
23
+ * Request parameters for updateEntry.
24
+ */
25
+ export interface UpdateEntryScheduleRequest {
26
+ /** Summary text */
27
+ summary?: string;
28
+ /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
29
+ startsAt?: string;
30
+ /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
31
+ endsAt?: string;
32
+ /** Rich text description (HTML) */
33
+ description?: string;
34
+ /** Participant ids */
35
+ participantIds?: number[];
36
+ /** All day */
37
+ allDay?: boolean;
38
+ /** Whether to send notifications to relevant people */
39
+ notify?: boolean;
40
+ }
41
+
42
+ /**
43
+ * Request parameters for updateSettings.
44
+ */
45
+ export interface UpdateSettingsScheduleRequest {
46
+ /** Include due assignments */
47
+ includeDueAssignments: boolean;
48
+ }
49
+
50
+ /**
51
+ * Options for listEntries.
52
+ */
53
+ export interface ListEntriesScheduleOptions extends PaginationOptions {
54
+ /** Filter by status */
55
+ status?: "active" | "archived" | "trashed";
56
+ }
57
+
58
+ /**
59
+ * Request parameters for createEntry.
60
+ */
61
+ export interface CreateEntryScheduleRequest {
62
+ /** Summary text */
63
+ summary: string;
64
+ /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
65
+ startsAt: string;
66
+ /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
67
+ endsAt: string;
68
+ /** Rich text description (HTML) */
69
+ description?: string;
70
+ /** Participant ids */
71
+ participantIds?: number[];
72
+ /** All day */
73
+ allDay?: boolean;
74
+ /** Whether to send notifications to relevant people */
75
+ notify?: boolean;
76
+ }
77
+
78
+
79
+ // =============================================================================
80
+ // Service
81
+ // =============================================================================
82
+
83
+ /**
84
+ * Service for Schedules operations.
85
+ */
86
+ export class SchedulesService extends BaseService {
87
+
88
+ /**
89
+ * Get a single schedule entry by id.
90
+ * @param entryId - The entry ID
91
+ * @returns The ScheduleEntry
92
+ * @throws {BasecampError} If the resource is not found
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const result = await client.schedules.getEntry(123);
97
+ * ```
98
+ */
99
+ async getEntry(entryId: number): Promise<ScheduleEntry> {
100
+ const response = await this.request(
101
+ {
102
+ service: "Schedules",
103
+ operation: "GetScheduleEntry",
104
+ resourceType: "schedule_entry",
105
+ isMutation: false,
106
+ resourceId: entryId,
107
+ },
108
+ () =>
109
+ this.client.GET("/schedule_entries/{entryId}", {
110
+ params: {
111
+ path: { entryId },
112
+ },
113
+ })
114
+ );
115
+ return response;
116
+ }
117
+
118
+ /**
119
+ * Update an existing schedule entry
120
+ * @param entryId - The entry ID
121
+ * @param req - Schedule_entry update parameters
122
+ * @returns The ScheduleEntry
123
+ * @throws {BasecampError} If the resource is not found or fields are invalid
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const result = await client.schedules.updateEntry(123, { });
128
+ * ```
129
+ */
130
+ async updateEntry(entryId: number, req: UpdateEntryScheduleRequest): Promise<ScheduleEntry> {
131
+ const response = await this.request(
132
+ {
133
+ service: "Schedules",
134
+ operation: "UpdateScheduleEntry",
135
+ resourceType: "schedule_entry",
136
+ isMutation: true,
137
+ resourceId: entryId,
138
+ },
139
+ () =>
140
+ this.client.PUT("/schedule_entries/{entryId}", {
141
+ params: {
142
+ path: { entryId },
143
+ },
144
+ body: {
145
+ summary: req.summary,
146
+ starts_at: req.startsAt,
147
+ ends_at: req.endsAt,
148
+ description: req.description,
149
+ participant_ids: req.participantIds,
150
+ all_day: req.allDay,
151
+ notify: req.notify,
152
+ },
153
+ })
154
+ );
155
+ return response;
156
+ }
157
+
158
+ /**
159
+ * Get a specific occurrence of a recurring schedule entry
160
+ * @param entryId - The entry ID
161
+ * @param date - The date
162
+ * @returns The ScheduleEntry
163
+ * @throws {BasecampError} If the resource is not found
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * const result = await client.schedules.getEntryOccurrence(123, "example");
168
+ * ```
169
+ */
170
+ async getEntryOccurrence(entryId: number, date: string): Promise<ScheduleEntry> {
171
+ const response = await this.request(
172
+ {
173
+ service: "Schedules",
174
+ operation: "GetScheduleEntryOccurrence",
175
+ resourceType: "schedule_entry_occurrence",
176
+ isMutation: false,
177
+ resourceId: entryId,
178
+ },
179
+ () =>
180
+ this.client.GET("/schedule_entries/{entryId}/occurrences/{date}", {
181
+ params: {
182
+ path: { entryId, date },
183
+ },
184
+ })
185
+ );
186
+ return response;
187
+ }
188
+
189
+ /**
190
+ * Get a schedule
191
+ * @param scheduleId - The schedule ID
192
+ * @returns The Schedule
193
+ * @throws {BasecampError} If the resource is not found
194
+ *
195
+ * @example
196
+ * ```ts
197
+ * const result = await client.schedules.get(123);
198
+ * ```
199
+ */
200
+ async get(scheduleId: number): Promise<Schedule> {
201
+ const response = await this.request(
202
+ {
203
+ service: "Schedules",
204
+ operation: "GetSchedule",
205
+ resourceType: "schedule",
206
+ isMutation: false,
207
+ resourceId: scheduleId,
208
+ },
209
+ () =>
210
+ this.client.GET("/schedules/{scheduleId}", {
211
+ params: {
212
+ path: { scheduleId },
213
+ },
214
+ })
215
+ );
216
+ return response;
217
+ }
218
+
219
+ /**
220
+ * Update schedule settings
221
+ * @param scheduleId - The schedule ID
222
+ * @param req - Schedule_setting update parameters
223
+ * @returns The Schedule
224
+ * @throws {BasecampError} If the resource is not found or fields are invalid
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * const result = await client.schedules.updateSettings(123, { includeDueAssignments: true });
229
+ * ```
230
+ */
231
+ async updateSettings(scheduleId: number, req: UpdateSettingsScheduleRequest): Promise<Schedule> {
232
+ const response = await this.request(
233
+ {
234
+ service: "Schedules",
235
+ operation: "UpdateScheduleSettings",
236
+ resourceType: "schedule_setting",
237
+ isMutation: true,
238
+ resourceId: scheduleId,
239
+ },
240
+ () =>
241
+ this.client.PUT("/schedules/{scheduleId}", {
242
+ params: {
243
+ path: { scheduleId },
244
+ },
245
+ body: {
246
+ include_due_assignments: req.includeDueAssignments,
247
+ },
248
+ })
249
+ );
250
+ return response;
251
+ }
252
+
253
+ /**
254
+ * List entries on a schedule
255
+ * @param scheduleId - The schedule ID
256
+ * @param options - Optional query parameters
257
+ * @returns All ScheduleEntry across all pages, with .meta.totalCount
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * const result = await client.schedules.listEntries(123);
262
+ *
263
+ * // With options
264
+ * const filtered = await client.schedules.listEntries(123, { status: "active" });
265
+ * ```
266
+ */
267
+ async listEntries(scheduleId: number, options?: ListEntriesScheduleOptions): Promise<ListResult<ScheduleEntry>> {
268
+ return this.requestPaginated(
269
+ {
270
+ service: "Schedules",
271
+ operation: "ListScheduleEntries",
272
+ resourceType: "schedule_entrie",
273
+ isMutation: false,
274
+ resourceId: scheduleId,
275
+ },
276
+ () =>
277
+ this.client.GET("/schedules/{scheduleId}/entries.json", {
278
+ params: {
279
+ path: { scheduleId },
280
+ query: { status: options?.status },
281
+ },
282
+ })
283
+ , options
284
+ );
285
+ }
286
+
287
+ /**
288
+ * Create a new schedule entry
289
+ * @param scheduleId - The schedule ID
290
+ * @param req - Schedule_entry creation parameters
291
+ * @returns The ScheduleEntry
292
+ * @throws {BasecampError} If required fields are missing or invalid
293
+ *
294
+ * @example
295
+ * ```ts
296
+ * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "2025-06-01T09:00:00Z", endsAt: "2025-06-01T09:00:00Z" });
297
+ * ```
298
+ */
299
+ async createEntry(scheduleId: number, req: CreateEntryScheduleRequest): Promise<ScheduleEntry> {
300
+ if (!req.summary) {
301
+ throw Errors.validation("Summary is required");
302
+ }
303
+ if (!req.startsAt) {
304
+ throw Errors.validation("Starts at is required");
305
+ }
306
+ if (!req.endsAt) {
307
+ throw Errors.validation("Ends at is required");
308
+ }
309
+ const response = await this.request(
310
+ {
311
+ service: "Schedules",
312
+ operation: "CreateScheduleEntry",
313
+ resourceType: "schedule_entry",
314
+ isMutation: true,
315
+ resourceId: scheduleId,
316
+ },
317
+ () =>
318
+ this.client.POST("/schedules/{scheduleId}/entries.json", {
319
+ params: {
320
+ path: { scheduleId },
321
+ },
322
+ body: {
323
+ summary: req.summary,
324
+ starts_at: req.startsAt,
325
+ ends_at: req.endsAt,
326
+ description: req.description,
327
+ participant_ids: req.participantIds,
328
+ all_day: req.allDay,
329
+ notify: req.notify,
330
+ },
331
+ })
332
+ );
333
+ return response;
334
+ }
335
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Search 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 type { PaginationOptions } from "../../pagination.js";
9
+ /**
10
+ * Options for search.
11
+ */
12
+ export interface SearchSearchOptions extends PaginationOptions {
13
+ /** Filter by sort */
14
+ sort?: "created_at" | "updated_at";
15
+ /** Page */
16
+ page?: number;
17
+ }
18
+ /**
19
+ * Service for Search operations.
20
+ */
21
+ export declare class SearchService extends BaseService {
22
+ /**
23
+ * Search for content across the account
24
+ * @param query - query
25
+ * @param options - Optional query parameters
26
+ * @returns All results across all pages, with .meta.totalCount
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const result = await client.search.search("query");
31
+ * ```
32
+ */
33
+ search(query: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]>;
34
+ /**
35
+ * Get search metadata (available filter options)
36
+ * @returns The search_metadata
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const result = await client.search.metadata();
41
+ * ```
42
+ */
43
+ metadata(): Promise<components["schemas"]["GetSearchMetadataResponseContent"]>;
44
+ }
45
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAkBnH;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;CAcrF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Search service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ // =============================================================================
8
+ // Service
9
+ // =============================================================================
10
+ /**
11
+ * Service for Search operations.
12
+ */
13
+ export class SearchService extends BaseService {
14
+ /**
15
+ * Search for content across the account
16
+ * @param query - query
17
+ * @param options - Optional query parameters
18
+ * @returns All results across all pages, with .meta.totalCount
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await client.search.search("query");
23
+ * ```
24
+ */
25
+ async search(query, options) {
26
+ return this.requestPaginated({
27
+ service: "Search",
28
+ operation: "Search",
29
+ resourceType: "resource",
30
+ isMutation: false,
31
+ }, () => this.client.GET("/search.json", {
32
+ params: {
33
+ query: { query: query, sort: options?.sort, page: options?.page },
34
+ },
35
+ }), options);
36
+ }
37
+ /**
38
+ * Get search metadata (available filter options)
39
+ * @returns The search_metadata
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const result = await client.search.metadata();
44
+ * ```
45
+ */
46
+ async metadata() {
47
+ const response = await this.request({
48
+ service: "Search",
49
+ operation: "GetSearchMetadata",
50
+ resourceType: "search_metadata",
51
+ isMutation: false,
52
+ }, () => this.client.GET("/searches/metadata.json", {}));
53
+ return response;
54
+ }
55
+ }
56
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAqBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAClE;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAC1C,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}