@37signals/fizzy 0.1.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 (199) hide show
  1. package/dist/auth/cookie-auth.d.ts +25 -0
  2. package/dist/auth/cookie-auth.d.ts.map +1 -0
  3. package/dist/auth/cookie-auth.js +29 -0
  4. package/dist/auth/cookie-auth.js.map +1 -0
  5. package/dist/auth/magic-link.d.ts +66 -0
  6. package/dist/auth/magic-link.d.ts.map +1 -0
  7. package/dist/auth/magic-link.js +78 -0
  8. package/dist/auth/magic-link.js.map +1 -0
  9. package/dist/auth-strategy.d.ts +32 -0
  10. package/dist/auth-strategy.d.ts.map +1 -0
  11. package/dist/auth-strategy.js +29 -0
  12. package/dist/auth-strategy.js.map +1 -0
  13. package/dist/cache/etag-cache.d.ts +49 -0
  14. package/dist/cache/etag-cache.d.ts.map +1 -0
  15. package/dist/cache/etag-cache.js +95 -0
  16. package/dist/cache/etag-cache.js.map +1 -0
  17. package/dist/client.d.ts +92 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +505 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/errors.d.ts +68 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +187 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/generated/metadata.json +1272 -0
  26. package/dist/generated/openapi-stripped.json +12446 -0
  27. package/dist/generated/path-mapping.d.ts +8 -0
  28. package/dist/generated/path-mapping.d.ts.map +1 -0
  29. package/dist/generated/path-mapping.js +124 -0
  30. package/dist/generated/path-mapping.js.map +1 -0
  31. package/dist/generated/path-mapping.ts +135 -0
  32. package/dist/generated/schema.d.ts +10272 -0
  33. package/dist/generated/services/boards.d.ts +56 -0
  34. package/dist/generated/services/boards.d.ts.map +1 -0
  35. package/dist/generated/services/boards.js +100 -0
  36. package/dist/generated/services/boards.js.map +1 -0
  37. package/dist/generated/services/boards.ts +152 -0
  38. package/dist/generated/services/cards.d.ts +164 -0
  39. package/dist/generated/services/cards.d.ts.map +1 -0
  40. package/dist/generated/services/cards.js +353 -0
  41. package/dist/generated/services/cards.js.map +1 -0
  42. package/dist/generated/services/cards.ts +522 -0
  43. package/dist/generated/services/columns.d.ts +45 -0
  44. package/dist/generated/services/columns.d.ts.map +1 -0
  45. package/dist/generated/services/columns.js +77 -0
  46. package/dist/generated/services/columns.js.map +1 -0
  47. package/dist/generated/services/columns.ts +116 -0
  48. package/dist/generated/services/comments.d.ts +42 -0
  49. package/dist/generated/services/comments.d.ts.map +1 -0
  50. package/dist/generated/services/comments.js +77 -0
  51. package/dist/generated/services/comments.js.map +1 -0
  52. package/dist/generated/services/comments.ts +114 -0
  53. package/dist/generated/services/devices.d.ts +24 -0
  54. package/dist/generated/services/devices.d.ts.map +1 -0
  55. package/dist/generated/services/devices.js +36 -0
  56. package/dist/generated/services/devices.js.map +1 -0
  57. package/dist/generated/services/devices.ts +53 -0
  58. package/dist/generated/services/identity.d.ts +16 -0
  59. package/dist/generated/services/identity.d.ts.map +1 -0
  60. package/dist/generated/services/identity.js +21 -0
  61. package/dist/generated/services/identity.js.map +1 -0
  62. package/dist/generated/services/identity.ts +30 -0
  63. package/dist/generated/services/index.d.ts +17 -0
  64. package/dist/generated/services/index.d.ts.map +1 -0
  65. package/dist/generated/services/index.js +17 -0
  66. package/dist/generated/services/index.js.map +1 -0
  67. package/dist/generated/services/index.ts +16 -0
  68. package/dist/generated/services/miscellaneous.d.ts +136 -0
  69. package/dist/generated/services/miscellaneous.d.ts.map +1 -0
  70. package/dist/generated/services/miscellaneous.js +301 -0
  71. package/dist/generated/services/miscellaneous.js.map +1 -0
  72. package/dist/generated/services/miscellaneous.ts +443 -0
  73. package/dist/generated/services/notifications.d.ts +42 -0
  74. package/dist/generated/services/notifications.d.ts.map +1 -0
  75. package/dist/generated/services/notifications.js +75 -0
  76. package/dist/generated/services/notifications.js.map +1 -0
  77. package/dist/generated/services/notifications.ts +113 -0
  78. package/dist/generated/services/pins.d.ts +16 -0
  79. package/dist/generated/services/pins.d.ts.map +1 -0
  80. package/dist/generated/services/pins.js +21 -0
  81. package/dist/generated/services/pins.js.map +1 -0
  82. package/dist/generated/services/pins.ts +29 -0
  83. package/dist/generated/services/reactions.d.ts +45 -0
  84. package/dist/generated/services/reactions.d.ts.map +1 -0
  85. package/dist/generated/services/reactions.js +90 -0
  86. package/dist/generated/services/reactions.js.map +1 -0
  87. package/dist/generated/services/reactions.ts +129 -0
  88. package/dist/generated/services/sessions.d.ts +44 -0
  89. package/dist/generated/services/sessions.d.ts.map +1 -0
  90. package/dist/generated/services/sessions.js +73 -0
  91. package/dist/generated/services/sessions.js.map +1 -0
  92. package/dist/generated/services/sessions.ts +113 -0
  93. package/dist/generated/services/steps.d.ts +43 -0
  94. package/dist/generated/services/steps.d.ts.map +1 -0
  95. package/dist/generated/services/steps.js +77 -0
  96. package/dist/generated/services/steps.js.map +1 -0
  97. package/dist/generated/services/steps.ts +114 -0
  98. package/dist/generated/services/tags.d.ts +17 -0
  99. package/dist/generated/services/tags.d.ts.map +1 -0
  100. package/dist/generated/services/tags.js +21 -0
  101. package/dist/generated/services/tags.js.map +1 -0
  102. package/dist/generated/services/tags.ts +32 -0
  103. package/dist/generated/services/uploads.d.ts +22 -0
  104. package/dist/generated/services/uploads.d.ts.map +1 -0
  105. package/dist/generated/services/uploads.js +23 -0
  106. package/dist/generated/services/uploads.js.map +1 -0
  107. package/dist/generated/services/uploads.ts +38 -0
  108. package/dist/generated/services/users.d.ts +33 -0
  109. package/dist/generated/services/users.d.ts.map +1 -0
  110. package/dist/generated/services/users.js +61 -0
  111. package/dist/generated/services/users.js.map +1 -0
  112. package/dist/generated/services/users.ts +89 -0
  113. package/dist/generated/services/webhooks.d.ts +49 -0
  114. package/dist/generated/services/webhooks.d.ts.map +1 -0
  115. package/dist/generated/services/webhooks.js +90 -0
  116. package/dist/generated/services/webhooks.js.map +1 -0
  117. package/dist/generated/services/webhooks.ts +133 -0
  118. package/dist/hooks/gating.d.ts +35 -0
  119. package/dist/hooks/gating.d.ts.map +1 -0
  120. package/dist/hooks/gating.js +58 -0
  121. package/dist/hooks/gating.js.map +1 -0
  122. package/dist/hooks/otel.d.ts +49 -0
  123. package/dist/hooks/otel.d.ts.map +1 -0
  124. package/dist/hooks/otel.js +171 -0
  125. package/dist/hooks/otel.js.map +1 -0
  126. package/dist/hooks.d.ts +99 -0
  127. package/dist/hooks.d.ts.map +1 -0
  128. package/dist/hooks.js +130 -0
  129. package/dist/hooks.js.map +1 -0
  130. package/dist/index.d.ts +64 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +97 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/pagination-utils.d.ts +22 -0
  135. package/dist/pagination-utils.d.ts.map +1 -0
  136. package/dist/pagination-utils.js +52 -0
  137. package/dist/pagination-utils.js.map +1 -0
  138. package/dist/pagination.d.ts +37 -0
  139. package/dist/pagination.d.ts.map +1 -0
  140. package/dist/pagination.js +30 -0
  141. package/dist/pagination.js.map +1 -0
  142. package/dist/resilience/bulkhead.d.ts +34 -0
  143. package/dist/resilience/bulkhead.d.ts.map +1 -0
  144. package/dist/resilience/bulkhead.js +65 -0
  145. package/dist/resilience/bulkhead.js.map +1 -0
  146. package/dist/resilience/circuit-breaker.d.ts +48 -0
  147. package/dist/resilience/circuit-breaker.d.ts.map +1 -0
  148. package/dist/resilience/circuit-breaker.js +74 -0
  149. package/dist/resilience/circuit-breaker.js.map +1 -0
  150. package/dist/resilience/index.d.ts +41 -0
  151. package/dist/resilience/index.d.ts.map +1 -0
  152. package/dist/resilience/index.js +46 -0
  153. package/dist/resilience/index.js.map +1 -0
  154. package/dist/resilience/rate-limiter.d.ts +38 -0
  155. package/dist/resilience/rate-limiter.d.ts.map +1 -0
  156. package/dist/resilience/rate-limiter.js +69 -0
  157. package/dist/resilience/rate-limiter.js.map +1 -0
  158. package/dist/security.d.ts +19 -0
  159. package/dist/security.d.ts.map +1 -0
  160. package/dist/security.js +55 -0
  161. package/dist/security.js.map +1 -0
  162. package/dist/services/base.d.ts +51 -0
  163. package/dist/services/base.d.ts.map +1 -0
  164. package/dist/services/base.js +146 -0
  165. package/dist/services/base.js.map +1 -0
  166. package/dist/webhooks/handler.d.ts +62 -0
  167. package/dist/webhooks/handler.d.ts.map +1 -0
  168. package/dist/webhooks/handler.js +204 -0
  169. package/dist/webhooks/handler.js.map +1 -0
  170. package/dist/webhooks/index.d.ts +3 -0
  171. package/dist/webhooks/index.d.ts.map +1 -0
  172. package/dist/webhooks/index.js +3 -0
  173. package/dist/webhooks/index.js.map +1 -0
  174. package/dist/webhooks/verify.d.ts +10 -0
  175. package/dist/webhooks/verify.d.ts.map +1 -0
  176. package/dist/webhooks/verify.js +23 -0
  177. package/dist/webhooks/verify.js.map +1 -0
  178. package/package.json +67 -0
  179. package/src/generated/metadata.json +1272 -0
  180. package/src/generated/openapi-stripped.json +12446 -0
  181. package/src/generated/path-mapping.ts +135 -0
  182. package/src/generated/schema.d.ts +10272 -0
  183. package/src/generated/services/boards.ts +152 -0
  184. package/src/generated/services/cards.ts +522 -0
  185. package/src/generated/services/columns.ts +116 -0
  186. package/src/generated/services/comments.ts +114 -0
  187. package/src/generated/services/devices.ts +53 -0
  188. package/src/generated/services/identity.ts +30 -0
  189. package/src/generated/services/index.ts +16 -0
  190. package/src/generated/services/miscellaneous.ts +443 -0
  191. package/src/generated/services/notifications.ts +113 -0
  192. package/src/generated/services/pins.ts +29 -0
  193. package/src/generated/services/reactions.ts +129 -0
  194. package/src/generated/services/sessions.ts +113 -0
  195. package/src/generated/services/steps.ts +114 -0
  196. package/src/generated/services/tags.ts +32 -0
  197. package/src/generated/services/uploads.ts +38 -0
  198. package/src/generated/services/users.ts +89 -0
  199. package/src/generated/services/webhooks.ts +133 -0
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Sessions service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import type { components } from "../schema.js";
10
+
11
+ export interface CreateSessionRequest {
12
+ emailAddress: string;
13
+ }
14
+
15
+ export interface RedeemMagicLinkRequest {
16
+ token: string;
17
+ }
18
+
19
+ export interface CompleteSignupRequest {
20
+ fullName: string;
21
+ }
22
+
23
+ export interface CompleteJoinRequest {
24
+ /** Display name */
25
+ name: string;
26
+ }
27
+
28
+ export class SessionsService extends BaseService {
29
+
30
+ /**
31
+ * DestroySession
32
+ */
33
+ async destroy(): Promise<void> {
34
+ return this.request(
35
+ {
36
+ service: "Session",
37
+ operation: "DestroySession",
38
+ resourceType: "session",
39
+ isMutation: true,
40
+ },
41
+ () => this.client.DELETE("/session.json" as never, {
42
+ } as never),
43
+ );
44
+ }
45
+
46
+ /**
47
+ * CreateSession
48
+ */
49
+ async create(body: CreateSessionRequest): Promise<components["schemas"]["PendingAuthentication"]> {
50
+ return this.request(
51
+ {
52
+ service: "Session",
53
+ operation: "CreateSession",
54
+ resourceType: "session",
55
+ isMutation: true,
56
+ },
57
+ () => this.client.POST("/session.json" as never, {
58
+ body: { email_address: body.emailAddress } as never,
59
+ } as never),
60
+ );
61
+ }
62
+
63
+ /**
64
+ * RedeemMagicLink
65
+ */
66
+ async redeemMagicLink(body: RedeemMagicLinkRequest): Promise<components["schemas"]["SessionAuthorization"]> {
67
+ return this.request(
68
+ {
69
+ service: "Magic link",
70
+ operation: "RedeemMagicLink",
71
+ resourceType: "magic_link",
72
+ isMutation: true,
73
+ },
74
+ () => this.client.POST("/session/magic_link.json" as never, {
75
+ body: { token: body.token } as never,
76
+ } as never),
77
+ );
78
+ }
79
+
80
+ /**
81
+ * CompleteSignup
82
+ */
83
+ async completeSignup(body: CompleteSignupRequest): Promise<void> {
84
+ return this.request(
85
+ {
86
+ service: "Signup",
87
+ operation: "CompleteSignup",
88
+ resourceType: "signup",
89
+ isMutation: true,
90
+ },
91
+ () => this.client.POST("/signup/completion.json" as never, {
92
+ body: { full_name: body.fullName } as never,
93
+ } as never),
94
+ );
95
+ }
96
+
97
+ /**
98
+ * CompleteJoin
99
+ */
100
+ async completeJoin(body: CompleteJoinRequest): Promise<void> {
101
+ return this.request(
102
+ {
103
+ service: "Join",
104
+ operation: "CompleteJoin",
105
+ resourceType: "join",
106
+ isMutation: true,
107
+ },
108
+ () => this.client.POST("/users/joins.json" as never, {
109
+ body: { name: body.name } as never,
110
+ } as never),
111
+ );
112
+ }
113
+ }
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Steps service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import { ListResult, type PaginationOptions } from "../../pagination.js";
10
+ import type { components } from "../schema.js";
11
+
12
+ export type Step = components["schemas"]["Step"];
13
+
14
+ export interface CreateStepRequest {
15
+ /** Text content */
16
+ content: string;
17
+ completed?: boolean;
18
+ }
19
+
20
+ export interface UpdateStepRequest {
21
+ /** Text content */
22
+ content?: string;
23
+ completed?: boolean;
24
+ }
25
+
26
+ export class StepsService extends BaseService {
27
+
28
+ /**
29
+ * ListSteps
30
+ */
31
+ async list(cardNumber: number): Promise<ListResult<Step>> {
32
+ return this.request(
33
+ {
34
+ service: "Steps",
35
+ operation: "ListSteps",
36
+ resourceType: "steps",
37
+ isMutation: false,
38
+ },
39
+ () => this.client.GET("/cards/{cardNumber}/steps.json" as never, {
40
+ params: { path: { cardNumber } },
41
+ } as never),
42
+ );
43
+ }
44
+
45
+ /**
46
+ * CreateStep
47
+ */
48
+ async create(cardNumber: number, body: CreateStepRequest): Promise<Step> {
49
+ return this.request(
50
+ {
51
+ service: "Step",
52
+ operation: "CreateStep",
53
+ resourceType: "step",
54
+ isMutation: true,
55
+ },
56
+ () => this.client.POST("/cards/{cardNumber}/steps.json" as never, {
57
+ params: { path: { cardNumber } },
58
+ body: { content: body.content, completed: body.completed } as never,
59
+ } as never),
60
+ );
61
+ }
62
+
63
+ /**
64
+ * DeleteStep
65
+ */
66
+ async delete(cardNumber: number, stepId: string): Promise<void> {
67
+ return this.request(
68
+ {
69
+ service: "Step",
70
+ operation: "DeleteStep",
71
+ resourceType: "step",
72
+ isMutation: true,
73
+ },
74
+ () => this.client.DELETE("/cards/{cardNumber}/steps/{stepId}" as never, {
75
+ params: { path: { cardNumber, stepId } },
76
+ } as never),
77
+ );
78
+ }
79
+
80
+ /**
81
+ * GetStep
82
+ */
83
+ async get(cardNumber: number, stepId: string): Promise<Step> {
84
+ return this.request(
85
+ {
86
+ service: "Step",
87
+ operation: "GetStep",
88
+ resourceType: "step",
89
+ isMutation: false,
90
+ },
91
+ () => this.client.GET("/cards/{cardNumber}/steps/{stepId}" as never, {
92
+ params: { path: { cardNumber, stepId } },
93
+ } as never),
94
+ );
95
+ }
96
+
97
+ /**
98
+ * UpdateStep
99
+ */
100
+ async update(cardNumber: number, stepId: string, body?: UpdateStepRequest): Promise<Step> {
101
+ return this.request(
102
+ {
103
+ service: "Step",
104
+ operation: "UpdateStep",
105
+ resourceType: "step",
106
+ isMutation: true,
107
+ },
108
+ () => this.client.PATCH("/cards/{cardNumber}/steps/{stepId}" as never, {
109
+ params: { path: { cardNumber, stepId } },
110
+ body: { content: body?.content, completed: body?.completed } as never,
111
+ } as never),
112
+ );
113
+ }
114
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Tags service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import { ListResult, type PaginationOptions } from "../../pagination.js";
10
+ import type { components } from "../schema.js";
11
+
12
+ export type Tag = components["schemas"]["Tag"];
13
+
14
+ export class TagsService extends BaseService {
15
+
16
+ /**
17
+ * ListTags
18
+ */
19
+ async list(options?: PaginationOptions): Promise<ListResult<Tag>> {
20
+ return this.requestPaginated(
21
+ {
22
+ service: "Tags",
23
+ operation: "ListTags",
24
+ resourceType: "tags",
25
+ isMutation: false,
26
+ },
27
+ () => this.client.GET("/tags.json" as never, {
28
+ } as never),
29
+ options,
30
+ );
31
+ }
32
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Uploads service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import type { components } from "../schema.js";
10
+
11
+ export type DirectUpload = components["schemas"]["DirectUpload"];
12
+
13
+ export interface CreateDirectUploadRequest {
14
+ filename: string;
15
+ contentType: string;
16
+ byteSize: number;
17
+ checksum: string;
18
+ }
19
+
20
+ export class UploadsService extends BaseService {
21
+
22
+ /**
23
+ * CreateDirectUpload
24
+ */
25
+ async createDirect(body: CreateDirectUploadRequest): Promise<DirectUpload> {
26
+ return this.request(
27
+ {
28
+ service: "Direct upload",
29
+ operation: "CreateDirectUpload",
30
+ resourceType: "direct_upload",
31
+ isMutation: true,
32
+ },
33
+ () => this.client.POST("/rails/active_storage/direct_uploads" as never, {
34
+ body: { filename: body.filename, content_type: body.contentType, byte_size: body.byteSize, checksum: body.checksum } as never,
35
+ } as never),
36
+ );
37
+ }
38
+ }
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Users service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import { ListResult, type PaginationOptions } from "../../pagination.js";
10
+ import type { components } from "../schema.js";
11
+
12
+ export type User = components["schemas"]["User"];
13
+
14
+ export interface UpdateUserRequest {
15
+ /** Display name */
16
+ name?: string;
17
+ }
18
+
19
+ export class UsersService extends BaseService {
20
+
21
+ /**
22
+ * ListUsers
23
+ */
24
+ async list(options?: PaginationOptions): Promise<ListResult<User>> {
25
+ return this.requestPaginated(
26
+ {
27
+ service: "Users",
28
+ operation: "ListUsers",
29
+ resourceType: "users",
30
+ isMutation: false,
31
+ },
32
+ () => this.client.GET("/users.json" as never, {
33
+ } as never),
34
+ options,
35
+ );
36
+ }
37
+
38
+ /**
39
+ * DeactivateUser
40
+ */
41
+ async deactivate(userId: string): Promise<void> {
42
+ return this.request(
43
+ {
44
+ service: "User",
45
+ operation: "DeactivateUser",
46
+ resourceType: "user",
47
+ isMutation: true,
48
+ },
49
+ () => this.client.DELETE("/users/{userId}" as never, {
50
+ params: { path: { userId } },
51
+ } as never),
52
+ );
53
+ }
54
+
55
+ /**
56
+ * GetUser
57
+ */
58
+ async get(userId: string): Promise<User> {
59
+ return this.request(
60
+ {
61
+ service: "User",
62
+ operation: "GetUser",
63
+ resourceType: "user",
64
+ isMutation: false,
65
+ },
66
+ () => this.client.GET("/users/{userId}" as never, {
67
+ params: { path: { userId } },
68
+ } as never),
69
+ );
70
+ }
71
+
72
+ /**
73
+ * UpdateUser
74
+ */
75
+ async update(userId: string, body?: UpdateUserRequest): Promise<User> {
76
+ return this.request(
77
+ {
78
+ service: "User",
79
+ operation: "UpdateUser",
80
+ resourceType: "user",
81
+ isMutation: true,
82
+ },
83
+ () => this.client.PATCH("/users/{userId}" as never, {
84
+ params: { path: { userId } },
85
+ body: { name: body?.name } as never,
86
+ } as never),
87
+ );
88
+ }
89
+ }
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Webhooks service for the Fizzy API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ * Run `npm run generate` to regenerate.
6
+ */
7
+
8
+ import { BaseService, type FetchResponse } from "../../services/base.js";
9
+ import { ListResult, type PaginationOptions } from "../../pagination.js";
10
+ import type { components } from "../schema.js";
11
+
12
+ export type Webhook = components["schemas"]["Webhook"];
13
+
14
+ export interface CreateWebhookRequest {
15
+ /** Display name */
16
+ name: string;
17
+ url: string;
18
+ subscribedActions?: string[];
19
+ }
20
+
21
+ export interface UpdateWebhookRequest {
22
+ /** Display name */
23
+ name?: string;
24
+ url?: string;
25
+ subscribedActions?: string[];
26
+ }
27
+
28
+ export class WebhooksService extends BaseService {
29
+
30
+ /**
31
+ * ListWebhooks
32
+ */
33
+ async list(boardId: string): Promise<ListResult<Webhook>> {
34
+ return this.request(
35
+ {
36
+ service: "Webhooks",
37
+ operation: "ListWebhooks",
38
+ resourceType: "webhooks",
39
+ isMutation: false,
40
+ },
41
+ () => this.client.GET("/boards/{boardId}/webhooks.json" as never, {
42
+ params: { path: { boardId } },
43
+ } as never),
44
+ );
45
+ }
46
+
47
+ /**
48
+ * CreateWebhook
49
+ */
50
+ async create(boardId: string, body: CreateWebhookRequest): Promise<Webhook> {
51
+ return this.request(
52
+ {
53
+ service: "Webhook",
54
+ operation: "CreateWebhook",
55
+ resourceType: "webhook",
56
+ isMutation: true,
57
+ },
58
+ () => this.client.POST("/boards/{boardId}/webhooks.json" as never, {
59
+ params: { path: { boardId } },
60
+ body: { name: body.name, url: body.url, subscribed_actions: body.subscribedActions } as never,
61
+ } as never),
62
+ );
63
+ }
64
+
65
+ /**
66
+ * DeleteWebhook
67
+ */
68
+ async delete(boardId: string, webhookId: string): Promise<void> {
69
+ return this.request(
70
+ {
71
+ service: "Webhook",
72
+ operation: "DeleteWebhook",
73
+ resourceType: "webhook",
74
+ isMutation: true,
75
+ },
76
+ () => this.client.DELETE("/boards/{boardId}/webhooks/{webhookId}" as never, {
77
+ params: { path: { boardId, webhookId } },
78
+ } as never),
79
+ );
80
+ }
81
+
82
+ /**
83
+ * GetWebhook
84
+ */
85
+ async get(boardId: string, webhookId: string): Promise<Webhook> {
86
+ return this.request(
87
+ {
88
+ service: "Webhook",
89
+ operation: "GetWebhook",
90
+ resourceType: "webhook",
91
+ isMutation: false,
92
+ },
93
+ () => this.client.GET("/boards/{boardId}/webhooks/{webhookId}" as never, {
94
+ params: { path: { boardId, webhookId } },
95
+ } as never),
96
+ );
97
+ }
98
+
99
+ /**
100
+ * UpdateWebhook
101
+ */
102
+ async update(boardId: string, webhookId: string, body?: UpdateWebhookRequest): Promise<Webhook> {
103
+ return this.request(
104
+ {
105
+ service: "Webhook",
106
+ operation: "UpdateWebhook",
107
+ resourceType: "webhook",
108
+ isMutation: true,
109
+ },
110
+ () => this.client.PATCH("/boards/{boardId}/webhooks/{webhookId}" as never, {
111
+ params: { path: { boardId, webhookId } },
112
+ body: { name: body?.name, url: body?.url, subscribed_actions: body?.subscribedActions } as never,
113
+ } as never),
114
+ );
115
+ }
116
+
117
+ /**
118
+ * ActivateWebhook
119
+ */
120
+ async activate(boardId: string, webhookId: string): Promise<void> {
121
+ return this.request(
122
+ {
123
+ service: "Webhook",
124
+ operation: "ActivateWebhook",
125
+ resourceType: "webhook",
126
+ isMutation: true,
127
+ },
128
+ () => this.client.POST("/boards/{boardId}/webhooks/{webhookId}/activation.json" as never, {
129
+ params: { path: { boardId, webhookId } },
130
+ } as never),
131
+ );
132
+ }
133
+ }