@37signals/basecamp 0.5.0 → 0.7.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 (137) hide show
  1. package/dist/client.d.ts +22 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +37 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/download.d.ts +40 -0
  6. package/dist/download.d.ts.map +1 -0
  7. package/dist/download.js +182 -0
  8. package/dist/download.js.map +1 -0
  9. package/dist/generated/metadata.json +330 -1
  10. package/dist/generated/openapi-stripped.json +5261 -1905
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +28 -2
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +29 -3
  15. package/dist/generated/schema.d.ts +2578 -333
  16. package/dist/generated/services/account.d.ts +66 -0
  17. package/dist/generated/services/account.d.ts.map +1 -0
  18. package/dist/generated/services/account.js +101 -0
  19. package/dist/generated/services/account.js.map +1 -0
  20. package/dist/generated/services/account.ts +144 -0
  21. package/dist/generated/services/automation.d.ts +25 -0
  22. package/dist/generated/services/automation.d.ts.map +1 -0
  23. package/dist/generated/services/automation.js +33 -0
  24. package/dist/generated/services/automation.js.map +1 -0
  25. package/dist/generated/services/automation.ts +49 -0
  26. package/dist/generated/services/boosts.js +2 -2
  27. package/dist/generated/services/boosts.js.map +1 -1
  28. package/dist/generated/services/boosts.ts +2 -2
  29. package/dist/generated/services/campfires.d.ts +14 -0
  30. package/dist/generated/services/campfires.d.ts.map +1 -1
  31. package/dist/generated/services/campfires.js +13 -5
  32. package/dist/generated/services/campfires.js.map +1 -1
  33. package/dist/generated/services/campfires.ts +21 -5
  34. package/dist/generated/services/card-steps.d.ts +12 -0
  35. package/dist/generated/services/card-steps.d.ts.map +1 -1
  36. package/dist/generated/services/card-steps.js +25 -0
  37. package/dist/generated/services/card-steps.js.map +1 -1
  38. package/dist/generated/services/card-steps.ts +30 -0
  39. package/dist/generated/services/cards.d.ts +2 -0
  40. package/dist/generated/services/cards.d.ts.map +1 -1
  41. package/dist/generated/services/cards.js +1 -0
  42. package/dist/generated/services/cards.js.map +1 -1
  43. package/dist/generated/services/cards.ts +3 -0
  44. package/dist/generated/services/checkins.js +1 -1
  45. package/dist/generated/services/checkins.js.map +1 -1
  46. package/dist/generated/services/checkins.ts +1 -1
  47. package/dist/generated/services/client-approvals.d.ts +7 -0
  48. package/dist/generated/services/client-approvals.d.ts.map +1 -1
  49. package/dist/generated/services/client-approvals.js +8 -1
  50. package/dist/generated/services/client-approvals.js.map +1 -1
  51. package/dist/generated/services/client-approvals.ts +10 -0
  52. package/dist/generated/services/client-correspondences.d.ts +7 -0
  53. package/dist/generated/services/client-correspondences.d.ts.map +1 -1
  54. package/dist/generated/services/client-correspondences.js +8 -1
  55. package/dist/generated/services/client-correspondences.js.map +1 -1
  56. package/dist/generated/services/client-correspondences.ts +10 -0
  57. package/dist/generated/services/client-replies.js +1 -1
  58. package/dist/generated/services/client-replies.js.map +1 -1
  59. package/dist/generated/services/client-replies.ts +1 -1
  60. package/dist/generated/services/forwards.d.ts +7 -0
  61. package/dist/generated/services/forwards.d.ts.map +1 -1
  62. package/dist/generated/services/forwards.js +5 -1
  63. package/dist/generated/services/forwards.js.map +1 -1
  64. package/dist/generated/services/forwards.ts +9 -1
  65. package/dist/generated/services/gauges.d.ts +140 -0
  66. package/dist/generated/services/gauges.d.ts.map +1 -0
  67. package/dist/generated/services/gauges.js +207 -0
  68. package/dist/generated/services/gauges.js.map +1 -0
  69. package/dist/generated/services/gauges.ts +298 -0
  70. package/dist/generated/services/hill-charts.d.ts +47 -0
  71. package/dist/generated/services/hill-charts.d.ts.map +1 -0
  72. package/dist/generated/services/hill-charts.js +70 -0
  73. package/dist/generated/services/hill-charts.js.map +1 -0
  74. package/dist/generated/services/hill-charts.ts +99 -0
  75. package/dist/generated/services/index.d.ts +6 -0
  76. package/dist/generated/services/index.d.ts.map +1 -1
  77. package/dist/generated/services/index.js +6 -0
  78. package/dist/generated/services/index.js.map +1 -1
  79. package/dist/generated/services/index.ts +6 -0
  80. package/dist/generated/services/my-assignments.d.ts +52 -0
  81. package/dist/generated/services/my-assignments.d.ts.map +1 -0
  82. package/dist/generated/services/my-assignments.js +74 -0
  83. package/dist/generated/services/my-assignments.js.map +1 -0
  84. package/dist/generated/services/my-assignments.ts +109 -0
  85. package/dist/generated/services/my-notifications.d.ts +50 -0
  86. package/dist/generated/services/my-notifications.d.ts.map +1 -0
  87. package/dist/generated/services/my-notifications.js +65 -0
  88. package/dist/generated/services/my-notifications.js.map +1 -0
  89. package/dist/generated/services/my-notifications.ts +100 -0
  90. package/dist/generated/services/people.d.ts +105 -0
  91. package/dist/generated/services/people.d.ts.map +1 -1
  92. package/dist/generated/services/people.js +156 -0
  93. package/dist/generated/services/people.js.map +1 -1
  94. package/dist/generated/services/people.ts +225 -0
  95. package/dist/generated/services/search.d.ts +1 -1
  96. package/dist/generated/services/search.ts +1 -1
  97. package/dist/generated/services/templates.js +1 -1
  98. package/dist/generated/services/templates.js.map +1 -1
  99. package/dist/generated/services/templates.ts +1 -1
  100. package/dist/generated/services/tools.d.ts +2 -0
  101. package/dist/generated/services/tools.d.ts.map +1 -1
  102. package/dist/generated/services/tools.js +1 -0
  103. package/dist/generated/services/tools.js.map +1 -1
  104. package/dist/generated/services/tools.ts +3 -0
  105. package/dist/index.d.ts +7 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +13 -0
  108. package/dist/index.js.map +1 -1
  109. package/dist/services/base.d.ts +19 -1
  110. package/dist/services/base.d.ts.map +1 -1
  111. package/dist/services/base.js +110 -1
  112. package/dist/services/base.js.map +1 -1
  113. package/package.json +1 -1
  114. package/src/generated/metadata.json +330 -1
  115. package/src/generated/openapi-stripped.json +5261 -1905
  116. package/src/generated/path-mapping.ts +29 -3
  117. package/src/generated/schema.d.ts +2578 -333
  118. package/src/generated/services/account.ts +144 -0
  119. package/src/generated/services/automation.ts +49 -0
  120. package/src/generated/services/boosts.ts +2 -2
  121. package/src/generated/services/campfires.ts +21 -5
  122. package/src/generated/services/card-steps.ts +30 -0
  123. package/src/generated/services/cards.ts +3 -0
  124. package/src/generated/services/checkins.ts +1 -1
  125. package/src/generated/services/client-approvals.ts +10 -0
  126. package/src/generated/services/client-correspondences.ts +10 -0
  127. package/src/generated/services/client-replies.ts +1 -1
  128. package/src/generated/services/forwards.ts +9 -1
  129. package/src/generated/services/gauges.ts +298 -0
  130. package/src/generated/services/hill-charts.ts +99 -0
  131. package/src/generated/services/index.ts +6 -0
  132. package/src/generated/services/my-assignments.ts +109 -0
  133. package/src/generated/services/my-notifications.ts +100 -0
  134. package/src/generated/services/people.ts +225 -0
  135. package/src/generated/services/search.ts +1 -1
  136. package/src/generated/services/templates.ts +1 -1
  137. package/src/generated/services/tools.ts +3 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * MyNotifications 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 MyNotifications operations.
