@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.
- package/README.md +600 -0
- package/dist/auth-strategy.d.ts +36 -0
- package/dist/auth-strategy.d.ts.map +1 -0
- package/dist/auth-strategy.js +33 -0
- package/dist/auth-strategy.js.map +1 -0
- package/dist/client.d.ts +224 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +715 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +137 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +269 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/metadata.json +2281 -0
- package/dist/generated/openapi-stripped.json +21268 -0
- package/dist/generated/path-mapping.d.ts +8 -0
- package/dist/generated/path-mapping.d.ts.map +1 -0
- package/dist/generated/path-mapping.js +192 -0
- package/dist/generated/path-mapping.js.map +1 -0
- package/dist/generated/path-mapping.ts +199 -0
- package/dist/generated/schema.d.ts +14883 -0
- package/dist/generated/services/attachments.d.ts +27 -0
- package/dist/generated/services/attachments.d.ts.map +1 -0
- package/dist/generated/services/attachments.js +49 -0
- package/dist/generated/services/attachments.js.map +1 -0
- package/dist/generated/services/attachments.ts +59 -0
- package/dist/generated/services/boosts.d.ts +114 -0
- package/dist/generated/services/boosts.d.ts.map +1 -0
- package/dist/generated/services/boosts.js +179 -0
- package/dist/generated/services/boosts.js.map +1 -0
- package/dist/generated/services/boosts.ts +250 -0
- package/dist/generated/services/campfires.d.ts +202 -0
- package/dist/generated/services/campfires.d.ts.map +1 -0
- package/dist/generated/services/campfires.js +309 -0
- package/dist/generated/services/campfires.js.map +1 -0
- package/dist/generated/services/campfires.ts +433 -0
- package/dist/generated/services/card-columns.d.ts +163 -0
- package/dist/generated/services/card-columns.d.ts.map +1 -0
- package/dist/generated/services/card-columns.js +264 -0
- package/dist/generated/services/card-columns.js.map +1 -0
- package/dist/generated/services/card-columns.ts +360 -0
- package/dist/generated/services/card-steps.d.ts +105 -0
- package/dist/generated/services/card-steps.d.ts.map +1 -0
- package/dist/generated/services/card-steps.js +148 -0
- package/dist/generated/services/card-steps.js.map +1 -0
- package/dist/generated/services/card-steps.ts +221 -0
- package/dist/generated/services/card-tables.d.ts +27 -0
- package/dist/generated/services/card-tables.d.ts.map +1 -0
- package/dist/generated/services/card-tables.js +40 -0
- package/dist/generated/services/card-tables.js.map +1 -0
- package/dist/generated/services/card-tables.ts +55 -0
- package/dist/generated/services/cards.d.ts +118 -0
- package/dist/generated/services/cards.d.ts.map +1 -0
- package/dist/generated/services/cards.js +166 -0
- package/dist/generated/services/cards.js.map +1 -0
- package/dist/generated/services/cards.ts +247 -0
- package/dist/generated/services/checkins.d.ts +278 -0
- package/dist/generated/services/checkins.d.ts.map +1 -0
- package/dist/generated/services/checkins.js +420 -0
- package/dist/generated/services/checkins.js.map +1 -0
- package/dist/generated/services/checkins.ts +600 -0
- package/dist/generated/services/client-approvals.d.ts +45 -0
- package/dist/generated/services/client-approvals.d.ts.map +1 -0
- package/dist/generated/services/client-approvals.js +58 -0
- package/dist/generated/services/client-approvals.js.map +1 -0
- package/dist/generated/services/client-approvals.ts +89 -0
- package/dist/generated/services/client-correspondences.d.ts +45 -0
- package/dist/generated/services/client-correspondences.d.ts.map +1 -0
- package/dist/generated/services/client-correspondences.js +58 -0
- package/dist/generated/services/client-correspondences.js.map +1 -0
- package/dist/generated/services/client-correspondences.ts +89 -0
- package/dist/generated/services/client-replies.d.ts +47 -0
- package/dist/generated/services/client-replies.d.ts.map +1 -0
- package/dist/generated/services/client-replies.js +65 -0
- package/dist/generated/services/client-replies.js.map +1 -0
- package/dist/generated/services/client-replies.ts +95 -0
- package/dist/generated/services/client-visibility.d.ts +35 -0
- package/dist/generated/services/client-visibility.d.ts.map +1 -0
- package/dist/generated/services/client-visibility.js +44 -0
- package/dist/generated/services/client-visibility.js.map +1 -0
- package/dist/generated/services/client-visibility.ts +68 -0
- package/dist/generated/services/comments.d.ts +86 -0
- package/dist/generated/services/comments.d.ts.map +1 -0
- package/dist/generated/services/comments.js +129 -0
- package/dist/generated/services/comments.js.map +1 -0
- package/dist/generated/services/comments.ts +185 -0
- package/dist/generated/services/documents.d.ts +92 -0
- package/dist/generated/services/documents.d.ts.map +1 -0
- package/dist/generated/services/documents.js +129 -0
- package/dist/generated/services/documents.js.map +1 -0
- package/dist/generated/services/documents.ts +191 -0
- package/dist/generated/services/events.d.ts +34 -0
- package/dist/generated/services/events.d.ts.map +1 -0
- package/dist/generated/services/events.js +39 -0
- package/dist/generated/services/events.js.map +1 -0
- package/dist/generated/services/events.ts +64 -0
- package/dist/generated/services/forwards.d.ts +112 -0
- package/dist/generated/services/forwards.d.ts.map +1 -0
- package/dist/generated/services/forwards.js +172 -0
- package/dist/generated/services/forwards.js.map +1 -0
- package/dist/generated/services/forwards.ts +241 -0
- package/dist/generated/services/index.d.ts +39 -0
- package/dist/generated/services/index.d.ts.map +1 -0
- package/dist/generated/services/index.js +39 -0
- package/dist/generated/services/index.js.map +1 -0
- package/dist/generated/services/index.ts +38 -0
- package/dist/generated/services/lineup.d.ts +67 -0
- package/dist/generated/services/lineup.d.ts.map +1 -0
- package/dist/generated/services/lineup.js +99 -0
- package/dist/generated/services/lineup.js.map +1 -0
- package/dist/generated/services/lineup.ts +143 -0
- package/dist/generated/services/message-boards.d.ts +27 -0
- package/dist/generated/services/message-boards.d.ts.map +1 -0
- package/dist/generated/services/message-boards.js +40 -0
- package/dist/generated/services/message-boards.js.map +1 -0
- package/dist/generated/services/message-boards.ts +55 -0
- package/dist/generated/services/message-types.d.ts +100 -0
- package/dist/generated/services/message-types.d.ts.map +1 -0
- package/dist/generated/services/message-types.js +144 -0
- package/dist/generated/services/message-types.js.map +1 -0
- package/dist/generated/services/message-types.ts +210 -0
- package/dist/generated/services/messages.d.ts +122 -0
- package/dist/generated/services/messages.d.ts.map +1 -0
- package/dist/generated/services/messages.js +180 -0
- package/dist/generated/services/messages.js.map +1 -0
- package/dist/generated/services/messages.ts +258 -0
- package/dist/generated/services/people.d.ts +122 -0
- package/dist/generated/services/people.d.ts.map +1 -0
- package/dist/generated/services/people.js +167 -0
- package/dist/generated/services/people.js.map +1 -0
- package/dist/generated/services/people.ts +252 -0
- package/dist/generated/services/projects.d.ts +109 -0
- package/dist/generated/services/projects.d.ts.map +1 -0
- package/dist/generated/services/projects.js +153 -0
- package/dist/generated/services/projects.js.map +1 -0
- package/dist/generated/services/projects.ts +224 -0
- package/dist/generated/services/recordings.d.ts +93 -0
- package/dist/generated/services/recordings.d.ts.map +1 -0
- package/dist/generated/services/recordings.js +138 -0
- package/dist/generated/services/recordings.js.map +1 -0
- package/dist/generated/services/recordings.ts +191 -0
- package/dist/generated/services/reports.d.ts +90 -0
- package/dist/generated/services/reports.d.ts.map +1 -0
- package/dist/generated/services/reports.js +124 -0
- package/dist/generated/services/reports.js.map +1 -0
- package/dist/generated/services/reports.ts +187 -0
- package/dist/generated/services/schedules.d.ts +162 -0
- package/dist/generated/services/schedules.d.ts.map +1 -0
- package/dist/generated/services/schedules.js +228 -0
- package/dist/generated/services/schedules.js.map +1 -0
- package/dist/generated/services/schedules.ts +335 -0
- package/dist/generated/services/search.d.ts +45 -0
- package/dist/generated/services/search.d.ts.map +1 -0
- package/dist/generated/services/search.js +56 -0
- package/dist/generated/services/search.js.map +1 -0
- package/dist/generated/services/search.ts +89 -0
- package/dist/generated/services/subscriptions.d.ts +73 -0
- package/dist/generated/services/subscriptions.d.ts.map +1 -0
- package/dist/generated/services/subscriptions.js +119 -0
- package/dist/generated/services/subscriptions.js.map +1 -0
- package/dist/generated/services/subscriptions.ts +160 -0
- package/dist/generated/services/templates.d.ts +140 -0
- package/dist/generated/services/templates.d.ts.map +1 -0
- package/dist/generated/services/templates.js +207 -0
- package/dist/generated/services/templates.js.map +1 -0
- package/dist/generated/services/templates.ts +294 -0
- package/dist/generated/services/timeline.d.ts +31 -0
- package/dist/generated/services/timeline.d.ts.map +1 -0
- package/dist/generated/services/timeline.js +39 -0
- package/dist/generated/services/timeline.js.map +1 -0
- package/dist/generated/services/timeline.ts +62 -0
- package/dist/generated/services/timesheets.d.ts +145 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -0
- package/dist/generated/services/timesheets.js +186 -0
- package/dist/generated/services/timesheets.js.map +1 -0
- package/dist/generated/services/timesheets.ts +289 -0
- package/dist/generated/services/todolist-groups.d.ts +74 -0
- package/dist/generated/services/todolist-groups.d.ts.map +1 -0
- package/dist/generated/services/todolist-groups.js +100 -0
- package/dist/generated/services/todolist-groups.js.map +1 -0
- package/dist/generated/services/todolist-groups.ts +151 -0
- package/dist/generated/services/todolists.d.ts +95 -0
- package/dist/generated/services/todolists.d.ts.map +1 -0
- package/dist/generated/services/todolists.js +130 -0
- package/dist/generated/services/todolists.js.map +1 -0
- package/dist/generated/services/todolists.ts +192 -0
- package/dist/generated/services/todos.d.ts +175 -0
- package/dist/generated/services/todos.d.ts.map +1 -0
- package/dist/generated/services/todos.js +255 -0
- package/dist/generated/services/todos.js.map +1 -0
- package/dist/generated/services/todos.ts +369 -0
- package/dist/generated/services/todosets.d.ts +27 -0
- package/dist/generated/services/todosets.d.ts.map +1 -0
- package/dist/generated/services/todosets.js +40 -0
- package/dist/generated/services/todosets.js.map +1 -0
- package/dist/generated/services/todosets.ts +55 -0
- package/dist/generated/services/tools.d.ts +122 -0
- package/dist/generated/services/tools.d.ts.map +1 -0
- package/dist/generated/services/tools.js +197 -0
- package/dist/generated/services/tools.js.map +1 -0
- package/dist/generated/services/tools.ts +267 -0
- package/dist/generated/services/uploads.d.ts +109 -0
- package/dist/generated/services/uploads.d.ts.map +1 -0
- package/dist/generated/services/uploads.js +153 -0
- package/dist/generated/services/uploads.js.map +1 -0
- package/dist/generated/services/uploads.ts +227 -0
- package/dist/generated/services/vaults.d.ts +86 -0
- package/dist/generated/services/vaults.d.ts.map +1 -0
- package/dist/generated/services/vaults.js +126 -0
- package/dist/generated/services/vaults.js.map +1 -0
- package/dist/generated/services/vaults.ts +182 -0
- package/dist/generated/services/webhooks.d.ts +106 -0
- package/dist/generated/services/webhooks.d.ts.map +1 -0
- package/dist/generated/services/webhooks.js +157 -0
- package/dist/generated/services/webhooks.js.map +1 -0
- package/dist/generated/services/webhooks.ts +226 -0
- package/dist/hooks/otel.d.ts +136 -0
- package/dist/hooks/otel.d.ts.map +1 -0
- package/dist/hooks/otel.js +240 -0
- package/dist/hooks/otel.js.map +1 -0
- package/dist/hooks.d.ts +171 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +196 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth/authorize.d.ts +48 -0
- package/dist/oauth/authorize.d.ts.map +1 -0
- package/dist/oauth/authorize.js +56 -0
- package/dist/oauth/authorize.js.map +1 -0
- package/dist/oauth/callback-server.d.ts +56 -0
- package/dist/oauth/callback-server.d.ts.map +1 -0
- package/dist/oauth/callback-server.js +150 -0
- package/dist/oauth/callback-server.js.map +1 -0
- package/dist/oauth/discovery.d.ts +54 -0
- package/dist/oauth/discovery.d.ts.map +1 -0
- package/dist/oauth/discovery.js +116 -0
- package/dist/oauth/discovery.js.map +1 -0
- package/dist/oauth/exchange.d.ts +96 -0
- package/dist/oauth/exchange.d.ts.map +1 -0
- package/dist/oauth/exchange.js +324 -0
- package/dist/oauth/exchange.js.map +1 -0
- package/dist/oauth/identity.d.ts +30 -0
- package/dist/oauth/identity.d.ts.map +1 -0
- package/dist/oauth/identity.js +82 -0
- package/dist/oauth/identity.js.map +1 -0
- package/dist/oauth/index.d.ts +50 -0
- package/dist/oauth/index.d.ts.map +1 -0
- package/dist/oauth/index.js +58 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/interactive-login.d.ts +62 -0
- package/dist/oauth/interactive-login.d.ts.map +1 -0
- package/dist/oauth/interactive-login.js +106 -0
- package/dist/oauth/interactive-login.js.map +1 -0
- package/dist/oauth/pkce.d.ts +68 -0
- package/dist/oauth/pkce.d.ts.map +1 -0
- package/dist/oauth/pkce.js +80 -0
- package/dist/oauth/pkce.js.map +1 -0
- package/dist/oauth/token-manager.d.ts +92 -0
- package/dist/oauth/token-manager.d.ts.map +1 -0
- package/dist/oauth/token-manager.js +126 -0
- package/dist/oauth/token-manager.js.map +1 -0
- package/dist/oauth/token-store.d.ts +45 -0
- package/dist/oauth/token-store.d.ts.map +1 -0
- package/dist/oauth/token-store.js +105 -0
- package/dist/oauth/token-store.js.map +1 -0
- package/dist/oauth/types.d.ts +98 -0
- package/dist/oauth/types.d.ts.map +1 -0
- package/dist/oauth/types.js +8 -0
- package/dist/oauth/types.js.map +1 -0
- package/dist/pagination-utils.d.ts +27 -0
- package/dist/pagination-utils.d.ts.map +1 -0
- package/dist/pagination-utils.js +54 -0
- package/dist/pagination-utils.js.map +1 -0
- package/dist/pagination.d.ts +56 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +57 -0
- package/dist/pagination.js.map +1 -0
- package/dist/security.d.ts +68 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +107 -0
- package/dist/security.js.map +1 -0
- package/dist/services/authorization.d.ts +124 -0
- package/dist/services/authorization.d.ts.map +1 -0
- package/dist/services/authorization.js +117 -0
- package/dist/services/authorization.js.map +1 -0
- package/dist/services/base.d.ts +102 -0
- package/dist/services/base.d.ts.map +1 -0
- package/dist/services/base.js +230 -0
- package/dist/services/base.js.map +1 -0
- package/dist/webhooks/adapters/node-http.d.ts +14 -0
- package/dist/webhooks/adapters/node-http.d.ts.map +1 -0
- package/dist/webhooks/adapters/node-http.js +60 -0
- package/dist/webhooks/adapters/node-http.js.map +1 -0
- package/dist/webhooks/events.d.ts +52 -0
- package/dist/webhooks/events.d.ts.map +1 -0
- package/dist/webhooks/events.js +52 -0
- package/dist/webhooks/events.js.map +1 -0
- package/dist/webhooks/handler.d.ts +62 -0
- package/dist/webhooks/handler.d.ts.map +1 -0
- package/dist/webhooks/handler.js +226 -0
- package/dist/webhooks/handler.js.map +1 -0
- package/dist/webhooks/index.d.ts +5 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +5 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/verify.d.ts +11 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/webhooks/verify.js +25 -0
- package/dist/webhooks/verify.js.map +1 -0
- package/package.json +70 -0
- package/src/generated/metadata.json +2281 -0
- package/src/generated/openapi-stripped.json +21268 -0
- package/src/generated/path-mapping.ts +199 -0
- package/src/generated/schema.d.ts +14883 -0
- package/src/generated/services/attachments.ts +59 -0
- package/src/generated/services/boosts.ts +250 -0
- package/src/generated/services/campfires.ts +433 -0
- package/src/generated/services/card-columns.ts +360 -0
- package/src/generated/services/card-steps.ts +221 -0
- package/src/generated/services/card-tables.ts +55 -0
- package/src/generated/services/cards.ts +247 -0
- package/src/generated/services/checkins.ts +600 -0
- package/src/generated/services/client-approvals.ts +89 -0
- package/src/generated/services/client-correspondences.ts +89 -0
- package/src/generated/services/client-replies.ts +95 -0
- package/src/generated/services/client-visibility.ts +68 -0
- package/src/generated/services/comments.ts +185 -0
- package/src/generated/services/documents.ts +191 -0
- package/src/generated/services/events.ts +64 -0
- package/src/generated/services/forwards.ts +241 -0
- package/src/generated/services/index.ts +38 -0
- package/src/generated/services/lineup.ts +143 -0
- package/src/generated/services/message-boards.ts +55 -0
- package/src/generated/services/message-types.ts +210 -0
- package/src/generated/services/messages.ts +258 -0
- package/src/generated/services/people.ts +252 -0
- package/src/generated/services/projects.ts +224 -0
- package/src/generated/services/recordings.ts +191 -0
- package/src/generated/services/reports.ts +187 -0
- package/src/generated/services/schedules.ts +335 -0
- package/src/generated/services/search.ts +89 -0
- package/src/generated/services/subscriptions.ts +160 -0
- package/src/generated/services/templates.ts +294 -0
- package/src/generated/services/timeline.ts +62 -0
- package/src/generated/services/timesheets.ts +289 -0
- package/src/generated/services/todolist-groups.ts +151 -0
- package/src/generated/services/todolists.ts +192 -0
- package/src/generated/services/todos.ts +369 -0
- package/src/generated/services/todosets.ts +55 -0
- package/src/generated/services/tools.ts +267 -0
- package/src/generated/services/uploads.ts +227 -0
- package/src/generated/services/vaults.ts +182 -0
- package/src/generated/services/webhooks.ts +226 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* People 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
|
+
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Types
|
|
14
|
+
// =============================================================================
|
|
15
|
+
|
|
16
|
+
/** Person entity from the Basecamp API. */
|
|
17
|
+
export type Person = components["schemas"]["Person"];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Options for listPingable.
|
|
21
|
+
*/
|
|
22
|
+
export interface ListPingablePeopleOptions extends PaginationOptions {
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Options for list.
|
|
27
|
+
*/
|
|
28
|
+
export interface ListPeopleOptions extends PaginationOptions {
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Options for listForProject.
|
|
33
|
+
*/
|
|
34
|
+
export interface ListForProjectPeopleOptions extends PaginationOptions {
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Request parameters for updateProjectAccess.
|
|
39
|
+
*/
|
|
40
|
+
export interface UpdateProjectAccessPeopleRequest {
|
|
41
|
+
/** Grant */
|
|
42
|
+
grant?: number[];
|
|
43
|
+
/** Revoke */
|
|
44
|
+
revoke?: number[];
|
|
45
|
+
/** Create */
|
|
46
|
+
create?: components["schemas"]["CreatePersonRequest"][];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// =============================================================================
|
|
51
|
+
// Service
|
|
52
|
+
// =============================================================================
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Service for People operations.
|
|
56
|
+
*/
|
|
57
|
+
export class PeopleService extends BaseService {
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* List all account users who can be pinged
|
|
61
|
+
* @param options - Optional query parameters
|
|
62
|
+
* @returns All Person across all pages, with .meta.totalCount
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const result = await client.people.listPingable();
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
async listPingable(options?: ListPingablePeopleOptions): Promise<ListResult<Person>> {
|
|
70
|
+
return this.requestPaginated(
|
|
71
|
+
{
|
|
72
|
+
service: "People",
|
|
73
|
+
operation: "ListPingablePeople",
|
|
74
|
+
resourceType: "pingable_people",
|
|
75
|
+
isMutation: false,
|
|
76
|
+
},
|
|
77
|
+
() =>
|
|
78
|
+
this.client.GET("/circles/people.json", {
|
|
79
|
+
})
|
|
80
|
+
, options
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Get the current authenticated user's profile
|
|
86
|
+
* @returns The Person
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* const result = await client.people.me();
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
async me(): Promise<Person> {
|
|
94
|
+
const response = await this.request(
|
|
95
|
+
{
|
|
96
|
+
service: "People",
|
|
97
|
+
operation: "GetMyProfile",
|
|
98
|
+
resourceType: "my_profile",
|
|
99
|
+
isMutation: false,
|
|
100
|
+
},
|
|
101
|
+
() =>
|
|
102
|
+
this.client.GET("/my/profile.json", {
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
return response;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* List all people visible to the current user
|
|
110
|
+
* @param options - Optional query parameters
|
|
111
|
+
* @returns All Person across all pages, with .meta.totalCount
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* const result = await client.people.list();
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
async list(options?: ListPeopleOptions): Promise<ListResult<Person>> {
|
|
119
|
+
return this.requestPaginated(
|
|
120
|
+
{
|
|
121
|
+
service: "People",
|
|
122
|
+
operation: "ListPeople",
|
|
123
|
+
resourceType: "people",
|
|
124
|
+
isMutation: false,
|
|
125
|
+
},
|
|
126
|
+
() =>
|
|
127
|
+
this.client.GET("/people.json", {
|
|
128
|
+
})
|
|
129
|
+
, options
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Get a person by ID
|
|
135
|
+
* @param personId - The person ID
|
|
136
|
+
* @returns The Person
|
|
137
|
+
* @throws {BasecampError} If the resource is not found
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const result = await client.people.get(123);
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
async get(personId: number): Promise<Person> {
|
|
145
|
+
const response = await this.request(
|
|
146
|
+
{
|
|
147
|
+
service: "People",
|
|
148
|
+
operation: "GetPerson",
|
|
149
|
+
resourceType: "person",
|
|
150
|
+
isMutation: false,
|
|
151
|
+
resourceId: personId,
|
|
152
|
+
},
|
|
153
|
+
() =>
|
|
154
|
+
this.client.GET("/people/{personId}", {
|
|
155
|
+
params: {
|
|
156
|
+
path: { personId },
|
|
157
|
+
},
|
|
158
|
+
})
|
|
159
|
+
);
|
|
160
|
+
return response;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* List all active people on a project
|
|
165
|
+
* @param projectId - The project ID
|
|
166
|
+
* @param options - Optional query parameters
|
|
167
|
+
* @returns All Person across all pages, with .meta.totalCount
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* const result = await client.people.listForProject(123);
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
async listForProject(projectId: number, options?: ListForProjectPeopleOptions): Promise<ListResult<Person>> {
|
|
175
|
+
return this.requestPaginated(
|
|
176
|
+
{
|
|
177
|
+
service: "People",
|
|
178
|
+
operation: "ListProjectPeople",
|
|
179
|
+
resourceType: "project_people",
|
|
180
|
+
isMutation: false,
|
|
181
|
+
projectId,
|
|
182
|
+
},
|
|
183
|
+
() =>
|
|
184
|
+
this.client.GET("/projects/{projectId}/people.json", {
|
|
185
|
+
params: {
|
|
186
|
+
path: { projectId },
|
|
187
|
+
},
|
|
188
|
+
})
|
|
189
|
+
, options
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Update project access (grant/revoke/create people)
|
|
195
|
+
* @param projectId - The project ID
|
|
196
|
+
* @param req - Project_access update parameters
|
|
197
|
+
* @returns The project_access
|
|
198
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts
|
|
202
|
+
* const result = await client.people.updateProjectAccess(123, { });
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
async updateProjectAccess(projectId: number, req: UpdateProjectAccessPeopleRequest): Promise<components["schemas"]["UpdateProjectAccessResponseContent"]> {
|
|
206
|
+
const response = await this.request(
|
|
207
|
+
{
|
|
208
|
+
service: "People",
|
|
209
|
+
operation: "UpdateProjectAccess",
|
|
210
|
+
resourceType: "project_access",
|
|
211
|
+
isMutation: true,
|
|
212
|
+
projectId,
|
|
213
|
+
},
|
|
214
|
+
() =>
|
|
215
|
+
this.client.PUT("/projects/{projectId}/people/users.json", {
|
|
216
|
+
params: {
|
|
217
|
+
path: { projectId },
|
|
218
|
+
},
|
|
219
|
+
body: {
|
|
220
|
+
grant: req.grant,
|
|
221
|
+
revoke: req.revoke,
|
|
222
|
+
create: req.create,
|
|
223
|
+
},
|
|
224
|
+
})
|
|
225
|
+
);
|
|
226
|
+
return response;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* List people who can be assigned todos
|
|
231
|
+
* @returns Array of Person
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* const result = await client.people.listAssignable();
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
async listAssignable(): Promise<Person[]> {
|
|
239
|
+
const response = await this.request(
|
|
240
|
+
{
|
|
241
|
+
service: "People",
|
|
242
|
+
operation: "ListAssignablePeople",
|
|
243
|
+
resourceType: "assignable_people",
|
|
244
|
+
isMutation: false,
|
|
245
|
+
},
|
|
246
|
+
() =>
|
|
247
|
+
this.client.GET("/reports/todos/assigned.json", {
|
|
248
|
+
})
|
|
249
|
+
);
|
|
250
|
+
return response ?? [];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Projects 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
|
+
/** Project entity from the Basecamp API. */
|
|
11
|
+
export type Project = components["schemas"]["Project"];
|
|
12
|
+
/**
|
|
13
|
+
* Options for list.
|
|
14
|
+
*/
|
|
15
|
+
export interface ListProjectOptions extends PaginationOptions {
|
|
16
|
+
/** Filter by status */
|
|
17
|
+
status?: "active" | "archived" | "trashed";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Request parameters for create.
|
|
21
|
+
*/
|
|
22
|
+
export interface CreateProjectRequest {
|
|
23
|
+
/** Display name */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Rich text description (HTML) */
|
|
26
|
+
description?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Request parameters for update.
|
|
30
|
+
*/
|
|
31
|
+
export interface UpdateProjectRequest {
|
|
32
|
+
/** Display name */
|
|
33
|
+
name: string;
|
|
34
|
+
/** Rich text description (HTML) */
|
|
35
|
+
description?: string;
|
|
36
|
+
/** Admissions */
|
|
37
|
+
admissions?: "invite" | "employee" | "team";
|
|
38
|
+
/** Schedule date range settings */
|
|
39
|
+
scheduleAttributes?: components["schemas"]["ScheduleAttributes"];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Service for Projects operations.
|
|
43
|
+
*/
|
|
44
|
+
export declare class ProjectsService extends BaseService {
|
|
45
|
+
/**
|
|
46
|
+
* List projects (active by default; optionally archived/trashed)
|
|
47
|
+
* @param options - Optional query parameters
|
|
48
|
+
* @returns All Project across all pages, with .meta.totalCount
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const result = await client.projects.list();
|
|
53
|
+
*
|
|
54
|
+
* // With options
|
|
55
|
+
* const filtered = await client.projects.list({ status: "active" });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
list(options?: ListProjectOptions): Promise<ListResult<Project>>;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new project
|
|
61
|
+
* @param req - Project creation parameters
|
|
62
|
+
* @returns The Project
|
|
63
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const result = await client.projects.create({ name: "My example" });
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
create(req: CreateProjectRequest): Promise<Project>;
|
|
71
|
+
/**
|
|
72
|
+
* Get a single project by id
|
|
73
|
+
* @param projectId - The project ID
|
|
74
|
+
* @returns The Project
|
|
75
|
+
* @throws {BasecampError} If the resource is not found
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const result = await client.projects.get(123);
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
get(projectId: number): Promise<Project>;
|
|
83
|
+
/**
|
|
84
|
+
* Update an existing project
|
|
85
|
+
* @param projectId - The project ID
|
|
86
|
+
* @param req - Project update parameters
|
|
87
|
+
* @returns The Project
|
|
88
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const result = await client.projects.update(123, { name: "My example" });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
update(projectId: number, req: UpdateProjectRequest): Promise<Project>;
|
|
96
|
+
/**
|
|
97
|
+
* Trash a project. Trashed items can be recovered.
|
|
98
|
+
* @param projectId - The project ID
|
|
99
|
+
* @returns void
|
|
100
|
+
* @throws {BasecampError} If the request fails
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* await client.projects.trash(123);
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
trash(projectId: number): Promise<void>;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/generated/services/projects.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,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;CAClE;AAOD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAkBtE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBzD;;;;;;;;;;OAUG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B5E;;;;;;;;;;OAUG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB9C"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Projects 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 Projects operations.
|
|
13
|
+
*/
|
|
14
|
+
export class ProjectsService extends BaseService {
|
|
15
|
+
/**
|
|
16
|
+
* List projects (active by default; optionally archived/trashed)
|
|
17
|
+
* @param options - Optional query parameters
|
|
18
|
+
* @returns All Project across all pages, with .meta.totalCount
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const result = await client.projects.list();
|
|
23
|
+
*
|
|
24
|
+
* // With options
|
|
25
|
+
* const filtered = await client.projects.list({ status: "active" });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
async list(options) {
|
|
29
|
+
return this.requestPaginated({
|
|
30
|
+
service: "Projects",
|
|
31
|
+
operation: "ListProjects",
|
|
32
|
+
resourceType: "project",
|
|
33
|
+
isMutation: false,
|
|
34
|
+
}, () => this.client.GET("/projects.json", {
|
|
35
|
+
params: {
|
|
36
|
+
query: { status: options?.status },
|
|
37
|
+
},
|
|
38
|
+
}), options);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a new project
|
|
42
|
+
* @param req - Project creation parameters
|
|
43
|
+
* @returns The Project
|
|
44
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const result = await client.projects.create({ name: "My example" });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
async create(req) {
|
|
52
|
+
if (!req.name) {
|
|
53
|
+
throw Errors.validation("Name is required");
|
|
54
|
+
}
|
|
55
|
+
const response = await this.request({
|
|
56
|
+
service: "Projects",
|
|
57
|
+
operation: "CreateProject",
|
|
58
|
+
resourceType: "project",
|
|
59
|
+
isMutation: true,
|
|
60
|
+
}, () => this.client.POST("/projects.json", {
|
|
61
|
+
body: {
|
|
62
|
+
name: req.name,
|
|
63
|
+
description: req.description,
|
|
64
|
+
},
|
|
65
|
+
}));
|
|
66
|
+
return response;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get a single project by id
|
|
70
|
+
* @param projectId - The project ID
|
|
71
|
+
* @returns The Project
|
|
72
|
+
* @throws {BasecampError} If the resource is not found
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const result = await client.projects.get(123);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
async get(projectId) {
|
|
80
|
+
const response = await this.request({
|
|
81
|
+
service: "Projects",
|
|
82
|
+
operation: "GetProject",
|
|
83
|
+
resourceType: "project",
|
|
84
|
+
isMutation: false,
|
|
85
|
+
projectId,
|
|
86
|
+
}, () => this.client.GET("/projects/{projectId}", {
|
|
87
|
+
params: {
|
|
88
|
+
path: { projectId },
|
|
89
|
+
},
|
|
90
|
+
}));
|
|
91
|
+
return response;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Update an existing project
|
|
95
|
+
* @param projectId - The project ID
|
|
96
|
+
* @param req - Project update parameters
|
|
97
|
+
* @returns The Project
|
|
98
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const result = await client.projects.update(123, { name: "My example" });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
async update(projectId, req) {
|
|
106
|
+
if (!req.name) {
|
|
107
|
+
throw Errors.validation("Name is required");
|
|
108
|
+
}
|
|
109
|
+
const response = await this.request({
|
|
110
|
+
service: "Projects",
|
|
111
|
+
operation: "UpdateProject",
|
|
112
|
+
resourceType: "project",
|
|
113
|
+
isMutation: true,
|
|
114
|
+
projectId,
|
|
115
|
+
}, () => this.client.PUT("/projects/{projectId}", {
|
|
116
|
+
params: {
|
|
117
|
+
path: { projectId },
|
|
118
|
+
},
|
|
119
|
+
body: {
|
|
120
|
+
name: req.name,
|
|
121
|
+
description: req.description,
|
|
122
|
+
admissions: req.admissions,
|
|
123
|
+
schedule_attributes: req.scheduleAttributes,
|
|
124
|
+
},
|
|
125
|
+
}));
|
|
126
|
+
return response;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Trash a project. Trashed items can be recovered.
|
|
130
|
+
* @param projectId - The project ID
|
|
131
|
+
* @returns void
|
|
132
|
+
* @throws {BasecampError} If the request fails
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* await client.projects.trash(123);
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
async trash(projectId) {
|
|
140
|
+
await this.request({
|
|
141
|
+
service: "Projects",
|
|
142
|
+
operation: "TrashProject",
|
|
143
|
+
resourceType: "project",
|
|
144
|
+
isMutation: true,
|
|
145
|
+
projectId,
|
|
146
|
+
}, () => this.client.DELETE("/projects/{projectId}", {
|
|
147
|
+
params: {
|
|
148
|
+
path: { projectId },
|
|
149
|
+
},
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/generated/services/projects.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA0CzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,cAAc;YACzB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAChC,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;aACnC;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,GAAyB;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;SACjB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACjC,IAAI,EAAE;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,KAAK;YACjB,SAAS;SACV,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,GAAyB;QACvD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS;SACV,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,mBAAmB,EAAE,GAAG,CAAC,kBAAkB;aAC5C;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,cAAc;YACzB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS;SACV,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;YAC1C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;CACF"}
|