@factify/sdk 0.3.13 → 0.3.14-rc.3

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 (201) hide show
  1. package/README.md +13 -0
  2. package/dist/commonjs/funcs/organizationsInvitesAccept.d.ts +18 -0
  3. package/dist/commonjs/funcs/organizationsInvitesAccept.d.ts.map +1 -0
  4. package/dist/commonjs/funcs/organizationsInvitesAccept.js +131 -0
  5. package/dist/commonjs/funcs/organizationsInvitesAccept.js.map +1 -0
  6. package/dist/commonjs/funcs/organizationsInvitesCreate.d.ts +18 -0
  7. package/dist/commonjs/funcs/organizationsInvitesCreate.d.ts.map +1 -0
  8. package/dist/commonjs/funcs/organizationsInvitesCreate.js +127 -0
  9. package/dist/commonjs/funcs/organizationsInvitesCreate.js.map +1 -0
  10. package/dist/commonjs/funcs/organizationsInvitesList.d.ts +21 -0
  11. package/dist/commonjs/funcs/organizationsInvitesList.d.ts.map +1 -0
  12. package/dist/commonjs/funcs/organizationsInvitesList.js +161 -0
  13. package/dist/commonjs/funcs/organizationsInvitesList.js.map +1 -0
  14. package/dist/commonjs/funcs/organizationsInvitesResend.d.ts +18 -0
  15. package/dist/commonjs/funcs/organizationsInvitesResend.d.ts.map +1 -0
  16. package/dist/commonjs/funcs/organizationsInvitesResend.js +131 -0
  17. package/dist/commonjs/funcs/organizationsInvitesResend.js.map +1 -0
  18. package/dist/commonjs/funcs/organizationsInvitesRevoke.d.ts +18 -0
  19. package/dist/commonjs/funcs/organizationsInvitesRevoke.d.ts.map +1 -0
  20. package/dist/commonjs/funcs/organizationsInvitesRevoke.js +131 -0
  21. package/dist/commonjs/funcs/organizationsInvitesRevoke.js.map +1 -0
  22. package/dist/commonjs/lib/config.d.ts +3 -3
  23. package/dist/commonjs/lib/config.js +3 -3
  24. package/dist/commonjs/lib/config.js.map +1 -1
  25. package/dist/commonjs/models/components/acceptorganizationinviteresponse.d.ts +17 -0
  26. package/dist/commonjs/models/components/acceptorganizationinviteresponse.d.ts.map +1 -0
  27. package/dist/commonjs/models/components/acceptorganizationinviteresponse.js +51 -0
  28. package/dist/commonjs/models/components/acceptorganizationinviteresponse.js.map +1 -0
  29. package/dist/commonjs/models/components/createorganizationinviteresponse.d.ts +20 -0
  30. package/dist/commonjs/models/components/createorganizationinviteresponse.d.ts.map +1 -0
  31. package/dist/commonjs/models/components/createorganizationinviteresponse.js +51 -0
  32. package/dist/commonjs/models/components/createorganizationinviteresponse.js.map +1 -0
  33. package/dist/commonjs/models/components/index.d.ts +7 -0
  34. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  35. package/dist/commonjs/models/components/index.js +7 -0
  36. package/dist/commonjs/models/components/index.js.map +1 -1
  37. package/dist/commonjs/models/components/listorganizationinvitesresponse.d.ts +25 -0
  38. package/dist/commonjs/models/components/listorganizationinvitesresponse.d.ts.map +1 -0
  39. package/dist/commonjs/models/components/listorganizationinvitesresponse.js +54 -0
  40. package/dist/commonjs/models/components/listorganizationinvitesresponse.js.map +1 -0
  41. package/dist/commonjs/models/components/organizationinvite.d.ts +60 -0
  42. package/dist/commonjs/models/components/organizationinvite.d.ts.map +1 -0
  43. package/dist/commonjs/models/components/organizationinvite.js +71 -0
  44. package/dist/commonjs/models/components/organizationinvite.js.map +1 -0
  45. package/dist/commonjs/models/components/organizationinvitestatus.d.ts +21 -0
  46. package/dist/commonjs/models/components/organizationinvitestatus.d.ts.map +1 -0
  47. package/dist/commonjs/models/components/organizationinvitestatus.js +55 -0
  48. package/dist/commonjs/models/components/organizationinvitestatus.js.map +1 -0
  49. package/dist/commonjs/models/components/resendorganizationinviteresponse.d.ts +20 -0
  50. package/dist/commonjs/models/components/resendorganizationinviteresponse.d.ts.map +1 -0
  51. package/dist/commonjs/models/components/resendorganizationinviteresponse.js +51 -0
  52. package/dist/commonjs/models/components/resendorganizationinviteresponse.js.map +1 -0
  53. package/dist/commonjs/models/components/revokeorganizationinviteresponse.d.ts +20 -0
  54. package/dist/commonjs/models/components/revokeorganizationinviteresponse.d.ts.map +1 -0
  55. package/dist/commonjs/models/components/revokeorganizationinviteresponse.js +51 -0
  56. package/dist/commonjs/models/components/revokeorganizationinviteresponse.js.map +1 -0
  57. package/dist/commonjs/models/operations/acceptorganizationinvite.d.ts +60 -0
  58. package/dist/commonjs/models/operations/acceptorganizationinvite.d.ts.map +1 -0
  59. package/dist/commonjs/models/operations/acceptorganizationinvite.js +85 -0
  60. package/dist/commonjs/models/operations/acceptorganizationinvite.js.map +1 -0
  61. package/dist/commonjs/models/operations/createorganizationinvite.d.ts +67 -0
  62. package/dist/commonjs/models/operations/createorganizationinvite.d.ts.map +1 -0
  63. package/dist/commonjs/models/operations/createorganizationinvite.js +89 -0
  64. package/dist/commonjs/models/operations/createorganizationinvite.js.map +1 -0
  65. package/dist/commonjs/models/operations/index.d.ts +5 -0
  66. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  67. package/dist/commonjs/models/operations/index.js +5 -0
  68. package/dist/commonjs/models/operations/index.js.map +1 -1
  69. package/dist/commonjs/models/operations/listorganizationinvites.d.ts +82 -0
  70. package/dist/commonjs/models/operations/listorganizationinvites.d.ts.map +1 -0
  71. package/dist/commonjs/models/operations/listorganizationinvites.js +86 -0
  72. package/dist/commonjs/models/operations/listorganizationinvites.js.map +1 -0
  73. package/dist/commonjs/models/operations/resendorganizationinvite.d.ts +53 -0
  74. package/dist/commonjs/models/operations/resendorganizationinvite.d.ts.map +1 -0
  75. package/dist/commonjs/models/operations/resendorganizationinvite.js +83 -0
  76. package/dist/commonjs/models/operations/resendorganizationinvite.js.map +1 -0
  77. package/dist/commonjs/models/operations/revokeorganizationinvite.d.ts +53 -0
  78. package/dist/commonjs/models/operations/revokeorganizationinvite.d.ts.map +1 -0
  79. package/dist/commonjs/models/operations/revokeorganizationinvite.js +83 -0
  80. package/dist/commonjs/models/operations/revokeorganizationinvite.js.map +1 -0
  81. package/dist/commonjs/sdk/invites.d.ts +43 -0
  82. package/dist/commonjs/sdk/invites.d.ts.map +1 -0
  83. package/dist/commonjs/sdk/invites.js +63 -0
  84. package/dist/commonjs/sdk/invites.js.map +1 -0
  85. package/dist/commonjs/sdk/organizations.d.ts +3 -0
  86. package/dist/commonjs/sdk/organizations.d.ts.map +1 -1
  87. package/dist/commonjs/sdk/organizations.js +4 -0
  88. package/dist/commonjs/sdk/organizations.js.map +1 -1
  89. package/dist/esm/funcs/organizationsInvitesAccept.d.ts +18 -0
  90. package/dist/esm/funcs/organizationsInvitesAccept.d.ts.map +1 -0
  91. package/dist/esm/funcs/organizationsInvitesAccept.js +95 -0
  92. package/dist/esm/funcs/organizationsInvitesAccept.js.map +1 -0
  93. package/dist/esm/funcs/organizationsInvitesCreate.d.ts +18 -0
  94. package/dist/esm/funcs/organizationsInvitesCreate.d.ts.map +1 -0
  95. package/dist/esm/funcs/organizationsInvitesCreate.js +91 -0
  96. package/dist/esm/funcs/organizationsInvitesCreate.js.map +1 -0
  97. package/dist/esm/funcs/organizationsInvitesList.d.ts +21 -0
  98. package/dist/esm/funcs/organizationsInvitesList.d.ts.map +1 -0
  99. package/dist/esm/funcs/organizationsInvitesList.js +125 -0
  100. package/dist/esm/funcs/organizationsInvitesList.js.map +1 -0
  101. package/dist/esm/funcs/organizationsInvitesResend.d.ts +18 -0
  102. package/dist/esm/funcs/organizationsInvitesResend.d.ts.map +1 -0
  103. package/dist/esm/funcs/organizationsInvitesResend.js +95 -0
  104. package/dist/esm/funcs/organizationsInvitesResend.js.map +1 -0
  105. package/dist/esm/funcs/organizationsInvitesRevoke.d.ts +18 -0
  106. package/dist/esm/funcs/organizationsInvitesRevoke.d.ts.map +1 -0
  107. package/dist/esm/funcs/organizationsInvitesRevoke.js +95 -0
  108. package/dist/esm/funcs/organizationsInvitesRevoke.js.map +1 -0
  109. package/dist/esm/lib/config.d.ts +3 -3
  110. package/dist/esm/lib/config.js +3 -3
  111. package/dist/esm/lib/config.js.map +1 -1
  112. package/dist/esm/models/components/acceptorganizationinviteresponse.d.ts +17 -0
  113. package/dist/esm/models/components/acceptorganizationinviteresponse.d.ts.map +1 -0
  114. package/dist/esm/models/components/acceptorganizationinviteresponse.js +14 -0
  115. package/dist/esm/models/components/acceptorganizationinviteresponse.js.map +1 -0
  116. package/dist/esm/models/components/createorganizationinviteresponse.d.ts +20 -0
  117. package/dist/esm/models/components/createorganizationinviteresponse.d.ts.map +1 -0
  118. package/dist/esm/models/components/createorganizationinviteresponse.js +14 -0
  119. package/dist/esm/models/components/createorganizationinviteresponse.js.map +1 -0
  120. package/dist/esm/models/components/index.d.ts +7 -0
  121. package/dist/esm/models/components/index.d.ts.map +1 -1
  122. package/dist/esm/models/components/index.js +7 -0
  123. package/dist/esm/models/components/index.js.map +1 -1
  124. package/dist/esm/models/components/listorganizationinvitesresponse.d.ts +25 -0
  125. package/dist/esm/models/components/listorganizationinvitesresponse.d.ts.map +1 -0
  126. package/dist/esm/models/components/listorganizationinvitesresponse.js +17 -0
  127. package/dist/esm/models/components/listorganizationinvitesresponse.js.map +1 -0
  128. package/dist/esm/models/components/organizationinvite.d.ts +60 -0
  129. package/dist/esm/models/components/organizationinvite.d.ts.map +1 -0
  130. package/dist/esm/models/components/organizationinvite.js +34 -0
  131. package/dist/esm/models/components/organizationinvite.js.map +1 -0
  132. package/dist/esm/models/components/organizationinvitestatus.d.ts +21 -0
  133. package/dist/esm/models/components/organizationinvitestatus.d.ts.map +1 -0
  134. package/dist/esm/models/components/organizationinvitestatus.js +19 -0
  135. package/dist/esm/models/components/organizationinvitestatus.js.map +1 -0
  136. package/dist/esm/models/components/resendorganizationinviteresponse.d.ts +20 -0
  137. package/dist/esm/models/components/resendorganizationinviteresponse.d.ts.map +1 -0
  138. package/dist/esm/models/components/resendorganizationinviteresponse.js +14 -0
  139. package/dist/esm/models/components/resendorganizationinviteresponse.js.map +1 -0
  140. package/dist/esm/models/components/revokeorganizationinviteresponse.d.ts +20 -0
  141. package/dist/esm/models/components/revokeorganizationinviteresponse.d.ts.map +1 -0
  142. package/dist/esm/models/components/revokeorganizationinviteresponse.js +14 -0
  143. package/dist/esm/models/components/revokeorganizationinviteresponse.js.map +1 -0
  144. package/dist/esm/models/operations/acceptorganizationinvite.d.ts +60 -0
  145. package/dist/esm/models/operations/acceptorganizationinvite.d.ts.map +1 -0
  146. package/dist/esm/models/operations/acceptorganizationinvite.js +46 -0
  147. package/dist/esm/models/operations/acceptorganizationinvite.js.map +1 -0
  148. package/dist/esm/models/operations/createorganizationinvite.d.ts +67 -0
  149. package/dist/esm/models/operations/createorganizationinvite.d.ts.map +1 -0
  150. package/dist/esm/models/operations/createorganizationinvite.js +50 -0
  151. package/dist/esm/models/operations/createorganizationinvite.js.map +1 -0
  152. package/dist/esm/models/operations/index.d.ts +5 -0
  153. package/dist/esm/models/operations/index.d.ts.map +1 -1
  154. package/dist/esm/models/operations/index.js +5 -0
  155. package/dist/esm/models/operations/index.js.map +1 -1
  156. package/dist/esm/models/operations/listorganizationinvites.d.ts +82 -0
  157. package/dist/esm/models/operations/listorganizationinvites.d.ts.map +1 -0
  158. package/dist/esm/models/operations/listorganizationinvites.js +48 -0
  159. package/dist/esm/models/operations/listorganizationinvites.js.map +1 -0
  160. package/dist/esm/models/operations/resendorganizationinvite.d.ts +53 -0
  161. package/dist/esm/models/operations/resendorganizationinvite.d.ts.map +1 -0
  162. package/dist/esm/models/operations/resendorganizationinvite.js +44 -0
  163. package/dist/esm/models/operations/resendorganizationinvite.js.map +1 -0
  164. package/dist/esm/models/operations/revokeorganizationinvite.d.ts +53 -0
  165. package/dist/esm/models/operations/revokeorganizationinvite.d.ts.map +1 -0
  166. package/dist/esm/models/operations/revokeorganizationinvite.js +44 -0
  167. package/dist/esm/models/operations/revokeorganizationinvite.js.map +1 -0
  168. package/dist/esm/sdk/invites.d.ts +43 -0
  169. package/dist/esm/sdk/invites.d.ts.map +1 -0
  170. package/dist/esm/sdk/invites.js +59 -0
  171. package/dist/esm/sdk/invites.js.map +1 -0
  172. package/dist/esm/sdk/organizations.d.ts +3 -0
  173. package/dist/esm/sdk/organizations.d.ts.map +1 -1
  174. package/dist/esm/sdk/organizations.js +4 -0
  175. package/dist/esm/sdk/organizations.js.map +1 -1
  176. package/examples/package-lock.json +1 -1
  177. package/jsr.json +1 -1
  178. package/openapi.json +912 -1
  179. package/package.json +1 -1
  180. package/src/funcs/organizationsInvitesAccept.ts +188 -0
  181. package/src/funcs/organizationsInvitesCreate.ts +184 -0
  182. package/src/funcs/organizationsInvitesList.ts +256 -0
  183. package/src/funcs/organizationsInvitesResend.ts +188 -0
  184. package/src/funcs/organizationsInvitesRevoke.ts +188 -0
  185. package/src/lib/config.ts +3 -3
  186. package/src/models/components/acceptorganizationinviteresponse.ts +37 -0
  187. package/src/models/components/createorganizationinviteresponse.ts +43 -0
  188. package/src/models/components/index.ts +7 -0
  189. package/src/models/components/listorganizationinvitesresponse.ts +50 -0
  190. package/src/models/components/organizationinvite.ts +105 -0
  191. package/src/models/components/organizationinvitestatus.ts +35 -0
  192. package/src/models/components/resendorganizationinviteresponse.ts +43 -0
  193. package/src/models/components/revokeorganizationinviteresponse.ts +43 -0
  194. package/src/models/operations/acceptorganizationinvite.ts +142 -0
  195. package/src/models/operations/createorganizationinvite.ts +156 -0
  196. package/src/models/operations/index.ts +5 -0
  197. package/src/models/operations/listorganizationinvites.ts +158 -0
  198. package/src/models/operations/resendorganizationinvite.ts +134 -0
  199. package/src/models/operations/revokeorganizationinvite.ts +134 -0
  200. package/src/sdk/invites.ts +102 -0
  201. package/src/sdk/organizations.ts +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factify/sdk",