13
+ */
14
+ export class MyNotificationsService extends BaseService {
15
+ /**
16
+ * Get the current user's notification inbox (the "Hey!" menu).
17
+ * @param options - Optional query parameters
18
+ * @returns The my_notification
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await client.myNotifications.myNotifications();
23
+ * ```
24
+ */
25
+ async myNotifications(options) {
26
+ const response = await this.request({
27
+ service: "MyNotifications",
28
+ operation: "GetMyNotifications",
29
+ resourceType: "my_notification",
30
+ isMutation: false,
31
+ }, () => this.client.GET("/my/readings.json", {
32
+ params: {
33
+ query: { page: options?.page },
34
+ },
35
+ }));
36
+ return response;
37
+ }
38
+ /**
39
+ * Mark specified items as read
40
+ * @param req - Resource request parameters
41
+ * @returns void
42
+ * @throws {BasecampError} If the request fails
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * await client.myNotifications.markAsRead({ readables: [1234] });
47
+ * ```
48
+ */
49
+ async markAsRead(req) {
50
+ if (!req.readables) {
51
+ throw Errors.validation("Readables is required");
52
+ }
53
+ await this.request({
54
+ service: "MyNotifications",
55
+ operation: "MarkAsRead",
56
+ resourceType: "resource",
57
+ isMutation: true,
58
+ }, () => this.client.PUT("/my/unreads.json", {
59
+ body: {
60
+ readables: req.readables,
61
+ },
62
+ }));
63
+ }
64
+ }
65
+ //# sourceMappingURL=my-notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my-notifications.js","sourceRoot":"","sources":["../../../src/generated/services/my-notifications.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAwBzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAErD;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,OAA8C;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC/B;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,GAAoC;QACnD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;SACjB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YAClC,IAAI,EAAE;gBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * MyNotifications 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 { Errors } from "../../errors.js";
10
+
11
+ // =============================================================================
12
+ // Types
13
+ // =============================================================================
14
+
15
+
16
+ /**
17
+ * Options for myNotifications.
18
+ */
19
+ export interface MyNotificationsMyNotificationOptions {
20
+ /** Page number for paginating through read items. Defaults to 1. */
21
+ page?: number;
22
+ }
23
+
24
+ /**
25
+ * Request parameters for markAsRead.
26
+ */
27
+ export interface MarkAsReadMyNotificationRequest {
28
+ /** Array of readable_sgid values identifying the items to mark as read */
29
+ readables: string[];
30
+ }
31
+
32
+
33
+ // =============================================================================
34
+ // Service
35
+ // =============================================================================
36
+
37
+ /**
38
+ * Service for MyNotifications operations.
39
+ */
40
+ export class MyNotificationsService extends BaseService {
41
+
42
+ /**
43
+ * Get the current user's notification inbox (the "Hey!" menu).
44
+ * @param options - Optional query parameters
45
+ * @returns The my_notification
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const result = await client.myNotifications.myNotifications();
50
+ * ```
51
+ */
52
+ async myNotifications(options?: MyNotificationsMyNotificationOptions): Promise<components["schemas"]["GetMyNotificationsResponseContent"]> {
53
+ const response = await this.request(
54
+ {
55
+ service: "MyNotifications",
56
+ operation: "GetMyNotifications",
57
+ resourceType: "my_notification",
58
+ isMutation: false,
59
+ },
60
+ () =>
61
+ this.client.GET("/my/readings.json", {
62
+ params: {
63
+ query: { page: options?.page },
64
+ },
65
+ })
66
+ );
67
+ return response;
68
+ }
69
+
70
+ /**
71
+ * Mark specified items as read
72
+ * @param req - Resource request parameters
73
+ * @returns void
74
+ * @throws {BasecampError} If the request fails
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * await client.myNotifications.markAsRead({ readables: [1234] });
79
+ * ```
80
+ */
81
+ async markAsRead(req: MarkAsReadMyNotificationRequest): Promise<void> {
82
+ if (!req.readables) {
83
+ throw Errors.validation("Readables is required");
84
+ }
85
+ await this.request(
86
+ {
87
+ service: "MyNotifications",
88
+ operation: "MarkAsRead",
89
+ resourceType: "resource",
90
+ isMutation: true,
91
+ },
92
+ () =>
93
+ this.client.PUT("/my/unreads.json", {
94
+ body: {
95
+ readables: req.readables,
96
+ },
97
+ })
98
+ );
99
+ }
100
+ }
@@ -14,11 +14,46 @@ export type Person = components["schemas"]["Person"];
14
14
  */
