@greensecurity/javascript-sdk 0.45.0-beta.0 → 0.45.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/commonjs/__tests__/fhirconfigs.test.js +21 -5
- package/dist/commonjs/__tests__/fhirconfigs.test.js.map +1 -1
- package/dist/commonjs/__tests__/invoices.test.js +18 -0
- package/dist/commonjs/__tests__/invoices.test.js.map +1 -1
- package/dist/commonjs/__tests__/vendors.test.js +1 -1
- package/dist/commonjs/__tests__/zones.test.js +28 -3
- package/dist/commonjs/__tests__/zones.test.js.map +1 -1
- package/dist/commonjs/funcs/companiesListCompanyManagers.js +1 -0
- package/dist/commonjs/funcs/companiesListCompanyManagers.js.map +1 -1
- package/dist/commonjs/funcs/invoicesConvertQuote.d.ts +33 -0
- package/dist/commonjs/funcs/invoicesConvertQuote.d.ts.map +1 -0
- package/dist/commonjs/funcs/invoicesConvertQuote.js +138 -0
- package/dist/commonjs/funcs/invoicesConvertQuote.js.map +1 -0
- package/dist/commonjs/funcs/usersPostAuthenticate.js +1 -1
- package/dist/commonjs/funcs/usersPostAuthenticate.js.map +1 -1
- package/dist/commonjs/funcs/vendorsGetVendorCredentialDetails.d.ts +1 -0
- package/dist/commonjs/funcs/vendorsGetVendorCredentialDetails.d.ts.map +1 -1
- package/dist/commonjs/funcs/vendorsGetVendorCredentialDetails.js +1 -0
- package/dist/commonjs/funcs/vendorsGetVendorCredentialDetails.js.map +1 -1
- package/dist/commonjs/funcs/vendorsVendorsExport.d.ts +4 -1
- package/dist/commonjs/funcs/vendorsVendorsExport.d.ts.map +1 -1
- package/dist/commonjs/funcs/vendorsVendorsExport.js +5 -1
- package/dist/commonjs/funcs/vendorsVendorsExport.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/encodings.d.ts +10 -9
- package/dist/commonjs/lib/encodings.d.ts.map +1 -1
- package/dist/commonjs/lib/encodings.js +29 -13
- package/dist/commonjs/lib/encodings.js.map +1 -1
- package/dist/commonjs/models/components/companymanager.d.ts +19 -1
- package/dist/commonjs/models/components/companymanager.d.ts.map +1 -1
- package/dist/commonjs/models/components/companymanager.js +13 -2
- package/dist/commonjs/models/components/companymanager.js.map +1 -1
- package/dist/commonjs/models/components/expand.d.ts +1 -0
- package/dist/commonjs/models/components/expand.d.ts.map +1 -1
- package/dist/commonjs/models/components/expand.js +1 -0
- package/dist/commonjs/models/components/expand.js.map +1 -1
- package/dist/commonjs/models/components/fhirconfig.d.ts +16 -0
- package/dist/commonjs/models/components/fhirconfig.d.ts.map +1 -1
- package/dist/commonjs/models/components/fhirconfig.js +4 -0
- package/dist/commonjs/models/components/fhirconfig.js.map +1 -1
- package/dist/commonjs/models/components/fhirconfigcreate.d.ts +18 -0
- package/dist/commonjs/models/components/fhirconfigcreate.d.ts.map +1 -1
- package/dist/commonjs/models/components/fhirconfigcreate.js +4 -0
- package/dist/commonjs/models/components/fhirconfigcreate.js.map +1 -1
- package/dist/commonjs/models/components/fhirextraentities.d.ts +9 -0
- package/dist/commonjs/models/components/fhirextraentities.d.ts.map +1 -1
- package/dist/commonjs/models/components/fhirextraentities.js +11 -0
- package/dist/commonjs/models/components/fhirextraentities.js.map +1 -1
- package/dist/commonjs/models/components/vendorcredentialsummary.d.ts +5 -0
- package/dist/commonjs/models/components/vendorcredentialsummary.d.ts.map +1 -1
- package/dist/commonjs/models/components/vendorcredentialsummary.js +9 -1
- package/dist/commonjs/models/components/vendorcredentialsummary.js.map +1 -1
- package/dist/commonjs/models/operations/convertquote.d.ts +46 -0
- package/dist/commonjs/models/operations/convertquote.d.ts.map +1 -0
- package/dist/commonjs/models/operations/convertquote.js +69 -0
- package/dist/commonjs/models/operations/convertquote.js.map +1 -0
- package/dist/commonjs/models/operations/createinvoice.d.ts +85 -0
- package/dist/commonjs/models/operations/createinvoice.d.ts.map +1 -1
- package/dist/commonjs/models/operations/createinvoice.js +56 -1
- package/dist/commonjs/models/operations/createinvoice.js.map +1 -1
- package/dist/commonjs/models/operations/index.d.ts +1 -0
- package/dist/commonjs/models/operations/index.d.ts.map +1 -1
- package/dist/commonjs/models/operations/index.js +1 -0
- package/dist/commonjs/models/operations/index.js.map +1 -1
- package/dist/commonjs/models/operations/listcompanymanagers.d.ts +20 -0
- package/dist/commonjs/models/operations/listcompanymanagers.d.ts.map +1 -1
- package/dist/commonjs/models/operations/listcompanymanagers.js +12 -1
- package/dist/commonjs/models/operations/listcompanymanagers.js.map +1 -1
- package/dist/commonjs/models/operations/vendorsexport.d.ts +6 -1
- package/dist/commonjs/models/operations/vendorsexport.d.ts.map +1 -1
- package/dist/commonjs/models/operations/vendorsexport.js +2 -0
- package/dist/commonjs/models/operations/vendorsexport.js.map +1 -1
- package/dist/commonjs/react-query/companiesListCompanyManagers.core.d.ts +2 -0
- package/dist/commonjs/react-query/companiesListCompanyManagers.core.d.ts.map +1 -1
- package/dist/commonjs/react-query/companiesListCompanyManagers.core.js +2 -0
- package/dist/commonjs/react-query/companiesListCompanyManagers.core.js.map +1 -1
- package/dist/commonjs/react-query/companiesListCompanyManagers.d.ts +2 -0
- package/dist/commonjs/react-query/companiesListCompanyManagers.d.ts.map +1 -1
- package/dist/commonjs/react-query/companiesListCompanyManagers.js.map +1 -1
- package/dist/commonjs/react-query/index.d.ts +1 -0
- package/dist/commonjs/react-query/index.d.ts.map +1 -1
- package/dist/commonjs/react-query/index.js +1 -0
- package/dist/commonjs/react-query/index.js.map +1 -1
- package/dist/commonjs/react-query/invoicesConvertQuote.d.ts +42 -0
- package/dist/commonjs/react-query/invoicesConvertQuote.d.ts.map +1 -0
- package/dist/commonjs/react-query/invoicesConvertQuote.js +60 -0
- package/dist/commonjs/react-query/invoicesConvertQuote.js.map +1 -0
- package/dist/commonjs/react-query/vendorsGetVendorCredentialDetails.d.ts +2 -0
- package/dist/commonjs/react-query/vendorsGetVendorCredentialDetails.d.ts.map +1 -1
- package/dist/commonjs/react-query/vendorsGetVendorCredentialDetails.js +2 -0
- package/dist/commonjs/react-query/vendorsGetVendorCredentialDetails.js.map +1 -1
- package/dist/commonjs/react-query/vendorsVendorsExport.core.d.ts +1 -0
- package/dist/commonjs/react-query/vendorsVendorsExport.core.d.ts.map +1 -1
- package/dist/commonjs/react-query/vendorsVendorsExport.core.js +1 -0
- package/dist/commonjs/react-query/vendorsVendorsExport.core.js.map +1 -1
- package/dist/commonjs/react-query/vendorsVendorsExport.d.ts +10 -2
- package/dist/commonjs/react-query/vendorsVendorsExport.d.ts.map +1 -1
- package/dist/commonjs/react-query/vendorsVendorsExport.js +8 -2
- package/dist/commonjs/react-query/vendorsVendorsExport.js.map +1 -1
- package/dist/commonjs/sdk/invoices.d.ts +20 -0
- package/dist/commonjs/sdk/invoices.d.ts.map +1 -1
- package/dist/commonjs/sdk/invoices.js +23 -0
- package/dist/commonjs/sdk/invoices.js.map +1 -1
- package/dist/commonjs/sdk/vendors.d.ts +5 -1
- package/dist/commonjs/sdk/vendors.d.ts.map +1 -1
- package/dist/commonjs/sdk/vendors.js +5 -1
- package/dist/commonjs/sdk/vendors.js.map +1 -1
- package/dist/esm/__tests__/fhirconfigs.test.js +21 -5
- package/dist/esm/__tests__/fhirconfigs.test.js.map +1 -1
- package/dist/esm/__tests__/invoices.test.js +18 -0
- package/dist/esm/__tests__/invoices.test.js.map +1 -1
- package/dist/esm/__tests__/vendors.test.js +1 -1
- package/dist/esm/__tests__/zones.test.js +28 -3
- package/dist/esm/__tests__/zones.test.js.map +1 -1
- package/dist/esm/funcs/companiesListCompanyManagers.js +1 -0
- package/dist/esm/funcs/companiesListCompanyManagers.js.map +1 -1
- package/dist/esm/funcs/invoicesConvertQuote.d.ts +33 -0
- package/dist/esm/funcs/invoicesConvertQuote.d.ts.map +1 -0
- package/dist/esm/funcs/invoicesConvertQuote.js +102 -0
- package/dist/esm/funcs/invoicesConvertQuote.js.map +1 -0
- package/dist/esm/funcs/usersPostAuthenticate.js +1 -1
- package/dist/esm/funcs/usersPostAuthenticate.js.map +1 -1
- package/dist/esm/funcs/vendorsGetVendorCredentialDetails.d.ts +1 -0
- package/dist/esm/funcs/vendorsGetVendorCredentialDetails.d.ts.map +1 -1
- package/dist/esm/funcs/vendorsGetVendorCredentialDetails.js +1 -0
- package/dist/esm/funcs/vendorsGetVendorCredentialDetails.js.map +1 -1
- package/dist/esm/funcs/vendorsVendorsExport.d.ts +4 -1
- package/dist/esm/funcs/vendorsVendorsExport.d.ts.map +1 -1
- package/dist/esm/funcs/vendorsVendorsExport.js +5 -1
- package/dist/esm/funcs/vendorsVendorsExport.js.map +1 -1
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/encodings.d.ts +10 -9
- package/dist/esm/lib/encodings.d.ts.map +1 -1
- package/dist/esm/lib/encodings.js +29 -13
- package/dist/esm/lib/encodings.js.map +1 -1
- package/dist/esm/models/components/companymanager.d.ts +19 -1
- package/dist/esm/models/components/companymanager.d.ts.map +1 -1
- package/dist/esm/models/components/companymanager.js +12 -1
- package/dist/esm/models/components/companymanager.js.map +1 -1
- package/dist/esm/models/components/expand.d.ts +1 -0
- package/dist/esm/models/components/expand.d.ts.map +1 -1
- package/dist/esm/models/components/expand.js +1 -0
- package/dist/esm/models/components/expand.js.map +1 -1
- package/dist/esm/models/components/fhirconfig.d.ts +16 -0
- package/dist/esm/models/components/fhirconfig.d.ts.map +1 -1
- package/dist/esm/models/components/fhirconfig.js +4 -0
- package/dist/esm/models/components/fhirconfig.js.map +1 -1
- package/dist/esm/models/components/fhirconfigcreate.d.ts +18 -0
- package/dist/esm/models/components/fhirconfigcreate.d.ts.map +1 -1
- package/dist/esm/models/components/fhirconfigcreate.js +4 -0
- package/dist/esm/models/components/fhirconfigcreate.js.map +1 -1
- package/dist/esm/models/components/fhirextraentities.d.ts +9 -0
- package/dist/esm/models/components/fhirextraentities.d.ts.map +1 -1
- package/dist/esm/models/components/fhirextraentities.js +11 -0
- package/dist/esm/models/components/fhirextraentities.js.map +1 -1
- package/dist/esm/models/components/vendorcredentialsummary.d.ts +5 -0
- package/dist/esm/models/components/vendorcredentialsummary.d.ts.map +1 -1
- package/dist/esm/models/components/vendorcredentialsummary.js +7 -0
- package/dist/esm/models/components/vendorcredentialsummary.js.map +1 -1
- package/dist/esm/models/operations/convertquote.d.ts +46 -0
- package/dist/esm/models/operations/convertquote.d.ts.map +1 -0
- package/dist/esm/models/operations/convertquote.js +31 -0
- package/dist/esm/models/operations/convertquote.js.map +1 -0
- package/dist/esm/models/operations/createinvoice.d.ts +85 -0
- package/dist/esm/models/operations/createinvoice.d.ts.map +1 -1
- package/dist/esm/models/operations/createinvoice.js +55 -0
- package/dist/esm/models/operations/createinvoice.js.map +1 -1
- package/dist/esm/models/operations/index.d.ts +1 -0
- package/dist/esm/models/operations/index.d.ts.map +1 -1
- package/dist/esm/models/operations/index.js +1 -0
- package/dist/esm/models/operations/index.js.map +1 -1
- package/dist/esm/models/operations/listcompanymanagers.d.ts +20 -0
- package/dist/esm/models/operations/listcompanymanagers.d.ts.map +1 -1
- package/dist/esm/models/operations/listcompanymanagers.js +11 -0
- package/dist/esm/models/operations/listcompanymanagers.js.map +1 -1
- package/dist/esm/models/operations/vendorsexport.d.ts +6 -1
- package/dist/esm/models/operations/vendorsexport.d.ts.map +1 -1
- package/dist/esm/models/operations/vendorsexport.js +2 -0
- package/dist/esm/models/operations/vendorsexport.js.map +1 -1
- package/dist/esm/react-query/companiesListCompanyManagers.core.d.ts +2 -0
- package/dist/esm/react-query/companiesListCompanyManagers.core.d.ts.map +1 -1
- package/dist/esm/react-query/companiesListCompanyManagers.core.js +2 -0
- package/dist/esm/react-query/companiesListCompanyManagers.core.js.map +1 -1
- package/dist/esm/react-query/companiesListCompanyManagers.d.ts +2 -0
- package/dist/esm/react-query/companiesListCompanyManagers.d.ts.map +1 -1
- package/dist/esm/react-query/companiesListCompanyManagers.js.map +1 -1
- package/dist/esm/react-query/index.d.ts +1 -0
- package/dist/esm/react-query/index.d.ts.map +1 -1
- package/dist/esm/react-query/index.js +1 -0
- package/dist/esm/react-query/index.js.map +1 -1
- package/dist/esm/react-query/invoicesConvertQuote.d.ts +42 -0
- package/dist/esm/react-query/invoicesConvertQuote.d.ts.map +1 -0
- package/dist/esm/react-query/invoicesConvertQuote.js +55 -0
- package/dist/esm/react-query/invoicesConvertQuote.js.map +1 -0
- package/dist/esm/react-query/vendorsGetVendorCredentialDetails.d.ts +2 -0
- package/dist/esm/react-query/vendorsGetVendorCredentialDetails.d.ts.map +1 -1
- package/dist/esm/react-query/vendorsGetVendorCredentialDetails.js +2 -0
- package/dist/esm/react-query/vendorsGetVendorCredentialDetails.js.map +1 -1
- package/dist/esm/react-query/vendorsVendorsExport.core.d.ts +1 -0
- package/dist/esm/react-query/vendorsVendorsExport.core.d.ts.map +1 -1
- package/dist/esm/react-query/vendorsVendorsExport.core.js +1 -0
- package/dist/esm/react-query/vendorsVendorsExport.core.js.map +1 -1
- package/dist/esm/react-query/vendorsVendorsExport.d.ts +10 -2
- package/dist/esm/react-query/vendorsVendorsExport.d.ts.map +1 -1
- package/dist/esm/react-query/vendorsVendorsExport.js +8 -2
- package/dist/esm/react-query/vendorsVendorsExport.js.map +1 -1
- package/dist/esm/sdk/invoices.d.ts +20 -0
- package/dist/esm/sdk/invoices.d.ts.map +1 -1
- package/dist/esm/sdk/invoices.js +23 -0
- package/dist/esm/sdk/invoices.js.map +1 -1
- package/dist/esm/sdk/vendors.d.ts +5 -1
- package/dist/esm/sdk/vendors.d.ts.map +1 -1
- package/dist/esm/sdk/vendors.js +5 -1
- package/dist/esm/sdk/vendors.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/__tests__/fhirconfigs.test.ts +21 -5
- package/src/__tests__/invoices.test.ts +21 -0
- package/src/__tests__/vendors.test.ts +1 -1
- package/src/__tests__/zones.test.ts +28 -3
- package/src/funcs/companiesListCompanyManagers.ts +1 -0
- package/src/funcs/invoicesConvertQuote.ts +190 -0
- package/src/funcs/usersPostAuthenticate.ts +1 -0
- package/src/funcs/vendorsGetVendorCredentialDetails.ts +1 -0
- package/src/funcs/vendorsVendorsExport.ts +6 -1
- package/src/lib/config.ts +3 -3
- package/src/lib/encodings.ts +58 -23
- package/src/models/components/companymanager.ts +27 -2
- package/src/models/components/expand.ts +1 -0
- package/src/models/components/fhirconfig.ts +20 -0
- package/src/models/components/fhirconfigcreate.ts +22 -0
- package/src/models/components/fhirextraentities.ts +20 -0
- package/src/models/components/vendorcredentialsummary.ts +19 -0
- package/src/models/operations/convertquote.ts +94 -0
- package/src/models/operations/createinvoice.ts +124 -0
- package/src/models/operations/index.ts +1 -0
- package/src/models/operations/listcompanymanagers.ts +28 -0
- package/src/models/operations/vendorsexport.ts +8 -1
- package/src/react-query/companiesListCompanyManagers.core.ts +4 -0
- package/src/react-query/companiesListCompanyManagers.ts +2 -0
- package/src/react-query/index.ts +1 -0
- package/src/react-query/invoicesConvertQuote.ts +124 -0
- package/src/react-query/vendorsGetVendorCredentialDetails.ts +2 -0
- package/src/react-query/vendorsVendorsExport.core.ts +2 -0
- package/src/react-query/vendorsVendorsExport.ts +10 -2
- package/src/sdk/invoices.ts +31 -0
- package/src/sdk/vendors.ts +5 -1
|
@@ -0,0 +1,190 @@
|
|
|
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
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Convert a quote into an invoice
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Converts a quote into the real invoice its caller will be charged for, and
|
|
34
|
+
* returns the new invoice with its calculated totals. Any `VendorCredential`
|
|
35
|
+
* linked to the quote is re-pointed at the new invoice.
|
|
36
|
+
*
|
|
37
|
+
* The operation is idempotent: converting a quote that has already been
|
|
38
|
+
* processed returns the invoice previously created from it rather than
|
|
39
|
+
* creating a second one, so a retried request is safe.
|
|
40
|
+
*
|
|
41
|
+
* The referenced invoice must actually be a quote — a non-quote invoice id
|
|
42
|
+
* responds `400`. Requires a caller whose access scope permits creating
|
|
43
|
+
* invoices; a caller allowed to create the invoice but not to update the
|
|
44
|
+
* linked `VendorCredential` responds `401`.
|
|
45
|
+
*
|
|
46
|
+
* Takes no request body.
|
|
47
|
+
*
|
|
48
|
+
* If set, this operation will use {@link Security.bearerJwt} from the global security.
|
|
49
|
+
*/
|
|
50
|
+
export function invoicesConvertQuote(
|
|
51
|
+
client: GreenSecurityCore,
|
|
52
|
+
request: operations.ConvertQuoteRequest,
|
|
53
|
+
options?: RequestOptions,
|
|
54
|
+
): APIPromise<
|
|
55
|
+
Result<
|
|
56
|
+
operations.ConvertQuoteConvertQuoteOk,
|
|
57
|
+
| errors.ApiErrorResponse
|
|
58
|
+
| GreenSecurityError
|
|
59
|
+
| ResponseValidationError
|
|
60
|
+
| ConnectionError
|
|
61
|
+
| RequestAbortedError
|
|
62
|
+
| RequestTimeoutError
|
|
63
|
+
| InvalidRequestError
|
|
64
|
+
| UnexpectedClientError
|
|
65
|
+
| SDKValidationError
|
|
66
|
+
>
|
|
67
|
+
> {
|
|
68
|
+
return new APIPromise($do(
|
|
69
|
+
client,
|
|
70
|
+
request,
|
|
71
|
+
options,
|
|
72
|
+
));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function $do(
|
|
76
|
+
client: GreenSecurityCore,
|
|
77
|
+
request: operations.ConvertQuoteRequest,
|
|
78
|
+
options?: RequestOptions,
|
|
79
|
+
): Promise<
|
|
80
|
+
[
|
|
81
|
+
Result<
|
|
82
|
+
operations.ConvertQuoteConvertQuoteOk,
|
|
83
|
+
| errors.ApiErrorResponse
|
|
84
|
+
| GreenSecurityError
|
|
85
|
+
| ResponseValidationError
|
|
86
|
+
| ConnectionError
|
|
87
|
+
| RequestAbortedError
|
|
88
|
+
| RequestTimeoutError
|
|
89
|
+
| InvalidRequestError
|
|
90
|
+
| UnexpectedClientError
|
|
91
|
+
| SDKValidationError
|
|
92
|
+
>,
|
|
93
|
+
APICall,
|
|
94
|
+
]
|
|
95
|
+
> {
|
|
96
|
+
const parsed = safeParse(
|
|
97
|
+
request,
|
|
98
|
+
(value) => operations.ConvertQuoteRequest$outboundSchema.parse(value),
|
|
99
|
+
"Input validation failed",
|
|
100
|
+
);
|
|
101
|
+
if (!parsed.ok) {
|
|
102
|
+
return [parsed, { status: "invalid" }];
|
|
103
|
+
}
|
|
104
|
+
const payload = parsed.value;
|
|
105
|
+
const body = null;
|
|
106
|
+
|
|
107
|
+
const pathParams = {
|
|
108
|
+
id: encodeSimple("id", payload.id, {
|
|
109
|
+
explode: false,
|
|
110
|
+
charEncoding: "percent",
|
|
111
|
+
}),
|
|
112
|
+
};
|
|
113
|
+
const path = pathToFunc("/invoices/{id}/convert")(pathParams);
|
|
114
|
+
|
|
115
|
+
const headers = new Headers(compactMap({
|
|
116
|
+
Accept: "application/json",
|
|
117
|
+
}));
|
|
118
|
+
|
|
119
|
+
const securityInput = await extractSecurity(client._options.security);
|
|
120
|
+
const requestSecurity = resolveGlobalSecurity(securityInput, [1]);
|
|
121
|
+
|
|
122
|
+
const context = {
|
|
123
|
+
options: client._options,
|
|
124
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
125
|
+
operationID: "convertQuote",
|
|
126
|
+
oAuth2Scopes: null,
|
|
127
|
+
|
|
128
|
+
resolvedSecurity: requestSecurity,
|
|
129
|
+
|
|
130
|
+
securitySource: client._options.security,
|
|
131
|
+
retryConfig: options?.retries
|
|
132
|
+
|| client._options.retryConfig
|
|
133
|
+
|| { strategy: "none" },
|
|
134
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
const requestRes = client._createRequest(context, {
|
|
138
|
+
security: requestSecurity,
|
|
139
|
+
method: "POST",
|
|
140
|
+
baseURL: options?.serverURL,
|
|
141
|
+
path: path,
|
|
142
|
+
headers: headers,
|
|
143
|
+
body: body,
|
|
144
|
+
userAgent: client._options.userAgent,
|
|
145
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
146
|
+
}, options);
|
|
147
|
+
if (!requestRes.ok) {
|
|
148
|
+
return [requestRes, { status: "invalid" }];
|
|
149
|
+
}
|
|
150
|
+
const req = requestRes.value;
|
|
151
|
+
|
|
152
|
+
const doResult = await client._do(req, {
|
|
153
|
+
context,
|
|
154
|
+
isErrorStatusCode: (statusCode: number) =>
|
|
155
|
+
matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
|
|
156
|
+
retryConfig: context.retryConfig,
|
|
157
|
+
retryCodes: context.retryCodes,
|
|
158
|
+
});
|
|
159
|
+
if (!doResult.ok) {
|
|
160
|
+
return [doResult, { status: "request-error", request: req }];
|
|
161
|
+
}
|
|
162
|
+
const response = doResult.value;
|
|
163
|
+
|
|
164
|
+
const responseFields = {
|
|
165
|
+
HttpMeta: { Response: response, Request: req },
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
const [result] = await M.match<
|
|
169
|
+
operations.ConvertQuoteConvertQuoteOk,
|
|
170
|
+
| errors.ApiErrorResponse
|
|
171
|
+
| GreenSecurityError
|
|
172
|
+
| ResponseValidationError
|
|
173
|
+
| ConnectionError
|
|
174
|
+
| RequestAbortedError
|
|
175
|
+
| RequestTimeoutError
|
|
176
|
+
| InvalidRequestError
|
|
177
|
+
| UnexpectedClientError
|
|
178
|
+
| SDKValidationError
|
|
179
|
+
>(
|
|
180
|
+
M.json(200, operations.ConvertQuoteConvertQuoteOk$inboundSchema),
|
|
181
|
+
M.jsonErr([400, 401, 403, 404], errors.ApiErrorResponse$inboundSchema),
|
|
182
|
+
M.fail("4XX"),
|
|
183
|
+
M.fail([500, "5XX"]),
|
|
184
|
+
)(response, req, { extraFields: responseFields });
|
|
185
|
+
if (!result.ok) {
|
|
186
|
+
return [result, { status: "complete", request: req, response }];
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return [result, { status: "complete", request: req, response }];
|
|
190
|
+
}
|
|
@@ -186,6 +186,7 @@ async function $do(
|
|
|
186
186
|
M.json(200, operations.PostAuthenticateResponse$inboundSchema),
|
|
187
187
|
M.json(202, operations.PostAuthenticateResponse$inboundSchema),
|
|
188
188
|
M.jsonErr([400, 401, 403, 404], errors.ApiErrorResponse$inboundSchema),
|
|
189
|
+
M.jsonErr(503, errors.ApiErrorResponse$inboundSchema),
|
|
189
190
|
M.fail("4XX"),
|
|
190
191
|
M.fail([500, "5XX"]),
|
|
191
192
|
)(response, req, { extraFields: responseFields });
|
|
@@ -36,6 +36,7 @@ import { Result } from "../types/fp.js";
|
|
|
36
36
|
* - vendor_credential.credential
|
|
37
37
|
* - vendor_credential.vendor
|
|
38
38
|
* - vendor_credential.invoice
|
|
39
|
+
* - vendor_credential.quote
|
|
39
40
|
* - vendor_credential.vendor_credential_files
|
|
40
41
|
* - vendor_credential.latest_vendor_credential_id
|
|
41
42
|
* - vendor_credential.previously_approved
|
|
@@ -32,7 +32,10 @@ import { Result } from "../types/fp.js";
|
|
|
32
32
|
*
|
|
33
33
|
* @remarks
|
|
34
34
|
* Enqueues an asynchronous job to generate a CSV export of vendors based on the
|
|
35
|
-
* provided filters (the same filters supported by the vendors list endpoint)
|
|
35
|
+
* provided filters (the same filters supported by the vendors list endpoint), in the same
|
|
36
|
+
* credential-inclusive format as the portal's "Download Full Report" button - one column per
|
|
37
|
+
* applicable credential (status, due date, expiration), plus counts and percentage approved,
|
|
38
|
+
* alongside the vendor's identity, contact, and company details.
|
|
36
39
|
* Returns a `status_url` to poll until the export is ready, plus a
|
|
37
40
|
* `download_url` and `status_id`.
|
|
38
41
|
*
|
|
@@ -114,6 +117,8 @@ async function $do(
|
|
|
114
117
|
"desc": payload.desc,
|
|
115
118
|
"email_like": payload.email_like,
|
|
116
119
|
"expand": payload.expand,
|
|
120
|
+
"externally_managed_by_company_id":
|
|
121
|
+
payload.externally_managed_by_company_id,
|
|
117
122
|
"first_name_like": payload.first_name_like,
|
|
118
123
|
"full_name_like": payload.full_name_like,
|
|
119
124
|
"items_per_page": payload.items_per_page,
|
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.44.0",
|
|
83
|
-
sdkVersion: "0.45.0-beta.
|
|
84
|
-
genVersion: "2.
|
|
83
|
+
sdkVersion: "0.45.0-beta.10",
|
|
84
|
+
genVersion: "2.934.1",
|
|
85
85
|
userAgent:
|
|
86
|
-
"speakeasy-sdk/typescript 0.45.0-beta.
|
|
86
|
+
"speakeasy-sdk/typescript 0.45.0-beta.10 2.934.1 0.44.0 @greensecurity/javascript-sdk",
|
|
87
87
|
} as const;
|
package/src/lib/encodings.ts
CHANGED
|
@@ -12,10 +12,41 @@ export class EncodingError extends Error {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
export type CharEncoding = "percent" | "percentExceptReserved" | "none";
|
|
16
|
+
|
|
17
|
+
const reservedEscapes = /%(2[346bcf]|3[abdf]|40|5[bd])/gi;
|
|
18
|
+
|
|
19
|
+
function encodeKeyChars(
|
|
20
|
+
v: string,
|
|
21
|
+
charEncoding: CharEncoding | undefined,
|
|
22
|
+
): string {
|
|
23
|
+
return encodeChars(
|
|
24
|
+
v,
|
|
25
|
+
charEncoding === "percentExceptReserved" ? "percent" : charEncoding,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function encodeChars(
|
|
30
|
+
v: string,
|
|
31
|
+
charEncoding: CharEncoding | undefined,
|
|
32
|
+
): string {
|
|
33
|
+
switch (charEncoding) {
|
|
34
|
+
case "percent":
|
|
35
|
+
return encodeURIComponent(v);
|
|
36
|
+
case "percentExceptReserved":
|
|
37
|
+
return encodeURIComponent(v).replace(
|
|
38
|
+
reservedEscapes,
|
|
39
|
+
(m) => decodeURIComponent(m),
|
|
40
|
+
);
|
|
41
|
+
default:
|
|
42
|
+
return v;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
15
46
|
export function encodeMatrix(
|
|
16
47
|
key: string,
|
|
17
48
|
value: unknown,
|
|
18
|
-
options?: { explode?: boolean; charEncoding?:
|
|
49
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
19
50
|
): string | undefined {
|
|
20
51
|
let out = "";
|
|
21
52
|
const pairs: [string, unknown][] = options?.explode
|
|
@@ -27,7 +58,7 @@ export function encodeMatrix(
|
|
|
27
58
|
}
|
|
28
59
|
|
|
29
60
|
const encodeString = (v: string) => {
|
|
30
|
-
return options?.charEncoding
|
|
61
|
+
return encodeChars(v, options?.charEncoding);
|
|
31
62
|
};
|
|
32
63
|
const encodeValue = (v: unknown) => encodeString(serializeValue(v));
|
|
33
64
|
|
|
@@ -52,7 +83,7 @@ export function encodeMatrix(
|
|
|
52
83
|
return;
|
|
53
84
|
}
|
|
54
85
|
|
|
55
|
-
const keyPrefix =
|
|
86
|
+
const keyPrefix = encodeKeyChars(pk, options?.charEncoding);
|
|
56
87
|
tmp = `${keyPrefix}=${encValue}`;
|
|
57
88
|
// trim trailing '=' if value was empty
|
|
58
89
|
if (tmp === `${keyPrefix}=`) {
|
|
@@ -73,7 +104,7 @@ export function encodeMatrix(
|
|
|
73
104
|
export function encodeLabel(
|
|
74
105
|
key: string,
|
|
75
106
|
value: unknown,
|
|
76
|
-
options?: { explode?: boolean; charEncoding?:
|
|
107
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
77
108
|
): string | undefined {
|
|
78
109
|
let out = "";
|
|
79
110
|
const pairs: [string, unknown][] = options?.explode
|
|
@@ -85,7 +116,7 @@ export function encodeLabel(
|
|
|
85
116
|
}
|
|
86
117
|
|
|
87
118
|
const encodeString = (v: string) => {
|
|
88
|
-
return options?.charEncoding
|
|
119
|
+
return encodeChars(v, options?.charEncoding);
|
|
89
120
|
};
|
|
90
121
|
const encodeValue = (v: unknown) => encodeString(serializeValue(v));
|
|
91
122
|
|
|
@@ -103,7 +134,7 @@ export function encodeLabel(
|
|
|
103
134
|
encValue = mapped?.join("").slice(1);
|
|
104
135
|
} else {
|
|
105
136
|
const k = options?.explode && isPlainObject(value)
|
|
106
|
-
? `${
|
|
137
|
+
? `${encodeKeyChars(pk, options?.charEncoding)}=`
|
|
107
138
|
: "";
|
|
108
139
|
encValue = `${k}${encodeValue(pv)}`;
|
|
109
140
|
}
|
|
@@ -117,14 +148,14 @@ export function encodeLabel(
|
|
|
117
148
|
type FormEncoder = (
|
|
118
149
|
key: string,
|
|
119
150
|
value: unknown,
|
|
120
|
-
options?: { explode?: boolean; charEncoding?:
|
|
151
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
121
152
|
) => string | undefined;
|
|
122
153
|
|
|
123
154
|
function formEncoder(sep: string): FormEncoder {
|
|
124
155
|
return (
|
|
125
156
|
key: string,
|
|
126
157
|
value: unknown,
|
|
127
|
-
options?: { explode?: boolean; charEncoding?:
|
|
158
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
128
159
|
) => {
|
|
129
160
|
let out = "";
|
|
130
161
|
const pairs: [string, unknown][] = options?.explode
|
|
@@ -136,7 +167,7 @@ function formEncoder(sep: string): FormEncoder {
|
|
|
136
167
|
}
|
|
137
168
|
|
|
138
169
|
const encodeString = (v: string) => {
|
|
139
|
-
return options?.charEncoding
|
|
170
|
+
return encodeChars(v, options?.charEncoding);
|
|
140
171
|
};
|
|
141
172
|
|
|
142
173
|
const encodeValue = (v: unknown) => encodeString(serializeValue(v));
|
|
@@ -163,7 +194,7 @@ function formEncoder(sep: string): FormEncoder {
|
|
|
163
194
|
return;
|
|
164
195
|
}
|
|
165
196
|
|
|
166
|
-
tmp = `${
|
|
197
|
+
tmp = `${encodeKeyChars(pk, options?.charEncoding)}=${encValue}`;
|
|
167
198
|
|
|
168
199
|
// If we end up with the nothing then skip forward
|
|
169
200
|
if (!tmp || tmp === "=") {
|
|
@@ -184,7 +215,7 @@ export const encodePipeDelimited = formEncoder("|");
|
|
|
184
215
|
export function encodeBodyForm(
|
|
185
216
|
key: string,
|
|
186
217
|
value: unknown,
|
|
187
|
-
options?: { explode?: boolean; charEncoding?:
|
|
218
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
188
219
|
): string {
|
|
189
220
|
let out = "";
|
|
190
221
|
const pairs: [string, unknown][] = options?.explode
|
|
@@ -192,7 +223,7 @@ export function encodeBodyForm(
|
|
|
192
223
|
: [[key, value]];
|
|
193
224
|
|
|
194
225
|
const encodeString = (v: string) => {
|
|
195
|
-
return options?.charEncoding
|
|
226
|
+
return encodeChars(v, options?.charEncoding);
|
|
196
227
|
};
|
|
197
228
|
|
|
198
229
|
const encodeValue = (v: unknown) => encodeString(serializeValue(v));
|
|
@@ -211,7 +242,7 @@ export function encodeBodyForm(
|
|
|
211
242
|
encValue = `${encodeValue(pv)}`;
|
|
212
243
|
}
|
|
213
244
|
|
|
214
|
-
tmp = `${
|
|
245
|
+
tmp = `${encodeKeyChars(pk, options?.charEncoding)}=${encValue}`;
|
|
215
246
|
|
|
216
247
|
// If we end up with the nothing then skip forward
|
|
217
248
|
if (!tmp || tmp === "=") {
|
|
@@ -227,7 +258,7 @@ export function encodeBodyForm(
|
|
|
227
258
|
export function encodeDeepObject(
|
|
228
259
|
key: string,
|
|
229
260
|
value: unknown,
|
|
230
|
-
options?: { charEncoding?:
|
|
261
|
+
options?: { charEncoding?: CharEncoding },
|
|
231
262
|
): string | undefined {
|
|
232
263
|
if (value == null) {
|
|
233
264
|
return;
|
|
@@ -245,7 +276,7 @@ export function encodeDeepObject(
|
|
|
245
276
|
export function encodeDeepObjectObject(
|
|
246
277
|
key: string,
|
|
247
278
|
value: unknown,
|
|
248
|
-
options?: { charEncoding?:
|
|
279
|
+
options?: { charEncoding?: CharEncoding },
|
|
249
280
|
): string | undefined {
|
|
250
281
|
if (value == null) {
|
|
251
282
|
return;
|
|
@@ -254,7 +285,7 @@ export function encodeDeepObjectObject(
|
|
|
254
285
|
let out = "";
|
|
255
286
|
|
|
256
287
|
const encodeString = (v: string) => {
|
|
257
|
-
return options?.charEncoding
|
|
288
|
+
return encodeChars(v, options?.charEncoding);
|
|
258
289
|
};
|
|
259
290
|
|
|
260
291
|
if (!isPlainObject(value)) {
|
|
@@ -278,7 +309,9 @@ export function encodeDeepObjectObject(
|
|
|
278
309
|
|
|
279
310
|
const pairs: unknown[] = Array.isArray(cv) ? cv : [cv];
|
|
280
311
|
const encoded = mapDefined(pairs, (v) => {
|
|
281
|
-
return `${
|
|
312
|
+
return `${encodeKeyChars(pk, options?.charEncoding)}=${
|
|
313
|
+
encodeString(serializeValue(v))
|
|
314
|
+
}`;
|
|
282
315
|
})?.join("&");
|
|
283
316
|
|
|
284
317
|
out += encoded == null ? "" : `&${encoded}`;
|
|
@@ -290,25 +323,27 @@ export function encodeDeepObjectObject(
|
|
|
290
323
|
export function encodeJSON(
|
|
291
324
|
key: string,
|
|
292
325
|
value: unknown,
|
|
293
|
-
options?: { explode?: boolean; charEncoding?:
|
|
326
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
294
327
|
): string | undefined {
|
|
295
328
|
if (typeof value === "undefined") {
|
|
296
329
|
return;
|
|
297
330
|
}
|
|
298
331
|
|
|
299
332
|
const encodeString = (v: string) => {
|
|
300
|
-
return options?.charEncoding
|
|
333
|
+
return encodeChars(v, options?.charEncoding);
|
|
301
334
|
};
|
|
302
335
|
|
|
303
336
|
const encVal = encodeString(JSON.stringify(value, jsonReplacer));
|
|
304
337
|
|
|
305
|
-
return options?.explode
|
|
338
|
+
return options?.explode
|
|
339
|
+
? encVal
|
|
340
|
+
: `${encodeKeyChars(key, options?.charEncoding)}=${encVal}`;
|
|
306
341
|
}
|
|
307
342
|
|
|
308
343
|
export const encodeSimple = (
|
|
309
344
|
key: string,
|
|
310
345
|
value: unknown,
|
|
311
|
-
options?: { explode?: boolean; charEncoding?:
|
|
346
|
+
options?: { explode?: boolean; charEncoding?: CharEncoding },
|
|
312
347
|
): string | undefined => {
|
|
313
348
|
let out = "";
|
|
314
349
|
const pairs: [string, unknown][] = options?.explode
|
|
@@ -320,7 +355,7 @@ export const encodeSimple = (
|
|
|
320
355
|
}
|
|
321
356
|
|
|
322
357
|
const encodeString = (v: string) => {
|
|
323
|
-
return options?.charEncoding
|
|
358
|
+
return encodeChars(v, options?.charEncoding);
|
|
324
359
|
};
|
|
325
360
|
const encodeValue = (v: unknown) => encodeString(serializeValue(v));
|
|
326
361
|
|
|
@@ -426,7 +461,7 @@ export function queryJoin(...args: (string | undefined)[]): string {
|
|
|
426
461
|
|
|
427
462
|
type QueryEncoderOptions = {
|
|
428
463
|
explode?: boolean;
|
|
429
|
-
charEncoding?:
|
|
464
|
+
charEncoding?: CharEncoding;
|
|
430
465
|
allowEmptyValue?: string[];
|
|
431
466
|
};
|
|
432
467
|
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
import * as z from "zod/v3";
|
|
6
6
|
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
7
|
import { safeParse } from "../../lib/schemas.js";
|
|
8
|
+
import * as openEnums from "../../types/enums.js";
|
|
9
|
+
import { OpenEnum } from "../../types/enums.js";
|
|
8
10
|
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
9
11
|
import * as types from "../../types/primitives.js";
|
|
10
12
|
import { smartUnion } from "../../types/smartUnion.js";
|
|
@@ -17,6 +19,19 @@ import {
|
|
|
17
19
|
} from "./paymentprofile.js";
|
|
18
20
|
import { UserLocation, UserLocation$inboundSchema } from "./userlocation.js";
|
|
19
21
|
|
|
22
|
+
/**
|
|
23
|
+
* The manager's status on the company.
|
|
24
|
+
*/
|
|
25
|
+
export const CompanyManagerStatus = {
|
|
26
|
+
Active: "Active",
|
|
27
|
+
Inactive: "Inactive",
|
|
28
|
+
Deleted: "Deleted",
|
|
29
|
+
} as const;
|
|
30
|
+
/**
|
|
31
|
+
* The manager's status on the company.
|
|
32
|
+
*/
|
|
33
|
+
export type CompanyManagerStatus = OpenEnum<typeof CompanyManagerStatus>;
|
|
34
|
+
|
|
20
35
|
export type User1 = {
|
|
21
36
|
id?: number | undefined;
|
|
22
37
|
firstName?: string | null | undefined;
|
|
@@ -46,12 +61,22 @@ export type CompanyManagerPaymentProfile = PaymentProfile | number;
|
|
|
46
61
|
|
|
47
62
|
export type CompanyManager = {
|
|
48
63
|
id?: number | undefined;
|
|
49
|
-
|
|
64
|
+
/**
|
|
65
|
+
* The manager's status on the company.
|
|
66
|
+
*/
|
|
67
|
+
status?: CompanyManagerStatus | null | undefined;
|
|
50
68
|
user?: User1 | number | undefined;
|
|
51
69
|
company?: Company | number | null | undefined;
|
|
52
70
|
paymentProfile?: PaymentProfile | number | null | undefined;
|
|
53
71
|
};
|
|
54
72
|
|
|
73
|
+
/** @internal */
|
|
74
|
+
export const CompanyManagerStatus$inboundSchema: z.ZodType<
|
|
75
|
+
CompanyManagerStatus,
|
|
76
|
+
z.ZodTypeDef,
|
|
77
|
+
unknown
|
|
78
|
+
> = openEnums.inboundSchema(CompanyManagerStatus);
|
|
79
|
+
|
|
55
80
|
/** @internal */
|
|
56
81
|
export const User1$inboundSchema: z.ZodType<User1, z.ZodTypeDef, unknown> = z
|
|
57
82
|
.object({
|
|
@@ -146,7 +171,7 @@ export const CompanyManager$inboundSchema: z.ZodType<
|
|
|
146
171
|
unknown
|
|
147
172
|
> = z.object({
|
|
148
173
|
id: types.optional(types.number()),
|
|
149
|
-
status: z.nullable(
|
|
174
|
+
status: z.nullable(CompanyManagerStatus$inboundSchema).optional(),
|
|
150
175
|
user: types.optional(
|
|
151
176
|
smartUnion([z.lazy(() => User1$inboundSchema), types.number()]),
|
|
152
177
|
),
|
|
@@ -71,6 +71,7 @@ export const Expand = {
|
|
|
71
71
|
VendorCredentialCredential: "vendor_credential.credential",
|
|
72
72
|
VendorCredentialVendor: "vendor_credential.vendor",
|
|
73
73
|
VendorCredentialInvoice: "vendor_credential.invoice",
|
|
74
|
+
VendorCredentialQuote: "vendor_credential.quote",
|
|
74
75
|
VendorCredentialVendorCredentialFiles:
|
|
75
76
|
"vendor_credential.vendor_credential_files",
|
|
76
77
|
VendorCredentialLatestVendorCredentialId:
|
|
@@ -131,6 +131,22 @@ export type FhirConfig = {
|
|
|
131
131
|
* See [JMESPath](https://jmespath.org/)
|
|
132
132
|
*/
|
|
133
133
|
projection: string;
|
|
134
|
+
/**
|
|
135
|
+
* A JMESPath that decides whether a patient should be hidden (VIP, confidential, anonymized). When set it replaces the built-in checks, so a facility can describe its own rule instead of relying on the defaults. Some sites carry the anonymized marker on the encounter rather than the patient extension, which the built-ins do not look at.
|
|
136
|
+
*
|
|
137
|
+
* @remarks
|
|
138
|
+
*
|
|
139
|
+
* See [JMESPath](https://jmespath.org/)
|
|
140
|
+
*/
|
|
141
|
+
restrictionFilter?: string | null | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* A JMESPath that maps `{ patient, flags, encounter }` to the standard `{ isAnonymized, hasVipFlag }` shape. Takes precedence over restriction_filter, and covers the HL7 path as well as FHIR. Leave empty to fall back to restriction_filter or the built-in checks.
|
|
144
|
+
*
|
|
145
|
+
* @remarks
|
|
146
|
+
*
|
|
147
|
+
* See [JMESPath](https://jmespath.org/)
|
|
148
|
+
*/
|
|
149
|
+
restrictionProjection?: string | null | undefined;
|
|
134
150
|
/**
|
|
135
151
|
* Whether to automatically create Room records for unmapped FHIR encounter locations
|
|
136
152
|
*/
|
|
@@ -273,6 +289,8 @@ export const FhirConfig$inboundSchema: z.ZodType<
|
|
|
273
289
|
notes: types.optional(types.string()),
|
|
274
290
|
entities: FhirExtraEntities$inboundSchema,
|
|
275
291
|
projection: types.string(),
|
|
292
|
+
restriction_filter: z.nullable(types.string()).optional(),
|
|
293
|
+
restriction_projection: z.nullable(types.string()).optional(),
|
|
276
294
|
auto_create_rooms: types.boolean().default(false),
|
|
277
295
|
room_creation_jmespath: types.optional(types.string()),
|
|
278
296
|
}).transform((v) => {
|
|
@@ -281,6 +299,8 @@ export const FhirConfig$inboundSchema: z.ZodType<
|
|
|
281
299
|
"non_production_profile": "nonProductionProfile",
|
|
282
300
|
"applies_to": "appliesTo",
|
|
283
301
|
"active_profile": "activeProfile",
|
|
302
|
+
"restriction_filter": "restrictionFilter",
|
|
303
|
+
"restriction_projection": "restrictionProjection",
|
|
284
304
|
"auto_create_rooms": "autoCreateRooms",
|
|
285
305
|
"room_creation_jmespath": "roomCreationJmespath",
|
|
286
306
|
});
|
|
@@ -47,6 +47,22 @@ export type FhirConfigCreate = {
|
|
|
47
47
|
*/
|
|
48
48
|
entities: FhirExtraEntities;
|
|
49
49
|
projection?: string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* A JMESPath that decides whether a patient should be hidden (VIP, confidential, anonymized). When set it replaces the built-in checks, so a facility can describe its own rule instead of relying on the defaults. Some sites carry the anonymized marker on the encounter rather than the patient extension, which the built-ins do not look at.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
*
|
|
55
|
+
* See [JMESPath](https://jmespath.org/)
|
|
56
|
+
*/
|
|
57
|
+
restrictionFilter?: string | null | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* A JMESPath that maps `{ patient, flags, encounter }` to the standard `{ isAnonymized, hasVipFlag }` shape. Takes precedence over restriction_filter, and covers the HL7 path as well as FHIR. Leave empty to fall back to restriction_filter or the built-in checks.
|
|
60
|
+
*
|
|
61
|
+
* @remarks
|
|
62
|
+
*
|
|
63
|
+
* See [JMESPath](https://jmespath.org/)
|
|
64
|
+
*/
|
|
65
|
+
restrictionProjection?: string | null | undefined;
|
|
50
66
|
};
|
|
51
67
|
|
|
52
68
|
/** @internal */
|
|
@@ -173,6 +189,8 @@ export type FhirConfigCreate$Outbound = {
|
|
|
173
189
|
notes?: string | undefined;
|
|
174
190
|
entities: FhirExtraEntities$Outbound;
|
|
175
191
|
projection?: string | undefined;
|
|
192
|
+
restriction_filter?: string | null | undefined;
|
|
193
|
+
restriction_projection?: string | null | undefined;
|
|
176
194
|
};
|
|
177
195
|
|
|
178
196
|
/** @internal */
|
|
@@ -192,12 +210,16 @@ export const FhirConfigCreate$outboundSchema: z.ZodType<
|
|
|
192
210
|
notes: z.string().optional(),
|
|
193
211
|
entities: FhirExtraEntities$outboundSchema,
|
|
194
212
|
projection: z.string().optional(),
|
|
213
|
+
restrictionFilter: z.nullable(z.string()).optional(),
|
|
214
|
+
restrictionProjection: z.nullable(z.string()).optional(),
|
|
195
215
|
}).transform((v) => {
|
|
196
216
|
return remap$(v, {
|
|
197
217
|
productionProfile: "production_profile",
|
|
198
218
|
nonProductionProfile: "non_production_profile",
|
|
199
219
|
appliesTo: "applies_to",
|
|
200
220
|
activeProfile: "active_profile",
|
|
221
|
+
restrictionFilter: "restriction_filter",
|
|
222
|
+
restrictionProjection: "restriction_projection",
|
|
201
223
|
});
|
|
202
224
|
});
|
|
203
225
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import * as z from "zod/v3";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
6
7
|
import { safeParse } from "../../lib/schemas.js";
|
|
7
8
|
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
8
9
|
import * as types from "../../types/primitives.js";
|
|
@@ -14,6 +15,14 @@ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
|
|
|
14
15
|
export type FhirExtraEntities = {
|
|
15
16
|
flags?: boolean | undefined;
|
|
16
17
|
consents?: boolean | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Which Flag category a patient lookup should scope its search to. Epic refuses a Flag search that names no category, so a facility on Epic should set this or the search comes back rejected and the patient looks like they have no flags. Cerner and other servers allow a broad search and can leave it empty.
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
*
|
|
23
|
+
* Leave empty to let the client decide.
|
|
24
|
+
*/
|
|
25
|
+
flagCategory?: string | null | undefined;
|
|
17
26
|
};
|
|
18
27
|
|
|
19
28
|
/** @internal */
|
|
@@ -24,11 +33,17 @@ export const FhirExtraEntities$inboundSchema: z.ZodType<
|
|
|
24
33
|
> = z.object({
|
|
25
34
|
flags: types.optional(types.boolean()),
|
|
26
35
|
consents: types.optional(types.boolean()),
|
|
36
|
+
flag_category: z.nullable(types.string()).optional(),
|
|
37
|
+
}).transform((v) => {
|
|
38
|
+
return remap$(v, {
|
|
39
|
+
"flag_category": "flagCategory",
|
|
40
|
+
});
|
|
27
41
|
});
|
|
28
42
|
/** @internal */
|
|
29
43
|
export type FhirExtraEntities$Outbound = {
|
|
30
44
|
flags?: boolean | undefined;
|
|
31
45
|
consents?: boolean | undefined;
|
|
46
|
+
flag_category?: string | null | undefined;
|
|
32
47
|
};
|
|
33
48
|
|
|
34
49
|
/** @internal */
|
|
@@ -39,6 +54,11 @@ export const FhirExtraEntities$outboundSchema: z.ZodType<
|
|
|
39
54
|
> = z.object({
|
|
40
55
|
flags: z.boolean().optional(),
|
|
41
56
|
consents: z.boolean().optional(),
|
|
57
|
+
flagCategory: z.nullable(z.string()).optional(),
|
|
58
|
+
}).transform((v) => {
|
|
59
|
+
return remap$(v, {
|
|
60
|
+
flagCategory: "flag_category",
|
|
61
|
+
});
|
|
42
62
|
});
|
|
43
63
|
|
|
44
64
|
export function fhirExtraEntitiesToJSON(
|