3
- "version": "0.3.13",
3
+ "version": "0.3.14-rc.3",
4
4
  "author": "Factify",
5
5
  "type": "module",
6
6
  "tshy": {
@@ -0,0 +1,188 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { FactifyCore } from "../core.js";
7
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import { FactifyError } from "../models/errors/factifyerror.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Accept an invitation
31
+ *
32
+ * @remarks
33
+ * Accepts the invitation and adds the authenticated user as a member of the organization. The authenticated user's verified email must match the invitation email (case-insensitive). Returns PERMISSION_DENIED if emails don't match, FAILED_PRECONDITION if the user is already a member, or NOT_FOUND if the invitation is invalid/expired.
34
+ */
35
+ export function organizationsInvitesAccept(
36
+ client: FactifyCore,
37
+ request: operations.AcceptOrganizationInviteRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ operations.AcceptOrganizationInviteResponse,
42
+ | errors.ErrorT
43
+ | FactifyError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ request,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: FactifyCore,
62
+ request: operations.AcceptOrganizationInviteRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ operations.AcceptOrganizationInviteResponse,
68
+ | errors.ErrorT
69
+ | FactifyError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ z.parse(operations.AcceptOrganizationInviteRequest$outboundSchema, value),
85
+ "Input validation failed",
86
+ );
87
+ if (!parsed.ok) {
88
+ return [parsed, { status: "invalid" }];
89
+ }
90
+ const payload = parsed.value;
91
+ const body = encodeJSON("body", payload.body, { explode: true });
92
+
93
+ const pathParams = {
94
+ invite_id: encodeSimple("invite_id", payload.invite_id, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ organization_id: encodeSimple("organization_id", payload.organization_id, {
99
+ explode: false,
100
+ charEncoding: "percent",
101
+ }),
102
+ };
103
+
104
+ const path = pathToFunc(
105
+ "/v1beta/organizations/{organization_id}/invites/{invite_id}:accept",
106
+ )(pathParams);
107
+
108
+ const headers = new Headers(compactMap({
109
+ "Content-Type": "application/json",
110
+ Accept: "application/json",
111
+ }));
112
+
113
+ const secConfig = await extractSecurity(client._options.bearerAuth);
114
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
115
+ const requestSecurity = resolveGlobalSecurity(securityInput);
116
+
117
+ const context = {
118
+ options: client._options,
119
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
120
+ operationID: "acceptOrganizationInvite",
121
+ oAuth2Scopes: null,
122
+
123
+ resolvedSecurity: requestSecurity,
124
+
125
+ securitySource: client._options.bearerAuth,
126
+ retryConfig: options?.retries
127
+ || client._options.retryConfig
128
+ || { strategy: "none" },
129
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
130
+ };
131
+
132
+ const requestRes = client._createRequest(context, {
133
+ security: requestSecurity,
134
+ method: "POST",
135
+ baseURL: options?.serverURL,
136
+ path: path,
137
+ headers: headers,
138
+ body: body,
139
+ userAgent: client._options.userAgent,
140
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
141
+ }, options);
142
+ if (!requestRes.ok) {
143
+ return [requestRes, { status: "invalid" }];
144
+ }
145
+ const req = requestRes.value;
146
+
147
+ const doResult = await client._do(req, {
148
+ context,
149
+ errorCodes: ["400", "401", "403", "404", "429", "4XX", "500", "5XX"],
150
+ retryConfig: context.retryConfig,
151
+ retryCodes: context.retryCodes,
152
+ });
153
+ if (!doResult.ok) {
154
+ return [doResult, { status: "request-error", request: req }];
155
+ }
156
+ const response = doResult.value;
157
+
158
+ const responseFields = {
159
+ HttpMeta: { Response: response, Request: req },
160
+ };
161
+
162
+ const [result] = await M.match<
163
+ operations.AcceptOrganizationInviteResponse,
164
+ | errors.ErrorT
165
+ | FactifyError
166
+ | ResponseValidationError
167
+ | ConnectionError
168
+ | RequestAbortedError
169
+ | RequestTimeoutError
170
+ | InvalidRequestError
171
+ | UnexpectedClientError
172
+ | SDKValidationError
173
+ >(
174
+ M.json(200, operations.AcceptOrganizationInviteResponse$inboundSchema, {
175
+ key: "AcceptOrganizationInviteResponse",
176
+ }),
177
+ M.jsonErr([400, 401, 403, 404], errors.ErrorT$inboundSchema),
178
+ M.jsonErr(429, errors.ErrorT$inboundSchema, { hdrs: true }),
179
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
180
+ M.fail("4XX"),
181
+ M.fail("5XX"),
182
+ )(response, req, { extraFields: responseFields });
183
+ if (!result.ok) {
184
+ return [result, { status: "complete", request: req, response }];
185
+ }
186
+
187
+ return [result, { status: "complete", request: req, response }];
188
+ }
@@ -0,0 +1,184 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { FactifyCore } from "../core.js";
7
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import { FactifyError } from "../models/errors/factifyerror.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Invite a user to join an organization
31
+ *
32
+ * @remarks
33
+ * Creates an invitation and sends an email to the specified address. Returns FAILED_PRECONDITION if the email belongs to an existing organization member. Idempotency: If a PENDING invitation already exists for this email, the existing invitation is resent (same token, refreshed expiration). Expired or revoked invitations are ignored - a new invitation is created.
34
+ */
35
+ export function organizationsInvitesCreate(
36
+ client: FactifyCore,
37
+ request: operations.CreateOrganizationInviteRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ operations.CreateOrganizationInviteResponse,
42
+ | errors.ErrorT
43
+ | FactifyError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ request,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: FactifyCore,
62
+ request: operations.CreateOrganizationInviteRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ operations.CreateOrganizationInviteResponse,
68
+ | errors.ErrorT
69
+ | FactifyError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ z.parse(operations.CreateOrganizationInviteRequest$outboundSchema, value),
85
+ "Input validation failed",
86
+ );
87
+ if (!parsed.ok) {
88
+ return [parsed, { status: "invalid" }];
89
+ }
90
+ const payload = parsed.value;
91
+ const body = encodeJSON("body", payload.body, { explode: true });
92
+
93
+ const pathParams = {
94
+ organization_id: encodeSimple("organization_id", payload.organization_id, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+
100
+ const path = pathToFunc("/v1beta/organizations/{organization_id}/invites")(
101
+ pathParams,
102
+ );
103
+
104
+ const headers = new Headers(compactMap({
105
+ "Content-Type": "application/json",
106
+ Accept: "application/json",
107
+ }));
108
+
109
+ const secConfig = await extractSecurity(client._options.bearerAuth);
110
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
111
+ const requestSecurity = resolveGlobalSecurity(securityInput);
112
+
113
+ const context = {
114
+ options: client._options,
115
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
116
+ operationID: "createOrganizationInvite",
117
+ oAuth2Scopes: null,
118
+
119
+ resolvedSecurity: requestSecurity,
120
+
121
+ securitySource: client._options.bearerAuth,
122
+ retryConfig: options?.retries
123
+ || client._options.retryConfig
124
+ || { strategy: "none" },
125
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
126
+ };
127
+
128
+ const requestRes = client._createRequest(context, {
129
+ security: requestSecurity,
130
+ method: "POST",
131
+ baseURL: options?.serverURL,
132
+ path: path,
133
+ headers: headers,
134
+ body: body,
135
+ userAgent: client._options.userAgent,
136
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
137
+ }, options);
138
+ if (!requestRes.ok) {
139
+ return [requestRes, { status: "invalid" }];
140
+ }
141
+ const req = requestRes.value;
142
+
143
+ const doResult = await client._do(req, {
144
+ context,
145
+ errorCodes: ["400", "401", "403", "404", "429", "4XX", "500", "5XX"],
146
+ retryConfig: context.retryConfig,
147
+ retryCodes: context.retryCodes,
148
+ });
149
+ if (!doResult.ok) {
150
+ return [doResult, { status: "request-error", request: req }];
151
+ }
152
+ const response = doResult.value;
153
+
154
+ const responseFields = {
155
+ HttpMeta: { Response: response, Request: req },
156
+ };
157
+
158
+ const [result] = await M.match<
159
+ operations.CreateOrganizationInviteResponse,
160
+ | errors.ErrorT
161
+ | FactifyError
162
+ | ResponseValidationError
163
+ | ConnectionError
164
+ | RequestAbortedError
165
+ | RequestTimeoutError
166
+ | InvalidRequestError
167
+ | UnexpectedClientError
168
+ | SDKValidationError
169
+ >(
170
+ M.json(200, operations.CreateOrganizationInviteResponse$inboundSchema, {
171
+ key: "CreateOrganizationInviteResponse",
172
+ }),
173
+ M.jsonErr([400, 401, 403, 404], errors.ErrorT$inboundSchema),
174
+ M.jsonErr(429, errors.ErrorT$inboundSchema, { hdrs: true }),
175
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
176
+ M.fail("4XX"),
177
+ M.fail("5XX"),
178
+ )(response, req, { extraFields: responseFields });
179
+ if (!result.ok) {
180
+ return [result, { status: "complete", request: req, response }];
181
+ }
182
+
183
+ return [result, { status: "complete", request: req, response }];
184
+ }
@@ -0,0 +1,256 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { FactifyCore } from "../core.js";
7
+ import { dlv } from "../lib/dlv.js";
8
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { FactifyError } from "../models/errors/factifyerror.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../models/errors/httpclienterrors.js";
23
+ import * as errors from "../models/errors/index.js";
24
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
25
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
26
+ import * as operations from "../models/operations/index.js";
27
+ import { APICall, APIPromise } from "../types/async.js";
28
+ import { Result } from "../types/fp.js";
29
+ import {
30
+ createPageIterator,
31
+ haltIterator,
32
+ PageIterator,
33
+ Paginator,
34
+ } from "../types/operations.js";
35
+
36
+ /**
37
+ * List organization invitations
38
+ *
39
+ * @remarks
40
+ * List invitations for an organization. Requires permission to invite organization members.
41
+ */
42
+ export function organizationsInvitesList(
43
+ client: FactifyCore,
44
+ request: operations.ListOrganizationInvitesRequest,
45
+ options?: RequestOptions,
46
+ ): APIPromise<
47
+ PageIterator<
48
+ Result<
49
+ operations.ListOrganizationInvitesResponse,
50
+ | errors.ErrorT
51
+ | FactifyError
52
+ | ResponseValidationError
53
+ | ConnectionError
54
+ | RequestAbortedError
55
+ | RequestTimeoutError
56
+ | InvalidRequestError
57
+ | UnexpectedClientError
58
+ | SDKValidationError
59
+ >,
60
+ { cursor: string }
61
+ >
62
+ > {
63
+ return new APIPromise($do(
64
+ client,
65
+ request,
66
+ options,
67
+ ));
68
+ }
69
+
70
+ async function $do(
71
+ client: FactifyCore,
72
+ request: operations.ListOrganizationInvitesRequest,
73
+ options?: RequestOptions,
74
+ ): Promise<
75
+ [
76
+ PageIterator<
77
+ Result<
78
+ operations.ListOrganizationInvitesResponse,
79
+ | errors.ErrorT
80
+ | FactifyError
81
+ | ResponseValidationError
82
+ | ConnectionError
83
+ | RequestAbortedError
84
+ | RequestTimeoutError
85
+ | InvalidRequestError
86
+ | UnexpectedClientError
87
+ | SDKValidationError
88
+ >,
89
+ { cursor: string }
90
+ >,
91
+ APICall,
92
+ ]
93
+ > {
94
+ const parsed = safeParse(
95
+ request,
96
+ (value) =>
97
+ z.parse(operations.ListOrganizationInvitesRequest$outboundSchema, value),
98
+ "Input validation failed",
99
+ );
100
+ if (!parsed.ok) {
101
+ return [haltIterator(parsed), { status: "invalid" }];
102
+ }
103
+ const payload = parsed.value;
104
+ const body = null;
105
+
106
+ const pathParams = {
107
+ organization_id: encodeSimple("organization_id", payload.organization_id, {
108
+ explode: false,
109
+ charEncoding: "percent",
110
+ }),
111
+ };
112
+
113
+ const path = pathToFunc("/v1beta/organizations/{organization_id}/invites")(
114
+ pathParams,
115
+ );
116
+
117
+ const query = encodeFormQuery({
118
+ "created.after": payload["created.after"],
119
+ "email.contains": payload["email.contains"],
120
+ "email.exact": payload["email.exact"],
121
+ "page_size": payload.page_size,
122
+ "page_token": payload.page_token,
123
+ "sender_id": payload.sender_id,
124
+ "status": payload.status,
125
+ });
126
+
127
+ const headers = new Headers(compactMap({
128
+ Accept: "application/json",
129
+ }));
130
+
131
+ const secConfig = await extractSecurity(client._options.bearerAuth);
132
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
133
+ const requestSecurity = resolveGlobalSecurity(securityInput);
134
+
135
+ const context = {
136
+ options: client._options,
137
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
138
+ operationID: "listOrganizationInvites",
139
+ oAuth2Scopes: null,
140
+
141
+ resolvedSecurity: requestSecurity,
142
+
143
+ securitySource: client._options.bearerAuth,
144
+ retryConfig: options?.retries
145
+ || client._options.retryConfig
146
+ || { strategy: "none" },
147
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
148
+ };
149
+
150
+ const requestRes = client._createRequest(context, {
151
+ security: requestSecurity,
152
+ method: "GET",
153
+ baseURL: options?.serverURL,
154
+ path: path,
155
+ headers: headers,
156
+ query: query,
157
+ body: body,
158
+ userAgent: client._options.userAgent,
159
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
160
+ }, options);
161
+ if (!requestRes.ok) {
162
+ return [haltIterator(requestRes), { status: "invalid" }];
163
+ }
164
+ const req = requestRes.value;
165
+
166
+ const doResult = await client._do(req, {
167
+ context,
168
+ errorCodes: ["400", "401", "403", "404", "429", "4XX", "500", "5XX"],
169
+ retryConfig: context.retryConfig,
170
+ retryCodes: context.retryCodes,
171
+ });
172
+ if (!doResult.ok) {
173
+ return [haltIterator(doResult), { status: "request-error", request: req }];
174
+ }
175
+ const response = doResult.value;
176
+
177
+ const responseFields = {
178
+ HttpMeta: { Response: response, Request: req },
179
+ };
180
+
181
+ const [result, raw] = await M.match<
182
+ operations.ListOrganizationInvitesResponse,
183
+ | errors.ErrorT
184
+ | FactifyError
185
+ | ResponseValidationError
186
+ | ConnectionError
187
+ | RequestAbortedError
188
+ | RequestTimeoutError
189
+ | InvalidRequestError
190
+ | UnexpectedClientError
191
+ | SDKValidationError
192
+ >(
193
+ M.json(200, operations.ListOrganizationInvitesResponse$inboundSchema, {
194
+ key: "ListOrganizationInvitesResponse",
195
+ }),
196
+ M.jsonErr([400, 401, 403, 404], errors.ErrorT$inboundSchema),
197
+ M.jsonErr(429, errors.ErrorT$inboundSchema, { hdrs: true }),
198
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
199
+ M.fail("4XX"),
200
+ M.fail("5XX"),
201
+ )(response, req, { extraFields: responseFields });
202
+ if (!result.ok) {
203
+ return [haltIterator(result), {
204
+ status: "complete",
205
+ request: req,
206
+ response,
207
+ }];
208
+ }
209
+
210
+ const nextFunc = (
211
+ responseData: unknown,
212
+ ): {
213
+ next: Paginator<
214
+ Result<
215
+ operations.ListOrganizationInvitesResponse,
216
+ | errors.ErrorT
217
+ | FactifyError
218
+ | ResponseValidationError
219
+ | ConnectionError
220
+ | RequestAbortedError
221
+ | RequestTimeoutError
222
+ | InvalidRequestError
223
+ | UnexpectedClientError
224
+ | SDKValidationError
225
+ >
226
+ >;
227
+ "~next"?: { cursor: string };
228
+ } => {
229
+ const nextCursor = dlv(responseData, "pagination.next_page_token");
230
+ if (typeof nextCursor !== "string") {
231
+ return { next: () => null };
232
+ }
233
+ if (nextCursor.trim() === "") {
234
+ return { next: () => null };
235
+ }
236
+
237
+ const nextVal = () =>
238
+ organizationsInvitesList(
239
+ client,
240
+ {
241
+ ...request,
242
+ pageToken: nextCursor,
243
+ },
244
+ options,
245
+ );
246
+
247
+ return { next: nextVal, "~next": { cursor: nextCursor } };
248
+ };
249
+
250
+ const page = { ...result, ...nextFunc(raw) };
251
+ return [{ ...page, ...createPageIterator(page, (v) => !v.ok) }, {
252
+ status: "complete",
253
+ request: req,
254
+ response,
255
+ }];
256
+ }