15
15
  export interface ListPingablePeopleOptions extends PaginationOptions {
16
16
  }
17
+ /**
18
+ * Request parameters for updateMyPreferences.
19
+ */
20
+ export interface UpdateMyPreferencesPeopleRequest {
21
+ /** Person */
22
+ person: components["schemas"]["PreferencesPayload"];
23
+ }
24
+ /**
25
+ * Request parameters for updateMyProfile.
26
+ */
27
+ export interface UpdateMyProfilePeopleRequest {
28
+ /** Display name */
29
+ name?: string;
30
+ /** Email address */
31
+ emailAddress?: string;
32
+ /** Title */
33
+ title?: string;
34
+ /** Bio */
35
+ bio?: string;
36
+ /** Location */
37
+ location?: string;
38
+ /** Time zone name */
39
+ timeZoneName?: string;
40
+ /** First week day */
41
+ firstWeekDay?: components["schemas"]["FirstWeekDay"];
42
+ /** Time format */
43
+ timeFormat?: string;
44
+ }
17
45
  /**
18
46
  * Options for list.
19
47
  */
20
48
  export interface ListPeopleOptions extends PaginationOptions {
21
49
  }
50
+ /**
51
+ * Request parameters for enableOutOfOffice.
52
+ */
53
+ export interface EnableOutOfOfficePeopleRequest {
54
+ /** Out of office */
55
+ outOfOffice: components["schemas"]["OutOfOfficePayload"];
56
+ }
22
57
  /**
23
58
  * Options for listForProject.
24
59
  */
