@greensecurity/javascript-sdk 0.44.0-beta.15 → 0.44.0-beta.17

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 (200) hide show
  1. package/README.md +9 -0
  2. package/dist/commonjs/__tests__/organizations.test.js +72 -6
  3. package/dist/commonjs/__tests__/organizations.test.js.map +1 -1
  4. package/dist/commonjs/__tests__/webhooks.test.js +1 -1
  5. package/dist/commonjs/__tests__/webhooks.test.js.map +1 -1
  6. package/dist/commonjs/__tests__/zones.test.js +34 -6
  7. package/dist/commonjs/__tests__/zones.test.js.map +1 -1
  8. package/dist/commonjs/funcs/organizationsCreateCompanyTargetFacility.d.ts +34 -0
  9. package/dist/commonjs/funcs/organizationsCreateCompanyTargetFacility.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/organizationsCreateCompanyTargetFacility.js +145 -0
  11. package/dist/commonjs/funcs/organizationsCreateCompanyTargetFacility.js.map +1 -0
  12. package/dist/commonjs/funcs/organizationsDeleteCompanyTargetFacility.d.ts +28 -0
  13. package/dist/commonjs/funcs/organizationsDeleteCompanyTargetFacility.d.ts.map +1 -0
  14. package/dist/commonjs/funcs/organizationsDeleteCompanyTargetFacility.js +138 -0
  15. package/dist/commonjs/funcs/organizationsDeleteCompanyTargetFacility.js.map +1 -0
  16. package/dist/commonjs/funcs/organizationsListCompanyTargetFacilities.d.ts +42 -0
  17. package/dist/commonjs/funcs/organizationsListCompanyTargetFacilities.d.ts.map +1 -0
  18. package/dist/commonjs/funcs/organizationsListCompanyTargetFacilities.js +194 -0
  19. package/dist/commonjs/funcs/organizationsListCompanyTargetFacilities.js.map +1 -0
  20. package/dist/commonjs/lib/config.d.ts +3 -3
  21. package/dist/commonjs/lib/config.js +3 -3
  22. package/dist/commonjs/models/components/companytargetfacility.d.ts +54 -0
  23. package/dist/commonjs/models/components/companytargetfacility.d.ts.map +1 -0
  24. package/dist/commonjs/models/components/companytargetfacility.js +80 -0
  25. package/dist/commonjs/models/components/companytargetfacility.js.map +1 -0
  26. package/dist/commonjs/models/components/index.d.ts +1 -0
  27. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  28. package/dist/commonjs/models/components/index.js +1 -0
  29. package/dist/commonjs/models/components/index.js.map +1 -1
  30. package/dist/commonjs/models/operations/createcompanytargetfacility.d.ts +50 -0
  31. package/dist/commonjs/models/operations/createcompanytargetfacility.d.ts.map +1 -0
  32. package/dist/commonjs/models/operations/createcompanytargetfacility.js +84 -0
  33. package/dist/commonjs/models/operations/createcompanytargetfacility.js.map +1 -0
  34. package/dist/commonjs/models/operations/deletecompanytargetfacility.d.ts +20 -0
  35. package/dist/commonjs/models/operations/deletecompanytargetfacility.d.ts.map +1 -0
  36. package/dist/commonjs/models/operations/deletecompanytargetfacility.js +55 -0
  37. package/dist/commonjs/models/operations/deletecompanytargetfacility.js.map +1 -0
  38. package/dist/commonjs/models/operations/exportcompanytargetfacilities.d.ts +16 -16
  39. package/dist/commonjs/models/operations/exportcompanytargetfacilities.d.ts.map +1 -1
  40. package/dist/commonjs/models/operations/exportcompanytargetfacilities.js +14 -15
  41. package/dist/commonjs/models/operations/exportcompanytargetfacilities.js.map +1 -1
  42. package/dist/commonjs/models/operations/index.d.ts +3 -0
  43. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  44. package/dist/commonjs/models/operations/index.js +3 -0
  45. package/dist/commonjs/models/operations/index.js.map +1 -1
  46. package/dist/commonjs/models/operations/listcompanytargetfacilities.d.ts +173 -0
  47. package/dist/commonjs/models/operations/listcompanytargetfacilities.d.ts.map +1 -0
  48. package/dist/commonjs/models/operations/listcompanytargetfacilities.js +150 -0
  49. package/dist/commonjs/models/operations/listcompanytargetfacilities.js.map +1 -0
  50. package/dist/commonjs/models/operations/listfacilityvendors.d.ts +4 -4
  51. package/dist/commonjs/models/operations/listfacilityvendors.d.ts.map +1 -1
  52. package/dist/commonjs/models/operations/listfacilityvendors.js +4 -4
  53. package/dist/commonjs/models/operations/listfacilityvendors.js.map +1 -1
  54. package/dist/commonjs/react-query/index.d.ts +3 -0
  55. package/dist/commonjs/react-query/index.d.ts.map +1 -1
  56. package/dist/commonjs/react-query/index.js +3 -0
  57. package/dist/commonjs/react-query/index.js.map +1 -1
  58. package/dist/commonjs/react-query/organizationsCreateCompanyTargetFacility.d.ts +43 -0
  59. package/dist/commonjs/react-query/organizationsCreateCompanyTargetFacility.d.ts.map +1 -0
  60. package/dist/commonjs/react-query/organizationsCreateCompanyTargetFacility.js +65 -0
  61. package/dist/commonjs/react-query/organizationsCreateCompanyTargetFacility.js.map +1 -0
  62. package/dist/commonjs/react-query/organizationsDeleteCompanyTargetFacility.d.ts +37 -0
  63. package/dist/commonjs/react-query/organizationsDeleteCompanyTargetFacility.d.ts.map +1 -0
  64. package/dist/commonjs/react-query/organizationsDeleteCompanyTargetFacility.js +59 -0
  65. package/dist/commonjs/react-query/organizationsDeleteCompanyTargetFacility.js.map +1 -0
  66. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.core.d.ts +4 -4
  67. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.core.d.ts.map +1 -1
  68. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.core.js.map +1 -1
  69. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.d.ts +8 -8
  70. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.d.ts.map +1 -1
  71. package/dist/commonjs/react-query/organizationsExportCompanyTargetFacilities.js.map +1 -1
  72. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.core.d.ts +54 -0
  73. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.core.d.ts.map +1 -0
  74. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.core.js +111 -0
  75. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.core.js.map +1 -0
  76. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.d.ts +154 -0
  77. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.d.ts.map +1 -0
  78. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.js +180 -0
  79. package/dist/commonjs/react-query/organizationsListCompanyTargetFacilities.js.map +1 -0
  80. package/dist/commonjs/react-query/organizationsListFacilityVendors.core.d.ts +2 -2
  81. package/dist/commonjs/react-query/organizationsListFacilityVendors.core.d.ts.map +1 -1
  82. package/dist/commonjs/react-query/organizationsListFacilityVendors.d.ts +2 -2
  83. package/dist/commonjs/react-query/organizationsListFacilityVendors.d.ts.map +1 -1
  84. package/dist/commonjs/sdk/organizations.d.ts +64 -0
  85. package/dist/commonjs/sdk/organizations.d.ts.map +1 -1
  86. package/dist/commonjs/sdk/organizations.js +71 -0
  87. package/dist/commonjs/sdk/organizations.js.map +1 -1
  88. package/dist/esm/__tests__/organizations.test.js +73 -7
  89. package/dist/esm/__tests__/organizations.test.js.map +1 -1
  90. package/dist/esm/__tests__/webhooks.test.js +1 -1
  91. package/dist/esm/__tests__/webhooks.test.js.map +1 -1
  92. package/dist/esm/__tests__/zones.test.js +34 -6
  93. package/dist/esm/__tests__/zones.test.js.map +1 -1
  94. package/dist/esm/funcs/organizationsCreateCompanyTargetFacility.d.ts +34 -0
  95. package/dist/esm/funcs/organizationsCreateCompanyTargetFacility.d.ts.map +1 -0
  96. package/dist/esm/funcs/organizationsCreateCompanyTargetFacility.js +109 -0
  97. package/dist/esm/funcs/organizationsCreateCompanyTargetFacility.js.map +1 -0
  98. package/dist/esm/funcs/organizationsDeleteCompanyTargetFacility.d.ts +28 -0
  99. package/dist/esm/funcs/organizationsDeleteCompanyTargetFacility.d.ts.map +1 -0
  100. package/dist/esm/funcs/organizationsDeleteCompanyTargetFacility.js +102 -0
  101. package/dist/esm/funcs/organizationsDeleteCompanyTargetFacility.js.map +1 -0
  102. package/dist/esm/funcs/organizationsListCompanyTargetFacilities.d.ts +42 -0
  103. package/dist/esm/funcs/organizationsListCompanyTargetFacilities.d.ts.map +1 -0
  104. package/dist/esm/funcs/organizationsListCompanyTargetFacilities.js +158 -0
  105. package/dist/esm/funcs/organizationsListCompanyTargetFacilities.js.map +1 -0
  106. package/dist/esm/lib/config.d.ts +3 -3
  107. package/dist/esm/lib/config.js +3 -3
  108. package/dist/esm/models/components/companytargetfacility.d.ts +54 -0
  109. package/dist/esm/models/components/companytargetfacility.d.ts.map +1 -0
  110. package/dist/esm/models/components/companytargetfacility.js +41 -0
  111. package/dist/esm/models/components/companytargetfacility.js.map +1 -0
  112. package/dist/esm/models/components/index.d.ts +1 -0
  113. package/dist/esm/models/components/index.d.ts.map +1 -1
  114. package/dist/esm/models/components/index.js +1 -0
  115. package/dist/esm/models/components/index.js.map +1 -1
  116. package/dist/esm/models/operations/createcompanytargetfacility.d.ts +50 -0
  117. package/dist/esm/models/operations/createcompanytargetfacility.d.ts.map +1 -0
  118. package/dist/esm/models/operations/createcompanytargetfacility.js +45 -0
  119. package/dist/esm/models/operations/createcompanytargetfacility.js.map +1 -0
  120. package/dist/esm/models/operations/deletecompanytargetfacility.d.ts +20 -0
  121. package/dist/esm/models/operations/deletecompanytargetfacility.d.ts.map +1 -0
  122. package/dist/esm/models/operations/deletecompanytargetfacility.js +18 -0
  123. package/dist/esm/models/operations/deletecompanytargetfacility.js.map +1 -0
  124. package/dist/esm/models/operations/exportcompanytargetfacilities.d.ts +16 -16
  125. package/dist/esm/models/operations/exportcompanytargetfacilities.d.ts.map +1 -1
  126. package/dist/esm/models/operations/exportcompanytargetfacilities.js +13 -14
  127. package/dist/esm/models/operations/exportcompanytargetfacilities.js.map +1 -1
  128. package/dist/esm/models/operations/index.d.ts +3 -0
  129. package/dist/esm/models/operations/index.d.ts.map +1 -1
  130. package/dist/esm/models/operations/index.js +3 -0
  131. package/dist/esm/models/operations/index.js.map +1 -1
  132. package/dist/esm/models/operations/listcompanytargetfacilities.d.ts +173 -0
  133. package/dist/esm/models/operations/listcompanytargetfacilities.d.ts.map +1 -0
  134. package/dist/esm/models/operations/listcompanytargetfacilities.js +111 -0
  135. package/dist/esm/models/operations/listcompanytargetfacilities.js.map +1 -0
  136. package/dist/esm/models/operations/listfacilityvendors.d.ts +4 -4
  137. package/dist/esm/models/operations/listfacilityvendors.d.ts.map +1 -1
  138. package/dist/esm/models/operations/listfacilityvendors.js +3 -3
  139. package/dist/esm/models/operations/listfacilityvendors.js.map +1 -1
  140. package/dist/esm/react-query/index.d.ts +3 -0
  141. package/dist/esm/react-query/index.d.ts.map +1 -1
  142. package/dist/esm/react-query/index.js +3 -0
  143. package/dist/esm/react-query/index.js.map +1 -1
  144. package/dist/esm/react-query/organizationsCreateCompanyTargetFacility.d.ts +43 -0
  145. package/dist/esm/react-query/organizationsCreateCompanyTargetFacility.d.ts.map +1 -0
  146. package/dist/esm/react-query/organizationsCreateCompanyTargetFacility.js +60 -0
  147. package/dist/esm/react-query/organizationsCreateCompanyTargetFacility.js.map +1 -0
  148. package/dist/esm/react-query/organizationsDeleteCompanyTargetFacility.d.ts +37 -0
  149. package/dist/esm/react-query/organizationsDeleteCompanyTargetFacility.d.ts.map +1 -0
  150. package/dist/esm/react-query/organizationsDeleteCompanyTargetFacility.js +54 -0
  151. package/dist/esm/react-query/organizationsDeleteCompanyTargetFacility.js.map +1 -0
  152. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.core.d.ts +4 -4
  153. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.core.d.ts.map +1 -1
  154. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.core.js.map +1 -1
  155. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.d.ts +8 -8
  156. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.d.ts.map +1 -1
  157. package/dist/esm/react-query/organizationsExportCompanyTargetFacilities.js.map +1 -1
  158. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.core.d.ts +54 -0
  159. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.core.d.ts.map +1 -0
  160. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.core.js +103 -0
  161. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.core.js.map +1 -0
  162. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.d.ts +154 -0
  163. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.d.ts.map +1 -0
  164. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.js +165 -0
  165. package/dist/esm/react-query/organizationsListCompanyTargetFacilities.js.map +1 -0
  166. package/dist/esm/react-query/organizationsListFacilityVendors.core.d.ts +2 -2
  167. package/dist/esm/react-query/organizationsListFacilityVendors.core.d.ts.map +1 -1
  168. package/dist/esm/react-query/organizationsListFacilityVendors.d.ts +2 -2
  169. package/dist/esm/react-query/organizationsListFacilityVendors.d.ts.map +1 -1
  170. package/dist/esm/sdk/organizations.d.ts +64 -0
  171. package/dist/esm/sdk/organizations.d.ts.map +1 -1
  172. package/dist/esm/sdk/organizations.js +71 -0
  173. package/dist/esm/sdk/organizations.js.map +1 -1
  174. package/jsr.json +1 -1
  175. package/package.json +1 -1
  176. package/src/__tests__/organizations.test.ts +79 -13
  177. package/src/__tests__/webhooks.test.ts +1 -1
  178. package/src/__tests__/zones.test.ts +34 -6
  179. package/src/funcs/organizationsCreateCompanyTargetFacility.ts +204 -0
  180. package/src/funcs/organizationsDeleteCompanyTargetFacility.ts +193 -0
  181. package/src/funcs/organizationsListCompanyTargetFacilities.ts +291 -0
  182. package/src/lib/config.ts +3 -3
  183. package/src/models/components/companytargetfacility.ts +124 -0
  184. package/src/models/components/index.ts +1 -0
  185. package/src/models/operations/createcompanytargetfacility.ts +132 -0
  186. package/src/models/operations/deletecompanytargetfacility.ts +47 -0
  187. package/src/models/operations/exportcompanytargetfacilities.ts +34 -31
  188. package/src/models/operations/index.ts +3 -0
  189. package/src/models/operations/listcompanytargetfacilities.ts +293 -0
  190. package/src/models/operations/listfacilityvendors.ts +10 -7
  191. package/src/react-query/index.ts +3 -0
  192. package/src/react-query/organizationsCreateCompanyTargetFacility.ts +129 -0
  193. package/src/react-query/organizationsDeleteCompanyTargetFacility.ts +122 -0
  194. package/src/react-query/organizationsExportCompanyTargetFacilities.core.ts +4 -6
  195. package/src/react-query/organizationsExportCompanyTargetFacilities.ts +12 -10
  196. package/src/react-query/organizationsListCompanyTargetFacilities.core.ts +239 -0
  197. package/src/react-query/organizationsListCompanyTargetFacilities.ts +369 -0
  198. package/src/react-query/organizationsListFacilityVendors.core.ts +2 -2
  199. package/src/react-query/organizationsListFacilityVendors.ts +2 -2
  200. package/src/sdk/organizations.ts +102 -0
