@vitable-inc/vitable-connect 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -0
- package/LICENSE +201 -0
- package/README.md +400 -0
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +225 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +225 -0
- package/client.d.ts.map +1 -0
- package/client.js +509 -0
- package/client.js.map +1 -0
- package/client.mjs +505 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +60 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +60 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +101 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +95 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +7 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +7 -0
- package/index.d.ts.map +1 -0
- package/index.js +32 -0
- package/index.js.map +1 -0
- package/index.mjs +8 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/query.d.mts +5 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +5 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +23 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +20 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +8 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +8 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +12 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +9 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +168 -0
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/auth.d.mts +92 -0
- package/resources/auth.d.mts.map +1 -0
- package/resources/auth.d.ts +92 -0
- package/resources/auth.d.ts.map +1 -0
- package/resources/auth.js +27 -0
- package/resources/auth.js.map +1 -0
- package/resources/auth.mjs +23 -0
- package/resources/auth.mjs.map +1 -0
- package/resources/benefit-eligibility-policies.d.mts +31 -0
- package/resources/benefit-eligibility-policies.d.mts.map +1 -0
- package/resources/benefit-eligibility-policies.d.ts +31 -0
- package/resources/benefit-eligibility-policies.d.ts.map +1 -0
- package/resources/benefit-eligibility-policies.js +19 -0
- package/resources/benefit-eligibility-policies.js.map +1 -0
- package/resources/benefit-eligibility-policies.mjs +15 -0
- package/resources/benefit-eligibility-policies.mjs.map +1 -0
- package/resources/employees.d.mts +184 -0
- package/resources/employees.d.mts.map +1 -0
- package/resources/employees.d.ts +184 -0
- package/resources/employees.d.ts.map +1 -0
- package/resources/employees.js +24 -0
- package/resources/employees.js.map +1 -0
- package/resources/employees.mjs +20 -0
- package/resources/employees.mjs.map +1 -0
- package/resources/employers.d.mts +412 -0
- package/resources/employers.d.mts.map +1 -0
- package/resources/employers.d.ts +412 -0
- package/resources/employers.d.ts.map +1 -0
- package/resources/employers.js +144 -0
- package/resources/employers.js.map +1 -0
- package/resources/employers.mjs +140 -0
- package/resources/employers.mjs.map +1 -0
- package/resources/enrollments.d.mts +128 -0
- package/resources/enrollments.d.mts.map +1 -0
- package/resources/enrollments.d.ts +128 -0
- package/resources/enrollments.d.ts.map +1 -0
- package/resources/enrollments.js +19 -0
- package/resources/enrollments.js.map +1 -0
- package/resources/enrollments.mjs +15 -0
- package/resources/enrollments.mjs.map +1 -0
- package/resources/index.d.mts +7 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +7 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +17 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +8 -0
- package/resources/index.mjs.map +1 -0
- package/resources/webhook-events.d.mts +132 -0
- package/resources/webhook-events.d.mts.map +1 -0
- package/resources/webhook-events.d.ts +132 -0
- package/resources/webhook-events.d.ts.map +1 -0
- package/resources/webhook-events.js +33 -0
- package/resources/webhook-events.js.map +1 -0
- package/resources/webhook-events.mjs +29 -0
- package/resources/webhook-events.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +893 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/pagination.ts +166 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +23 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +56 -0
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/query.ts +23 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +9 -0
- package/src/lib/.keep +4 -0
- package/src/pagination.ts +2 -0
- package/src/resource.ts +2 -0
- package/src/resources/auth.ts +115 -0
- package/src/resources/benefit-eligibility-policies.ts +48 -0
- package/src/resources/employees.ts +247 -0
- package/src/resources/employers.ts +581 -0
- package/src/resources/enrollments.ts +173 -0
- package/src/resources/index.ts +44 -0
- package/src/resources/webhook-events.ts +187 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { VitableConnectError } from '../../core/error';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Percent-encode everything that isn't safe to have in a path without encoding safe chars.
|
|
5
|
+
*
|
|
6
|
+
* Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
|
|
7
|
+
* > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
|
8
|
+
* > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
|
|
9
|
+
* > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
|
10
|
+
*/
|
|
11
|
+
export function encodeURIPath(str: string) {
|
|
12
|
+
return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
16
|
+
|
|
17
|
+
export const createPathTagFunction = (pathEncoder = encodeURIPath) =>
|
|
18
|
+
function path(statics: readonly string[], ...params: readonly unknown[]): string {
|
|
19
|
+
// If there are no params, no processing is needed.
|
|
20
|
+
if (statics.length === 1) return statics[0]!;
|
|
21
|
+
|
|
22
|
+
let postPath = false;
|
|
23
|
+
const invalidSegments = [];
|
|
24
|
+
const path = statics.reduce((previousValue, currentValue, index) => {
|
|
25
|
+
if (/[?#]/.test(currentValue)) {
|
|
26
|
+
postPath = true;
|
|
27
|
+
}
|
|
28
|
+
const value = params[index];
|
|
29
|
+
let encoded = (postPath ? encodeURIComponent : pathEncoder)('' + value);
|
|
30
|
+
if (
|
|
31
|
+
index !== params.length &&
|
|
32
|
+
(value == null ||
|
|
33
|
+
(typeof value === 'object' &&
|
|
34
|
+
// handle values from other realms
|
|
35
|
+
value.toString ===
|
|
36
|
+
Object.getPrototypeOf(Object.getPrototypeOf((value as any).hasOwnProperty ?? EMPTY) ?? EMPTY)
|
|
37
|
+
?.toString))
|
|
38
|
+
) {
|
|
39
|
+
encoded = value + '';
|
|
40
|
+
invalidSegments.push({
|
|
41
|
+
start: previousValue.length + currentValue.length,
|
|
42
|
+
length: encoded.length,
|
|
43
|
+
error: `Value of type ${Object.prototype.toString
|
|
44
|
+
.call(value)
|
|
45
|
+
.slice(8, -1)} is not a valid path parameter`,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return previousValue + currentValue + (index === params.length ? '' : encoded);
|
|
49
|
+
}, '');
|
|
50
|
+
|
|
51
|
+
const pathOnly = path.split(/[?#]/, 1)[0]!;
|
|
52
|
+
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
|
|
53
|
+
let match;
|
|
54
|
+
|
|
55
|
+
// Find all invalid segments
|
|
56
|
+
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
|
|
57
|
+
invalidSegments.push({
|
|
58
|
+
start: match.index,
|
|
59
|
+
length: match[0].length,
|
|
60
|
+
error: `Value "${match[0]}" can\'t be safely passed as a path parameter`,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
invalidSegments.sort((a, b) => a.start - b.start);
|
|
65
|
+
|
|
66
|
+
if (invalidSegments.length > 0) {
|
|
67
|
+
let lastEnd = 0;
|
|
68
|
+
const underline = invalidSegments.reduce((acc, segment) => {
|
|
69
|
+
const spaces = ' '.repeat(segment.start - lastEnd);
|
|
70
|
+
const arrows = '^'.repeat(segment.length);
|
|
71
|
+
lastEnd = segment.start + segment.length;
|
|
72
|
+
return acc + spaces + arrows;
|
|
73
|
+
}, '');
|
|
74
|
+
|
|
75
|
+
throw new VitableConnectError(
|
|
76
|
+
`Path parameters result in path with invalid segments:\n${invalidSegments
|
|
77
|
+
.map((e) => e.error)
|
|
78
|
+
.join('\n')}\n${path}\n${underline}`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return path;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
|
|
87
|
+
*/
|
|
88
|
+
export const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { VitableConnectError } from '../../core/error';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Basic re-implementation of `qs.stringify` for primitive types.
|
|
7
|
+
*/
|
|
8
|
+
export function stringifyQuery(query: object | Record<string, unknown>) {
|
|
9
|
+
return Object.entries(query)
|
|
10
|
+
.filter(([_, value]) => typeof value !== 'undefined')
|
|
11
|
+
.map(([key, value]) => {
|
|
12
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
13
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
14
|
+
}
|
|
15
|
+
if (value === null) {
|
|
16
|
+
return `${encodeURIComponent(key)}=`;
|
|
17
|
+
}
|
|
18
|
+
throw new VitableConnectError(
|
|
19
|
+
`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,
|
|
20
|
+
);
|
|
21
|
+
})
|
|
22
|
+
.join('&');
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* https://stackoverflow.com/a/2117523
|
|
5
|
+
*/
|
|
6
|
+
export let uuid4 = function () {
|
|
7
|
+
const { crypto } = globalThis as any;
|
|
8
|
+
if (crypto?.randomUUID) {
|
|
9
|
+
uuid4 = crypto.randomUUID.bind(crypto);
|
|
10
|
+
return crypto.randomUUID();
|
|
11
|
+
}
|
|
12
|
+
const u8 = new Uint8Array(1);
|
|
13
|
+
const randomByte = crypto ? () => crypto.getRandomValues(u8)[0]! : () => (Math.random() * 0xff) & 0xff;
|
|
14
|
+
return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
|
|
15
|
+
(+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16),
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { VitableConnectError } from '../../core/error';
|
|
4
|
+
|
|
5
|
+
// https://url.spec.whatwg.org/#url-scheme-string
|
|
6
|
+
const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
|
|
7
|
+
|
|
8
|
+
export const isAbsoluteURL = (url: string): boolean => {
|
|
9
|
+
return startsWithSchemeRegexp.test(url);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export let isArray = (val: unknown): val is unknown[] => ((isArray = Array.isArray), isArray(val));
|
|
13
|
+
export let isReadonlyArray = isArray as (val: unknown) => val is readonly unknown[];
|
|
14
|
+
|
|
15
|
+
/** Returns an object if the given value isn't an object, otherwise returns as-is */
|
|
16
|
+
export function maybeObj(x: unknown): object {
|
|
17
|
+
if (typeof x !== 'object') {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return x ?? {};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// https://stackoverflow.com/a/34491287
|
|
25
|
+
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
26
|
+
if (!obj) return true;
|
|
27
|
+
for (const _k in obj) return false;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
32
|
+
export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
|
|
33
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function isObj(obj: unknown): obj is Record<string, unknown> {
|
|
37
|
+
return obj != null && typeof obj === 'object' && !Array.isArray(obj);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
41
|
+
if (value == null) {
|
|
42
|
+
throw new VitableConnectError(`Expected a value to be given but received ${value} instead.`);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const validatePositiveInteger = (name: string, n: unknown): number => {
|
|
49
|
+
if (typeof n !== 'number' || !Number.isInteger(n)) {
|
|
50
|
+
throw new VitableConnectError(`${name} must be an integer`);
|
|
51
|
+
}
|
|
52
|
+
if (n < 0) {
|
|
53
|
+
throw new VitableConnectError(`${name} must be a positive integer`);
|
|
54
|
+
}
|
|
55
|
+
return n;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const coerceInteger = (value: unknown): number => {
|
|
59
|
+
if (typeof value === 'number') return Math.round(value);
|
|
60
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
61
|
+
|
|
62
|
+
throw new VitableConnectError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const coerceFloat = (value: unknown): number => {
|
|
66
|
+
if (typeof value === 'number') return value;
|
|
67
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
68
|
+
|
|
69
|
+
throw new VitableConnectError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export const coerceBoolean = (value: unknown): boolean => {
|
|
73
|
+
if (typeof value === 'boolean') return value;
|
|
74
|
+
if (typeof value === 'string') return value === 'true';
|
|
75
|
+
return Boolean(value);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const maybeCoerceInteger = (value: unknown): number | undefined => {
|
|
79
|
+
if (value == null) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return coerceInteger(value);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const maybeCoerceFloat = (value: unknown): number | undefined => {
|
|
86
|
+
if (value == null) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return coerceFloat(value);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return coerceBoolean(value);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const safeJSON = (text: string) => {
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(text);
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export * from './utils/values';
|
|
4
|
+
export * from './utils/base64';
|
|
5
|
+
export * from './utils/env';
|
|
6
|
+
export * from './utils/log';
|
|
7
|
+
export * from './utils/uuid';
|
|
8
|
+
export * from './utils/sleep';
|
|
9
|
+
export * from './utils/query';
|
package/src/lib/.keep
ADDED
package/src/resource.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import * as AuthAPI from './auth';
|
|
5
|
+
import { APIPromise } from '../core/api-promise';
|
|
6
|
+
import { RequestOptions } from '../internal/request-options';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Issue short-lived access tokens for scoped API access
|
|
10
|
+
*/
|
|
11
|
+
export class Auth extends APIResource {
|
|
12
|
+
/**
|
|
13
|
+
* Issues a short-lived access token from the authenticated API key. Access tokens
|
|
14
|
+
* can optionally be bound to a specific employer or employee for scoped access.
|
|
15
|
+
* Tokens expire after 15 minutes.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const response = await client.auth.issueAccessToken({
|
|
20
|
+
* grant_type: 'client_credentials',
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
issueAccessToken(
|
|
25
|
+
body: AuthIssueAccessTokenParams,
|
|
26
|
+
options?: RequestOptions,
|
|
27
|
+
): APIPromise<AuthIssueAccessTokenResponse> {
|
|
28
|
+
return this._client.post('/v1/auth/access-tokens', { body, ...options });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* - `employer` - employer
|
|
34
|
+
* - `employee` - employee
|
|
35
|
+
*/
|
|
36
|
+
export type Type = 'employer' | 'employee';
|
|
37
|
+
|
|
38
|
+
export interface AuthIssueAccessTokenResponse {
|
|
39
|
+
/**
|
|
40
|
+
* The issued access token (vit*at*\*)
|
|
41
|
+
*/
|
|
42
|
+
access_token: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Token lifetime in seconds
|
|
46
|
+
*/
|
|
47
|
+
expires_in: number;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Token type, always 'Bearer'
|
|
51
|
+
*/
|
|
52
|
+
token_type: string;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Entity the token is bound to, if any
|
|
56
|
+
*/
|
|
57
|
+
bound_entity?: AuthIssueAccessTokenResponse.BoundEntity | null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export namespace AuthIssueAccessTokenResponse {
|
|
61
|
+
/**
|
|
62
|
+
* Entity the token is bound to, if any
|
|
63
|
+
*/
|
|
64
|
+
export interface BoundEntity {
|
|
65
|
+
/**
|
|
66
|
+
* Prefixed entity ID the token is bound to (empr*\* or empl*\*)
|
|
67
|
+
*/
|
|
68
|
+
id: string;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* - `employer` - employer
|
|
72
|
+
* - `employee` - employee
|
|
73
|
+
*/
|
|
74
|
+
type: AuthAPI.Type;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface AuthIssueAccessTokenParams {
|
|
79
|
+
/**
|
|
80
|
+
* - `client_credentials` - client_credentials
|
|
81
|
+
*/
|
|
82
|
+
grant_type: 'client_credentials';
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Optional entity to bind the token to for scoped access
|
|
86
|
+
*/
|
|
87
|
+
bound_entity?: AuthIssueAccessTokenParams.BoundEntity | null;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export namespace AuthIssueAccessTokenParams {
|
|
91
|
+
/**
|
|
92
|
+
* Optional entity to bind the token to for scoped access
|
|
93
|
+
*/
|
|
94
|
+
export interface BoundEntity {
|
|
95
|
+
/**
|
|
96
|
+
* Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for
|
|
97
|
+
* employee)
|
|
98
|
+
*/
|
|
99
|
+
id: string;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* - `employer` - employer
|
|
103
|
+
* - `employee` - employee
|
|
104
|
+
*/
|
|
105
|
+
type: AuthAPI.Type;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export declare namespace Auth {
|
|
110
|
+
export {
|
|
111
|
+
type Type as Type,
|
|
112
|
+
type AuthIssueAccessTokenResponse as AuthIssueAccessTokenResponse,
|
|
113
|
+
type AuthIssueAccessTokenParams as AuthIssueAccessTokenParams,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import { APIPromise } from '../core/api-promise';
|
|
5
|
+
import { RequestOptions } from '../internal/request-options';
|
|
6
|
+
import { path } from '../internal/utils/path';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Define rules that determine which employees qualify for benefits
|
|
10
|
+
*/
|
|
11
|
+
export class BenefitEligibilityPolicies extends APIResource {
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves a benefit eligibility policy by ID.
|
|
14
|
+
*/
|
|
15
|
+
retrieve(policyID: string, options?: RequestOptions): APIPromise<BenefitEligibilityPolicyResponse> {
|
|
16
|
+
return this._client.get(path`/v1/benefit-eligibility-policies/${policyID}`, options);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface BenefitEligibilityPolicy {
|
|
21
|
+
id: string;
|
|
22
|
+
|
|
23
|
+
active: boolean;
|
|
24
|
+
|
|
25
|
+
classification: string;
|
|
26
|
+
|
|
27
|
+
created_at: string;
|
|
28
|
+
|
|
29
|
+
employer_id: string;
|
|
30
|
+
|
|
31
|
+
updated_at: string;
|
|
32
|
+
|
|
33
|
+
waiting_period: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Response containing a single benefit eligibility policy resource.
|
|
38
|
+
*/
|
|
39
|
+
export interface BenefitEligibilityPolicyResponse {
|
|
40
|
+
data: BenefitEligibilityPolicy;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export declare namespace BenefitEligibilityPolicies {
|
|
44
|
+
export {
|
|
45
|
+
type BenefitEligibilityPolicy as BenefitEligibilityPolicy,
|
|
46
|
+
type BenefitEligibilityPolicyResponse as BenefitEligibilityPolicyResponse,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import * as EnrollmentsAPI from './enrollments';
|
|
5
|
+
import { EnrollmentsPageNumberPage } from './enrollments';
|
|
6
|
+
import { APIPromise } from '../core/api-promise';
|
|
7
|
+
import { PageNumberPage, type PageNumberPageParams, PagePromise } from '../core/pagination';
|
|
8
|
+
import { RequestOptions } from '../internal/request-options';
|
|
9
|
+
import { path } from '../internal/utils/path';
|
|
10
|
+
|
|
11
|
+
export class Employees extends APIResource {
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves detailed information for a specific employee by ID. Returns employee
|
|
14
|
+
* details including personal information and employment status.
|
|
15
|
+
*/
|
|
16
|
+
retrieve(employeeID: string, options?: RequestOptions): APIPromise<EmployeeRetrieveResponse> {
|
|
17
|
+
return this._client.get(path`/v1/employees/${employeeID}`, options);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves a paginated list of benefit enrollments for an employee.
|
|
22
|
+
*/
|
|
23
|
+
listEnrollments(
|
|
24
|
+
employeeID: string,
|
|
25
|
+
query: EmployeeListEnrollmentsParams | null | undefined = {},
|
|
26
|
+
options?: RequestOptions,
|
|
27
|
+
): PagePromise<EnrollmentsPageNumberPage, EnrollmentsAPI.Enrollment> {
|
|
28
|
+
return this._client.getAPIList(
|
|
29
|
+
path`/v1/employees/${employeeID}/enrollments`,
|
|
30
|
+
PageNumberPage<EnrollmentsAPI.Enrollment>,
|
|
31
|
+
{ query, ...options },
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export type EmployeesPageNumberPage = PageNumberPage<Employee>;
|
|
37
|
+
|
|
38
|
+
export interface Employee {
|
|
39
|
+
/**
|
|
40
|
+
* Unique employee identifier with 'empl\_' prefix
|
|
41
|
+
*/
|
|
42
|
+
id: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Timestamp when the employee was created
|
|
46
|
+
*/
|
|
47
|
+
created_at: string;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Date of birth (YYYY-MM-DD)
|
|
51
|
+
*/
|
|
52
|
+
date_of_birth: string;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Email address
|
|
56
|
+
*/
|
|
57
|
+
email: string;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Benefit enrollments for this employee
|
|
61
|
+
*/
|
|
62
|
+
enrollments: Array<Employee.Enrollment>;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Employee's legal first name
|
|
66
|
+
*/
|
|
67
|
+
first_name: string;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Employee's legal last name
|
|
71
|
+
*/
|
|
72
|
+
last_name: string;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Unique member identifier with 'mbr\_' prefix
|
|
76
|
+
*/
|
|
77
|
+
member_id: string;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Employee status (active or terminated)
|
|
81
|
+
*/
|
|
82
|
+
status: string;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Timestamp when the employee was last updated
|
|
86
|
+
*/
|
|
87
|
+
updated_at: string;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Employee's residential address
|
|
91
|
+
*/
|
|
92
|
+
address?: Employee.Address | null;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* - `Full Time` - Full Time
|
|
96
|
+
* - `Part Time` - Part Time
|
|
97
|
+
* - `Temporary` - Temporary
|
|
98
|
+
* - `Intern` - Intern
|
|
99
|
+
* - `Seasonal` - Seasonal
|
|
100
|
+
* - `Individual Contractor` - Individual Contractor
|
|
101
|
+
*/
|
|
102
|
+
employee_class?: EmployeeClass | null;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Gender identity, if provided
|
|
106
|
+
*/
|
|
107
|
+
gender?: string | null;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Employee's hire date with the employer
|
|
111
|
+
*/
|
|
112
|
+
hire_date?: string | null;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Phone number (10-digit US domestic string)
|
|
116
|
+
*/
|
|
117
|
+
phone?: string | null;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Partner-assigned reference ID for the employee
|
|
121
|
+
*/
|
|
122
|
+
reference_id?: string | null;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Name suffix (e.g., Jr., Sr., III)
|
|
126
|
+
*/
|
|
127
|
+
suffix?: string | null;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Employee's termination date, if terminated
|
|
131
|
+
*/
|
|
132
|
+
termination_date?: string | null;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export namespace Employee {
|
|
136
|
+
export interface Enrollment {
|
|
137
|
+
/**
|
|
138
|
+
* Unique enrollment identifier with 'enrl\_' prefix
|
|
139
|
+
*/
|
|
140
|
+
id: string;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* - `pending` - Pending
|
|
144
|
+
* - `enrolled` - Enrolled
|
|
145
|
+
* - `waived` - Waived
|
|
146
|
+
* - `inactive` - Inactive
|
|
147
|
+
*/
|
|
148
|
+
status: EnrollmentsAPI.EnrollmentStatus;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Timestamp when the enrollment decision was made
|
|
152
|
+
*/
|
|
153
|
+
answered_at?: string | null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Employee's residential address
|
|
158
|
+
*/
|
|
159
|
+
export interface Address {
|
|
160
|
+
/**
|
|
161
|
+
* Primary street address
|
|
162
|
+
*/
|
|
163
|
+
address_line_1: string;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* City name
|
|
167
|
+
*/
|
|
168
|
+
city: string;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Two-letter state code (e.g., CA, NY)
|
|
172
|
+
*/
|
|
173
|
+
state: string;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* ZIP code (5 or 9 digit)
|
|
177
|
+
*/
|
|
178
|
+
zipcode: string;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Secondary street address (apt, suite, etc.)
|
|
182
|
+
*/
|
|
183
|
+
address_line_2?: string | null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* - `Full Time` - Full Time
|
|
189
|
+
* - `Part Time` - Part Time
|
|
190
|
+
* - `Temporary` - Temporary
|
|
191
|
+
* - `Intern` - Intern
|
|
192
|
+
* - `Seasonal` - Seasonal
|
|
193
|
+
* - `Individual Contractor` - Individual Contractor
|
|
194
|
+
*/
|
|
195
|
+
export type EmployeeClass =
|
|
196
|
+
| 'Full Time'
|
|
197
|
+
| 'Part Time'
|
|
198
|
+
| 'Temporary'
|
|
199
|
+
| 'Intern'
|
|
200
|
+
| 'Seasonal'
|
|
201
|
+
| 'Individual Contractor';
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Pagination metadata for list responses.
|
|
205
|
+
*/
|
|
206
|
+
export interface Pagination {
|
|
207
|
+
/**
|
|
208
|
+
* Items per page
|
|
209
|
+
*/
|
|
210
|
+
limit: number;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Current page number
|
|
214
|
+
*/
|
|
215
|
+
page: number;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Total number of items
|
|
219
|
+
*/
|
|
220
|
+
total: number;
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Total number of pages
|
|
224
|
+
*/
|
|
225
|
+
total_pages: number;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Response containing a single employee resource.
|
|
230
|
+
*/
|
|
231
|
+
export interface EmployeeRetrieveResponse {
|
|
232
|
+
data: Employee;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export interface EmployeeListEnrollmentsParams extends PageNumberPageParams {}
|
|
236
|
+
|
|
237
|
+
export declare namespace Employees {
|
|
238
|
+
export {
|
|
239
|
+
type Employee as Employee,
|
|
240
|
+
type EmployeeClass as EmployeeClass,
|
|
241
|
+
type Pagination as Pagination,
|
|
242
|
+
type EmployeeRetrieveResponse as EmployeeRetrieveResponse,
|
|
243
|
+
type EmployeeListEnrollmentsParams as EmployeeListEnrollmentsParams,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export { type EnrollmentsPageNumberPage };
|