@@ -50,6 +85,28 @@ export declare class PeopleService extends BaseService {
50
85
  * ```
51
86
  */
52
87
  listPingable(options?: ListPingablePeopleOptions): Promise<ListResult<Person>>;
88
+ /**
89
+ * Get the current user's preferences
90
+ * @returns The my_preference
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const result = await client.people.myPreferences();
95
+ * ```
96
+ */
97
+ myPreferences(): Promise<components["schemas"]["GetMyPreferencesResponseContent"]>;
98
+ /**
99
+ * Update the current user's preferences
100
+ * @param req - My_preference update parameters
101
+ * @returns The my_preference
102
+ * @throws {BasecampError} If the resource is not found or fields are invalid
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const result = await client.people.updateMyPreferences({ person: "example" });
107
+ * ```
108
+ */
109
+ updateMyPreferences(req: UpdateMyPreferencesPeopleRequest): Promise<components["schemas"]["UpdateMyPreferencesResponseContent"]>;
53
110
  /**
54
111
  * Get the current authenticated user's profile
55
112
  * @returns The Person
@@ -60,6 +117,18 @@ export declare class PeopleService extends BaseService {
60
117
  * ```
61
118
  */
62
119
  me(): Promise<Person>;
120
+ /**
121
+ * Update the current authenticated user's profile
122
+ * @param req - My_profile update parameters
123
+ * @returns void
124
+ * @throws {BasecampError} If the resource is not found or fields are invalid
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * await client.people.updateMyProfile({ });
129
+ * ```
130
+ */
131
+ updateMyProfile(req: UpdateMyProfilePeopleRequest): Promise<void>;
63
132
  /**
64
133
  * List all people visible to the current user
65
134
  * @param options - Optional query parameters
@@ -83,6 +152,42 @@ export declare class PeopleService extends BaseService {
83
152
  * ```
84
153
  */
85
154
  get(personId: number): Promise<Person>;
155
+ /**
156
+ * Get the out of office status for a person
157
+ * @param personId - The person ID
158
+ * @returns The out_of_office
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * const result = await client.people.outOfOffice(123);
163
+ * ```
164
+ */
165
+ outOfOffice(personId: number): Promise<components["schemas"]["GetOutOfOfficeResponseContent"]>;
166
+ /**
167
+ * Enable or replace out of office for a person.
168
+ * @param personId - The person ID
169
+ * @param req - Out_of_office request parameters
170
+ * @returns The out_of_office
171
+ * @throws {BasecampError} If the request fails
172
+ *
173
+ * @example
174
+ * ```ts
175
+ * const result = await client.people.enableOutOfOffice(123, { outOfOffice: "example" });
176
+ * ```
177
+ */
178
+ enableOutOfOffice(personId: number, req: EnableOutOfOfficePeopleRequest): Promise<components["schemas"]["EnableOutOfOfficeResponseContent"]>;
179
+ /**
180
+ * Disable out of office for a person.
181
+ * @param personId - The person ID
182
+ * @returns void
183
+ * @throws {BasecampError} If the request fails
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * await client.people.disableOutOfOffice(123);
188
+ * ```
189
+ */
190
+ disableOutOfOffice(personId: number): Promise<void>;
86
191
  /**
87
192
  * List all active people on a project
88
193
  * @param projectId - The project ID
@@ -1 +1 @@
1
- {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../src/generated/services/people.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,2CAA2C;AAC3C,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa;IACb,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;CACzD;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;OASG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAepF;;;;;;;;OAQG;IACG,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC;IAe3B;;;;;;;;;OASG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAepE;;;;;;;;;;OAUG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB5C;;;;;;;;;;OAUG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAmB3G;;;;;;;;;;;OAWG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,gCAAgC,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAwBzJ;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAc1C"}
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../src/generated/services/people.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * @generated from OpenAPI spec - do not edit directly
5
5
  */
6
6
  import { BaseService } from "../../services/base.js";
7
+ import { Errors } from "../../errors.js";
7
8
  // =============================================================================
8
9
  // Service
9
10
  // =============================================================================
@@ -29,6 +30,51 @@ export class PeopleService extends BaseService {
29
30
  isMutation: false,
30
31
  }, () => this.client.GET("/circles/people.json", {}), options);