@@ -0,0 +1,193 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { GreenSecurityCore } from "../core.js";
6
+ import { encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.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 { GreenSecurityError } from "../models/errors/greensecurityerror.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
+ import * as types$ from "../types/primitives.js";
29
+
30
+ /**
31
+ * Remove a company target facility
32
+ *
33
+ * @remarks
34
+ * Removes a CompanyTargetFacility link. Blocked when any of the company's
35
+ * individuals still target the same facility (to avoid orphaning their
36
+ * vendor-scoped target rows). Only the link row is removed — the Facility
37
+ * entity itself is never touched.
38
+ *
39
+ * Access control: the URL's `company_id` must be in the caller's update
40
+ * scope for Company (a company manager's or vendor's own company, or a
41
+ * company whose app is activated for the API user). Callers outside that
42
+ * scope receive `404 Company not found`.
43
+ *
44
+ * If set, this operation will use {@link Security.bearerJwt} from the global security.
45
+ */
46
+ export function organizationsDeleteCompanyTargetFacility(
47
+ client: GreenSecurityCore,
48
+ request: operations.DeleteCompanyTargetFacilityRequest,
49
+ options?: RequestOptions,
50
+ ): APIPromise<
51
+ Result<
52
+ boolean,
53
+ | errors.ApiErrorResponse
54
+ | GreenSecurityError
55
+ | ResponseValidationError
56
+ | ConnectionError
57
+ | RequestAbortedError
58
+ | RequestTimeoutError
59
+ | InvalidRequestError
60
+ | UnexpectedClientError
61
+ | SDKValidationError
62
+ >
63
+ > {
64
+ return new APIPromise($do(
65
+ client,
66
+ request,
67
+ options,
68
+ ));
69
+ }
70
+
71
+ async function $do(
72
+ client: GreenSecurityCore,
73
+ request: operations.DeleteCompanyTargetFacilityRequest,
74
+ options?: RequestOptions,
75
+ ): Promise<
76
+ [
77
+ Result<
78
+ boolean,
79
+ | errors.ApiErrorResponse
80
+ | GreenSecurityError
81
+ | ResponseValidationError
82
+ | ConnectionError
83
+ | RequestAbortedError
84
+ | RequestTimeoutError
85
+ | InvalidRequestError
86
+ | UnexpectedClientError
87
+ | SDKValidationError
88
+ >,
89
+ APICall,
90
+ ]
91
+ > {
92
+ const parsed = safeParse(
93
+ request,
94
+ (value) =>
95
+ operations.DeleteCompanyTargetFacilityRequest$outboundSchema.parse(value),
96
+ "Input validation failed",
97
+ );
98
+ if (!parsed.ok) {
99
+ return [parsed, { status: "invalid" }];
100
+ }
101
+ const payload = parsed.value;
102
+ const body = null;
103
+
104
+ const pathParams = {
105
+ company_id: encodeSimple("company_id", payload.company_id, {
106
+ explode: false,
107
+ charEncoding: "percent",
108
+ }),
109
+ id: encodeSimple("id", payload.id, {
110
+ explode: false,
111
+ charEncoding: "percent",
112
+ }),
113
+ };
114
+ const path = pathToFunc("/companies/{company_id}/target-facilities/{id}")(
115
+ pathParams,
116
+ );
117
+
118
+ const headers = new Headers(compactMap({
119
+ Accept: "application/json",
120
+ }));
121
+
122
+ const securityInput = await extractSecurity(client._options.security);
123
+ const requestSecurity = resolveGlobalSecurity(securityInput, [1]);
124
+
125
+ const context = {
126
+ options: client._options,
127
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
128
+ operationID: "deleteCompanyTargetFacility",
129
+ oAuth2Scopes: null,
130
+
131
+ resolvedSecurity: requestSecurity,
132
+
133
+ securitySource: client._options.security,
134
+ retryConfig: options?.retries
135
+ || client._options.retryConfig
136
+ || { strategy: "none" },
137
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
138
+ };
139
+
140
+ const requestRes = client._createRequest(context, {
141
+ security: requestSecurity,
142
+ method: "DELETE",
143
+ baseURL: options?.serverURL,
144
+ path: path,
145
+ headers: headers,
146
+ body: body,
147
+ userAgent: client._options.userAgent,
148
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
149
+ }, options);
150
+ if (!requestRes.ok) {
151
+ return [requestRes, { status: "invalid" }];
152
+ }
153
+ const req = requestRes.value;
154
+
155
+ const doResult = await client._do(req, {
156
+ context,
157
+ isErrorStatusCode: (statusCode: number) =>
158
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
159
+ retryConfig: context.retryConfig,
160
+ retryCodes: context.retryCodes,
161
+ });
162
+ if (!doResult.ok) {
163
+ return [doResult, { status: "request-error", request: req }];
164
+ }
165
+ const response = doResult.value;
166
+
167
+ const responseFields = {
168
+ HttpMeta: { Response: response, Request: req },
169
+ };
170
+
171
+ const [result] = await M.match<
172
+ boolean,
173
+ | errors.ApiErrorResponse
174
+ | GreenSecurityError
175
+ | ResponseValidationError
176
+ | ConnectionError
177
+ | RequestAbortedError
178
+ | RequestTimeoutError
179
+ | InvalidRequestError
180
+ | UnexpectedClientError
181
+ | SDKValidationError
182
+ >(
183
+ M.json(200, types$.boolean()),
184
+ M.jsonErr([400, 401, 403, 404, 422], errors.ApiErrorResponse$inboundSchema),
185
+ M.fail("4XX"),
186
+ M.fail([500, "5XX"]),
187
+ )(response, req, { extraFields: responseFields });
188
+ if (!result.ok) {
189
+ return [result, { status: "complete", request: req, response }];
190
+ }
191
+
192
+ return [result, { status: "complete", request: req, response }];
193
+ }
@@ -0,0 +1,291 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { GreenSecurityCore } from "../core.js";
6
+ import { dlv } from "../lib/dlv.js";
7
+ import { encodeFormQuery, encodeSimple, queryJoin } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.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 { GreenSecurityError } from "../models/errors/greensecurityerror.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 company target facilities
38
+ *
39
+ * @remarks
40
+ * Lists the CompanyTargetFacility links for a company — the facilities the
41
+ * company is targeting. Each row carries the linked facility (with location
42
+ * and parent system), the link status, and per-facility counts of the
43
+ * company's individuals targeting it.
44
+ *
45
+ * When `include_potential_targets=true`, returns ALL non-deleted facilities
46
+ * via a LEFT JOIN. Targeted rows carry their CTF `id` and `status`; non-targeted
47
+ * rows have `id: null` and `status: "Not Targeted"`.
48
+ *
49
+ * Access control: the URL's `company_id` must be in the caller's read scope
50
+ * for Company (a company manager's or vendor's own company, or a company
51
+ * whose app is activated for the API user). Callers outside that scope
52
+ * receive `404 Company not found`.
53
+ *
54
+ * Filter with `has_individual` / `has_active_individual` to drive the
55
+ * facility roster views.
56
+ *
57
+ * Available `expand` scopes are:
58
+ *
59
+ * - company_target_facility.facility
60
+ *
61
+ * If set, this operation will use {@link Security.bearerJwt} from the global security.
62
+ */
63
+ export function organizationsListCompanyTargetFacilities(
64
+ client: GreenSecurityCore,
65
+ request: operations.ListCompanyTargetFacilitiesRequest,
66
+ options?: RequestOptions,
67
+ ): APIPromise<
68
+ PageIterator<
69
+ Result<
70
+ operations.ListCompanyTargetFacilitiesResponse,
71
+ | errors.ApiErrorResponse
72
+ | GreenSecurityError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ { page: number }
82
+ >
83
+ > {
84
+ return new APIPromise($do(
85
+ client,
86
+ request,
87
+ options,
88
+ ));
89
+ }
90
+
91
+ async function $do(
92
+ client: GreenSecurityCore,
93
+ request: operations.ListCompanyTargetFacilitiesRequest,
94
+ options?: RequestOptions,
95
+ ): Promise<
96
+ [
97
+ PageIterator<
98
+ Result<
99
+ operations.ListCompanyTargetFacilitiesResponse,
100
+ | errors.ApiErrorResponse
101
+ | GreenSecurityError
102
+ | ResponseValidationError
103
+ | ConnectionError
104
+ | RequestAbortedError
105
+ | RequestTimeoutError
106
+ | InvalidRequestError
107
+ | UnexpectedClientError
108
+ | SDKValidationError
109
+ >,
110
+ { page: number }
111
+ >,
112
+ APICall,
113
+ ]
114
+ > {
115
+ const parsed = safeParse(
116
+ request,
117
+ (value) =>
118
+ operations.ListCompanyTargetFacilitiesRequest$outboundSchema.parse(value),
119
+ "Input validation failed",
120
+ );
121
+ if (!parsed.ok) {
122
+ return [haltIterator(parsed), { status: "invalid" }];
123
+ }
124
+ const payload = parsed.value;
125
+ const body = null;
126
+
127
+ const pathParams = {
128
+ company_id: encodeSimple("company_id", payload.company_id, {
129
+ explode: false,
130
+ charEncoding: "percent",
131
+ }),
132
+ };
133
+ const path = pathToFunc("/companies/{company_id}/target-facilities")(
134
+ pathParams,
135
+ );
136
+
137
+ const query = queryJoin(
138
+ encodeFormQuery({
139
+ "expand": payload.expand,
140
+ }, { explode: false }),
141
+ encodeFormQuery({
142
+ "address_like": payload.address_like,
143
+ "city_like": payload.city_like,
144
+ "desc": payload.desc,
145
+ "facility_name_like": payload.facility_name_like,
146
+ "has_active_individual": payload.has_active_individual,
147
+ "has_individual": payload.has_individual,
148
+ "include_potential_targets": payload.include_potential_targets,
149
+ "items_per_page": payload.items_per_page,
150
+ "page": payload.page,
151
+ "sort": payload.sort,
152
+ "status": payload.status,
153
+ "system_name_like": payload.system_name_like,
154
+ }),
155
+ );
156
+
157
+ const headers = new Headers(compactMap({
158
+ Accept: "application/json",
159
+ }));
160
+
161
+ const securityInput = await extractSecurity(client._options.security);
162
+ const requestSecurity = resolveGlobalSecurity(securityInput, [1]);
163
+
164
+ const context = {
165
+ options: client._options,
166
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
167
+ operationID: "listCompanyTargetFacilities",
168
+ oAuth2Scopes: null,
169
+
170
+ resolvedSecurity: requestSecurity,
171
+
172
+ securitySource: client._options.security,
173
+ retryConfig: options?.retries
174
+ || client._options.retryConfig
175
+ || { strategy: "none" },
176
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
177
+ };
178
+
179
+ const requestRes = client._createRequest(context, {
180
+ security: requestSecurity,
181
+ method: "GET",
182
+ baseURL: options?.serverURL,
183
+ path: path,
184
+ headers: headers,
185
+ query: query,
186
+ body: body,
187
+ userAgent: client._options.userAgent,
188
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
189
+ }, options);
190
+ if (!requestRes.ok) {
191
+ return [haltIterator(requestRes), { status: "invalid" }];
192
+ }
193
+ const req = requestRes.value;
194
+
195
+ const doResult = await client._do(req, {
196
+ context,
197
+ isErrorStatusCode: (statusCode: number) =>
198
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
199
+ retryConfig: context.retryConfig,
200
+ retryCodes: context.retryCodes,
201
+ });
202
+ if (!doResult.ok) {
203
+ return [haltIterator(doResult), { status: "request-error", request: req }];
204
+ }
205
+ const response = doResult.value;
206
+
207
+ const responseFields = {
208
+ HttpMeta: { Response: response, Request: req },
209
+ };
210
+
211
+ const [result, raw] = await M.match<
212
+ operations.ListCompanyTargetFacilitiesResponse,
213
+ | errors.ApiErrorResponse
214
+ | GreenSecurityError
215
+ | ResponseValidationError
216
+ | ConnectionError
217
+ | RequestAbortedError
218
+ | RequestTimeoutError
219
+ | InvalidRequestError
220
+ | UnexpectedClientError
221
+ | SDKValidationError
222
+ >(
223
+ M.json(200, operations.ListCompanyTargetFacilitiesResponse$inboundSchema, {
224
+ key: "Result",
225
+ }),
226
+ M.jsonErr([400, 401, 403, 404, 422], errors.ApiErrorResponse$inboundSchema),
227
+ M.fail("4XX"),
228
+ M.fail([500, "5XX"]),
229
+ )(response, req, { extraFields: responseFields });
230
+ if (!result.ok) {
231
+ return [haltIterator(result), {
232
+ status: "complete",
233
+ request: req,
234
+ response,
235
+ }];
236
+ }
237
+
238
+ const nextFunc = (
239
+ responseData: unknown,
240
+ ): {
241
+ next: Paginator<
242
+ Result<
243
+ operations.ListCompanyTargetFacilitiesResponse,
244
+ | errors.ApiErrorResponse
245
+ | GreenSecurityError
246
+ | ResponseValidationError
247
+ | ConnectionError
248
+ | RequestAbortedError
249
+ | RequestTimeoutError
250
+ | InvalidRequestError
251
+ | UnexpectedClientError
252
+ | SDKValidationError
253
+ >
254
+ >;
255
+ "~next"?: { page: number };
256
+ } => {
257
+ const page = request?.page ?? 1;
258
+ const nextPage = page + 1;
259
+
260
+ if (!responseData) {
261
+ return { next: () => null };
262
+ }
263
+ const results = dlv(responseData, "items");
264
+ if (!Array.isArray(results) || !results.length) {
265
+ return { next: () => null };
266
+ }
267
+ const limit = request?.itemsPerPage ?? 0;
268
+ if (results.length < limit) {
269
+ return { next: () => null };
270
+ }
271
+
272
+ const nextVal = () =>
273
+ organizationsListCompanyTargetFacilities(
274
+ client,
275
+ {
276
+ ...request,
277
+ page: nextPage,
278
+ },
279
+ options,
280
+ );
281
+
282
+ return { next: nextVal, "~next": { page: nextPage } };
283
+ };
284
+
285
+ const page = { ...result, ...nextFunc(raw) };
286
+ return [{ ...page, ...createPageIterator(page, (v) => !v.ok) }, {
287
+ status: "complete",
288
+ request: req,
289
+ response,
290
+ }];
291
+ }
package/src/lib/config.ts CHANGED
@@ -80,8 +80,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
80
80
  export const SDK_METADATA = {
81
81
  language: "typescript",
82
82
  openapiDocVersion: "0.43.5",
83
- sdkVersion: "0.44.0-beta.15",
84
- genVersion: "2.897.1",
83
+ sdkVersion: "0.44.0-beta.17",
84
+ genVersion: "2.899.0",
85
85
  userAgent:
86
- "speakeasy-sdk/typescript 0.44.0-beta.15 2.897.1 0.43.5 @greensecurity/javascript-sdk",
86
+ "speakeasy-sdk/typescript 0.44.0-beta.17 2.899.0 0.43.5 @greensecurity/javascript-sdk",
87
87
  } as const;
@@ -0,0 +1,124 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import * as types from "../../types/primitives.js";
10
+ import { smartUnion } from "../../types/smartUnion.js";
11
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
12
+ import { Facility, Facility$inboundSchema } from "./facility.js";
13
+
14
+ /**
15
+ * The linked facility. Returns the facility ID by default; pass `company_target_facility.facility` to `expand` to receive the full facility object.
16
+ */
17
+ export type CompanyTargetFacilityFacility = Facility | number;
18
+
19
+ /**
20
+ * Per-facility counts of the company's individuals (vendors) currently targeting this facility.
21
+ */
22
+ export type IndividualCounts = {
23
+ /**
24
+ * Total individuals from the company targeting this facility.
25
+ */
26
+ total?: number | undefined;
27
+ /**
28
+ * Individuals targeting this facility whose credentialing subscription is active.
29
+ */
30
+ active?: number | undefined;
31
+ };
32
+
33
+ /**
34
+ * Describes the facilities that a company would like to do business with. These are called "target facilities" for the company. A company may target/untarget any number of facilities which will kick off the process of becoming compliant with that facility's vendor policies.
35
+ */
36
+ export type CompanyTargetFacility = {
37
+ /**
38
+ * CompanyTargetFacility row ID. Null when returned via `include_potential_targets=true` for a facility not yet targeted by the company.
39
+ */
40
+ id: number | null;
41
+ /**
42
+ * The linked facility. Returns the facility ID by default; pass `company_target_facility.facility` to `expand` to receive the full facility object.
43
+ */
44
+ facility: Facility | number | null;
45
+ /**
46
+ * Link status (Approved, Pending, or Denied). This value is computed by the daily background job from the company's credential state — it is not directly settable through the API.
47
+ */
48
+ status: string | null;
49
+ contracted?: boolean | undefined;
50
+ dateCreated?: Date | null | undefined;
51
+ /**
52
+ * Per-facility counts of the company's individuals (vendors) currently targeting this facility.
53
+ */
54
+ individualCounts?: IndividualCounts | null | undefined;
55
+ };
56
+
57
+ /** @internal */
58
+ export const CompanyTargetFacilityFacility$inboundSchema: z.ZodType<
59
+ CompanyTargetFacilityFacility,
60
+ z.ZodTypeDef,
61
+ unknown
62
+ > = smartUnion([Facility$inboundSchema, types.number()]);
63
+
64
+ export function companyTargetFacilityFacilityFromJSON(
65
+ jsonString: string,
66
+ ): SafeParseResult<CompanyTargetFacilityFacility, SDKValidationError> {
67
+ return safeParse(
68
+ jsonString,
69
+ (x) => CompanyTargetFacilityFacility$inboundSchema.parse(JSON.parse(x)),
70
+ `Failed to parse 'CompanyTargetFacilityFacility' from JSON`,
71
+ );
72
+ }
73
+
74
+ /** @internal */
75
+ export const IndividualCounts$inboundSchema: z.ZodType<
76
+ IndividualCounts,
77
+ z.ZodTypeDef,
78
+ unknown
79
+ > = z.object({
80
+ total: types.optional(types.number()),
81
+ active: types.optional(types.number()),
82
+ });
83
+
84
+ export function individualCountsFromJSON(
85
+ jsonString: string,
86
+ ): SafeParseResult<IndividualCounts, SDKValidationError> {
87
+ return safeParse(
88
+ jsonString,
89
+ (x) => IndividualCounts$inboundSchema.parse(JSON.parse(x)),
90
+ `Failed to parse 'IndividualCounts' from JSON`,
91
+ );
92
+ }
93
+
94
+ /** @internal */
95
+ export const CompanyTargetFacility$inboundSchema: z.ZodType<
96
+ CompanyTargetFacility,
97
+ z.ZodTypeDef,
98
+ unknown
99
+ > = z.object({
100
+ id: types.nullable(types.number()),
101
+ facility: types.nullable(
102
+ smartUnion([Facility$inboundSchema, types.number()]),
103
+ ),
104
+ status: types.nullable(types.string()),
105
+ contracted: types.optional(types.boolean()),
106
+ date_created: z.nullable(types.date()).optional(),
107
+ individual_counts: z.nullable(z.lazy(() => IndividualCounts$inboundSchema))
108
+ .optional(),
109
+ }).transform((v) => {
110
+ return remap$(v, {
111
+ "date_created": "dateCreated",
112
+ "individual_counts": "individualCounts",
113
+ });
114
+ });
115
+
116
+ export function companyTargetFacilityFromJSON(
117
+ jsonString: string,
118
+ ): SafeParseResult<CompanyTargetFacility, SDKValidationError> {
119
+ return safeParse(
120
+ jsonString,
121
+ (x) => CompanyTargetFacility$inboundSchema.parse(JSON.parse(x)),
122
+ `Failed to parse 'CompanyTargetFacility' from JSON`,
123
+ );
124
+ }
@@ -10,6 +10,7 @@ export * from "./company.js";
10
10
  export * from "./companycredentiallistitem.js";
11
11
  export * from "./companylookup.js";
12
12
  export * from "./companymanager.js";
13
+ export * from "./companytargetfacility.js";
13
14
  export * from "./companyvendorfield.js";
14
15
  export * from "./companyvendortyperestriction.js";
15
16
  export * from "./contact.js";