31
32
  }
33
+ /**
34
+ * Get the current user's preferences
35
+ * @returns The my_preference
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const result = await client.people.myPreferences();
40
+ * ```
41
+ */
42
+ async myPreferences() {
43
+ const response = await this.request({
44
+ service: "People",
45
+ operation: "GetMyPreferences",
46
+ resourceType: "my_preference",
47
+ isMutation: false,
48
+ }, () => this.client.GET("/my/preferences.json", {}));
49
+ return response;
50
+ }
51
+ /**
52
+ * Update the current user's preferences
53
+ * @param req - My_preference update parameters
54
+ * @returns The my_preference
55
+ * @throws {BasecampError} If the resource is not found or fields are invalid
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const result = await client.people.updateMyPreferences({ person: "example" });
60
+ * ```
61
+ */
62
+ async updateMyPreferences(req) {
63
+ if (!req.person) {
64
+ throw Errors.validation("Person is required");
65
+ }
66
+ const response = await this.request({
67
+ service: "People",
68
+ operation: "UpdateMyPreferences",
69
+ resourceType: "my_preference",
70
+ isMutation: true,
71
+ }, () => this.client.PUT("/my/preferences.json", {
72
+ body: {
73
+ person: req.person,
74
+ },
75
+ }));
76
+ return response;
77
+ }
32
78
  /**
33
79
  * Get the current authenticated user's profile
34
80
  * @returns The Person
@@ -47,6 +93,36 @@ export class PeopleService extends BaseService {
47
93
  }, () => this.client.GET("/my/profile.json", {}));
48
94
  return response;
49
95
  }
96
+ /**
97
+ * Update the current authenticated user's profile
98
+ * @param req - My_profile update parameters
99
+ * @returns void
100
+ * @throws {BasecampError} If the resource is not found or fields are invalid
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * await client.people.updateMyProfile({ });
105
+ * ```
106
+ */
107
+ async updateMyProfile(req) {
108
+ await this.request({
109
+ service: "People",
110
+ operation: "UpdateMyProfile",
111
+ resourceType: "my_profile",
112
+ isMutation: true,
113
+ }, () => this.client.PUT("/my/profile.json", {
114
+ body: {
115
+ name: req.name,
116
+ email_address: req.emailAddress,
117
+ title: req.title,
118
+ bio: req.bio,
119
+ location: req.location,
120
+ time_zone_name: req.timeZoneName,
121
+ first_week_day: req.firstWeekDay,
122
+ time_format: req.timeFormat,
123
+ },
124
+ }));
125
+ }
50
126
  /**
51
127
  * List all people visible to the current user
52
128
  * @param options - Optional query parameters
@@ -90,6 +166,86 @@ export class PeopleService extends BaseService {
90
166
  }));
91
167
  return response;
92
168
  }
169
+ /**
170
+ * Get the out of office status for a person
171
+ * @param personId - The person ID
172
+ * @returns The out_of_office
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const result = await client.people.outOfOffice(123);
177
+ * ```
178
+ */
179
+ async outOfOffice(personId) {
180
+ const response = await this.request({
181
+ service: "People",
182
+ operation: "GetOutOfOffice",
183
+ resourceType: "out_of_office",
184
+ isMutation: false,
185
+ resourceId: personId,
186
+ }, () => this.client.GET("/people/{personId}/out_of_office.json", {
187
+ params: {
188
+ path: { personId },
189
+ },
190
+ }));
191
+ return response;
192
+ }
193
+ /**
194
+ * Enable or replace out of office for a person.
195
+ * @param personId - The person ID
196
+ * @param req - Out_of_office request parameters
197
+ * @returns The out_of_office
198
+ * @throws {BasecampError} If the request fails
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * const result = await client.people.enableOutOfOffice(123, { outOfOffice: "example" });
203
+ * ```
204
+ */
205
+ async enableOutOfOffice(personId, req) {
206
+ if (!req.outOfOffice) {
207
+ throw Errors.validation("Out of office is required");
208
+ }
209
+ const response = await this.request({
210
+ service: "People",
211
+ operation: "EnableOutOfOffice",
212
+ resourceType: "out_of_office",
213
+ isMutation: true,
214
+ resourceId: personId,
215
+ }, () => this.client.POST("/people/{personId}/out_of_office.json", {
216
+ params: {
217
+ path: { personId },
218
+ },
219
+ body: {
220
+ out_of_office: req.outOfOffice,
221
+ },
222
+ }));
223
+ return response;
224
+ }
225
+ /**
226
+ * Disable out of office for a person.
227
+ * @param personId - The person ID
228
+ * @returns void
229
+ * @throws {BasecampError} If the request fails
230
+ *
231
+ * @example
232
+ * ```ts
233
+ * await client.people.disableOutOfOffice(123);
234
+ * ```
235
+ */
236
+ async disableOutOfOffice(personId) {
237
+ await this.request({
238
+ service: "People",
239
+ operation: "DisableOutOfOffice",
240
+ resourceType: "out_of_office",
241
+ isMutation: true,
242
+ resourceId: personId,
243
+ }, () => this.client.DELETE("/people/{personId}/out_of_office.json", {
244
+ params: {
245
+ path: { personId },
246
+ },
247
+ }));
248
+ }
93
249
  /**
94
250
  * List all active people on a project
95
251
  * @param projectId - The project ID
@@ -1 +1 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../../src/generated/services/people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../../src/generated/services/people.ts"],"names":[],"mappings":"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"}