@seamapi/nextlove-sdk-generator 1.5.6 → 1.5.7
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/lib/generate-php-sdk/generate-php-sdk.js +4 -4
- package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -1
- package/lib/generate-python-sdk/class-file.js +4 -4
- package/lib/generate-python-sdk/class-file.js.map +1 -1
- package/lib/generate-python-sdk/generate-python-sdk.js +3 -4
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +33 -14
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/ruby-client.d.ts +8 -2
- package/lib/generate-ruby-sdk/ruby-client.js +25 -6
- package/lib/generate-ruby-sdk/ruby-client.js.map +1 -1
- package/lib/generate-ruby-sdk/templates/.rspec.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/.rspec.template.js +4 -0
- package/lib/generate-ruby-sdk/templates/.rspec.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.js +2 -0
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.js +2 -2
- package/lib/generate-ruby-sdk/templates/client.rb.template.d.ts +1 -1
- package/lib/generate-ruby-sdk/templates/client.rb.template.js +60 -73
- package/lib/generate-ruby-sdk/templates/client.rb.template.js.map +1 -1
- package/lib/generate-ruby-sdk/templates/request.rb.template.js +1 -1
- package/lib/generate-ruby-sdk/templates/resource_error.rb.template.js +2 -0
- package/lib/generate-ruby-sdk/templates/resource_error.rb.template.js.map +1 -1
- package/lib/generate-ruby-sdk/templates/resource_warning.rb.template.js +2 -0
- package/lib/generate-ruby-sdk/templates/resource_warning.rb.template.js.map +1 -1
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.js +2 -2
- package/lib/generate-ruby-sdk/templates/snippets/action-attempt-helpers-template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/snippets/action-attempt-helpers-template.js +28 -0
- package/lib/generate-ruby-sdk/templates/snippets/action-attempt-helpers-template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.js +26 -7
- package/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.js.map +1 -1
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.js +29 -0
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.d.ts +2 -0
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.js +12 -0
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.js.map +1 -0
- package/lib/generate-ruby-sdk/templates/version.rb.template.js +1 -1
- package/lib/openapi/map-parent-to-children-resource.d.ts +2 -2
- package/lib/openapi/map-parent-to-children-resource.js +2 -2
- package/lib/openapi/map-parent-to-children-resource.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/generate-php-sdk/generate-php-sdk.ts +4 -4
- package/src/lib/generate-python-sdk/class-file.ts +4 -4
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +3 -4
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +47 -14
- package/src/lib/generate-ruby-sdk/ruby-client.ts +42 -7
- package/src/lib/generate-ruby-sdk/templates/.rspec.template.ts +3 -0
- package/src/lib/generate-ruby-sdk/templates/.ruby-version.template.ts +1 -0
- package/src/lib/generate-ruby-sdk/templates/base_resource.rb.template.ts +2 -2
- package/src/lib/generate-ruby-sdk/templates/client.rb.template.ts +62 -73
- package/src/lib/generate-ruby-sdk/templates/request.rb.template.ts +1 -1
- package/src/lib/generate-ruby-sdk/templates/resource_error.rb.template.ts +2 -0
- package/src/lib/generate-ruby-sdk/templates/resource_warning.rb.template.ts +2 -0
- package/src/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.ts +2 -2
- package/src/lib/generate-ruby-sdk/templates/snippets/action-attempt-helpers-template.ts +27 -0
- package/src/lib/generate-ruby-sdk/templates/snippets/resource.rb.template.ts +34 -9
- package/src/lib/generate-ruby-sdk/templates/spec_helper.rb.template.ts +28 -0
- package/src/lib/generate-ruby-sdk/templates/support-helpers.rb.template.ts +11 -0
- package/src/lib/generate-ruby-sdk/templates/version.rb.template.ts +1 -1
- package/src/lib/openapi/map-parent-to-children-resource.ts +2 -4
|
@@ -13,7 +13,7 @@ import gitignoreTemplate from "./templates/gitignore.template.js";
|
|
|
13
13
|
import envExampleTemplate from "./templates/env.example.template.js";
|
|
14
14
|
import testFixtureTemplate from "./templates/test-fixture.template.js";
|
|
15
15
|
import smokeTestTemplate from "./templates/smoke-test.template.js";
|
|
16
|
-
import
|
|
16
|
+
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
17
17
|
export const generatePhpSDK = async () => {
|
|
18
18
|
const openapi = await axios
|
|
19
19
|
.get("https://connect.getseam.com/openapi.json")
|
|
@@ -52,14 +52,14 @@ export const generatePhpSDK = async () => {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
const
|
|
55
|
+
const parent_to_child_resources_map = mapParentToChildResources(routes);
|
|
56
56
|
const clients = {};
|
|
57
57
|
const processClient = (resource_name) => {
|
|
58
|
-
const child_client_identifiers = (
|
|
58
|
+
const child_client_identifiers = (parent_to_child_resources_map[resource_name] ?? []).map((child_resource) => ({
|
|
59
59
|
client_name: pascalCase(`${resource_name} ${child_resource}`),
|
|
60
60
|
namespace: child_resource,
|
|
61
61
|
}));
|
|
62
|
-
const is_parent_client = Object.keys(
|
|
62
|
+
const is_parent_client = Object.keys(parent_to_child_resources_map).includes(resource_name);
|
|
63
63
|
const pascal_resource_name = pascalCase(resource_name);
|
|
64
64
|
clients[pascal_resource_name] = new PhpClient(pascal_resource_name, resource_name, is_parent_client, child_client_identifiers);
|
|
65
65
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAA4B,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA;AAClG,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AACxE,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,7 +106,7 @@ export class ClassFile {
|
|
|
106
106
|
if (is_return_resource_list) {
|
|
107
107
|
return_resource_item = return_resource.slice(5, -1);
|
|
108
108
|
}
|
|
109
|
-
const
|
|
109
|
+
const can_method_poll_action_attempt = !is_action_attempt_class &&
|
|
110
110
|
return_resource === "ActionAttempt" &&
|
|
111
111
|
!is_return_resource_list;
|
|
112
112
|
const is_none_return_type = return_resource_item === "None";
|
|
@@ -119,7 +119,7 @@ export class ClassFile {
|
|
|
119
119
|
.map(({ name, type, required }) => required
|
|
120
120
|
? `${name}: ${type}`
|
|
121
121
|
: `${name}: Optional[${type}] = None`)
|
|
122
|
-
.concat(
|
|
122
|
+
.concat(can_method_poll_action_attempt
|
|
123
123
|
? [
|
|
124
124
|
"wait_for_action_attempt: Union[bool, Dict[str, float]] = True",
|
|
125
125
|
]
|
|
@@ -135,7 +135,7 @@ export class ClassFile {
|
|
|
135
135
|
` json=json_payload`,
|
|
136
136
|
` )`,
|
|
137
137
|
"",
|
|
138
|
-
|
|
138
|
+
can_method_poll_action_attempt
|
|
139
139
|
? [
|
|
140
140
|
" if isinstance(wait_for_action_attempt, dict):",
|
|
141
141
|
` updated_action_attempt = self.seam.action_attempts.poll_until_ready(`,
|
|
@@ -154,7 +154,7 @@ export class ClassFile {
|
|
|
154
154
|
].join("\n")
|
|
155
155
|
: "",
|
|
156
156
|
"",
|
|
157
|
-
!
|
|
157
|
+
!can_method_poll_action_attempt
|
|
158
158
|
? is_none_return_type
|
|
159
159
|
? ` return None`
|
|
160
160
|
: is_return_resource_list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import reportErrorTemplate from "./templates/utils/report_error.py.template.js";
|
|
|
20
20
|
import getSentryDsnTemplate from "./templates/utils/get_sentry_dsn.py.template.js";
|
|
21
21
|
import SeamApiExceptionClassTemplate from "./templates/snippets/seam-api-exception-class.template.js";
|
|
22
22
|
import { getParameterAndResponseSchema } from "../../lib/openapi/get-parameter-and-response-schema.js";
|
|
23
|
-
import
|
|
23
|
+
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
24
24
|
import { deepFlattenOneOfAndAllOfSchema } from "../../lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.js";
|
|
25
25
|
import endpoints_returning_deprecated_action_attempt from "../../lib/endpoints-returning-deprecated-action-attempt.js";
|
|
26
26
|
export const generatePythonSDK = async () => {
|
|
@@ -34,9 +34,9 @@ export const generatePythonSDK = async () => {
|
|
|
34
34
|
const fs = {};
|
|
35
35
|
const class_map = {};
|
|
36
36
|
const namespaces = [];
|
|
37
|
-
const
|
|
37
|
+
const parent_to_child_resources_map = mapParentToChildResources(routes);
|
|
38
38
|
const processClass = (resource_name) => {
|
|
39
|
-
const child_class_identifiers = (
|
|
39
|
+
const child_class_identifiers = (parent_to_child_resources_map[resource_name] ?? []).map((child_resource) => ({
|
|
40
40
|
class_name: pascalCase(`${resource_name} ${child_resource}`),
|
|
41
41
|
namespace: child_resource,
|
|
42
42
|
}));
|
|
@@ -51,7 +51,6 @@ export const generatePythonSDK = async () => {
|
|
|
51
51
|
const group_names = [...route.post["x-fern-sdk-group-name"]];
|
|
52
52
|
const [base_resource] = group_names;
|
|
53
53
|
const namespace = group_names.join("_");
|
|
54
|
-
group_names.reverse();
|
|
55
54
|
const class_name = pascalCase(namespace);
|
|
56
55
|
if (!class_map[class_name]) {
|
|
57
56
|
namespaces.push(route.post["x-fern-sdk-group-name"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAC5D,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AACxE,OAAO,qBAAqB,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,wBAAwB,MAAM,iDAAiD,CAAA;AACtF,OAAO,sBAAsB,MAAM,kDAAkD,CAAA;AACrF,OAAO,oBAAoB,MAAM,gDAAgD,CAAA;AACjF,OAAO,yBAAyB,MAAM,qDAAqD,CAAA;AAC3F,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAC9D,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,gBAAgB,MAAM,qCAAqC,CAAA;AAClE,OAAO,mBAAmB,MAAM,+CAA+C,CAAA;AAC/E,OAAO,oBAAoB,MAAM,iDAAiD,CAAA;AAClF,OAAO,6BAA6B,MAAM,2DAA2D,CAAA;AACrG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,16 @@ import loggerRbTemplate from "./templates/logger.rb.template.js";
|
|
|
13
13
|
import clientRbTemplate from "./templates/client.rb.template.js";
|
|
14
14
|
import gemfileTemplate from "./templates/gemfile.template.js";
|
|
15
15
|
import seamapiGemspecTemplate from "./templates/seamapi.gemspec.template.js";
|
|
16
|
+
import rspecTemplate from "./templates/.rspec.template.js";
|
|
17
|
+
import rubyVersionTemplate from "./templates/.ruby-version.template.js";
|
|
18
|
+
import supportHelpersTemplate from "./templates/support-helpers.rb.template.js";
|
|
19
|
+
import specHelperTemplate from "./templates/spec_helper.rb.template.js";
|
|
16
20
|
import base_resourceRbTemplate from "./templates/base_resource.rb.template.js";
|
|
17
21
|
import resource_errorRbTemplate from "./templates/resource_error.rb.template.js";
|
|
18
22
|
import resource_warningRbTemplate from "./templates/resource_warning.rb.template.js";
|
|
19
23
|
import resource_errors_supportRbTemplate from "./templates/resource_errors_support.rb.template.js";
|
|
20
24
|
import resource_warnings_supportRbTemplate from "./templates/resource_warnings_support.rb.template.js";
|
|
25
|
+
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
21
26
|
export const generateRubySDK = async () => {
|
|
22
27
|
const openapi = await axios
|
|
23
28
|
.get("https://connect.getseam.com/openapi.json")
|
|
@@ -29,14 +34,16 @@ export const generateRubySDK = async () => {
|
|
|
29
34
|
const fs = {};
|
|
30
35
|
fs["README.md"] = readmeMdTemplate();
|
|
31
36
|
fs["Rakefile"] = rakefileTemplate();
|
|
32
|
-
fs["spec/spec_helper.rb"] =
|
|
37
|
+
fs["spec/spec_helper.rb"] = specHelperTemplate();
|
|
38
|
+
fs["spec/support/helpers.rb"] = supportHelpersTemplate();
|
|
33
39
|
fs["spec/smoketest.rb"] = "";
|
|
34
40
|
fs["Gemfile"] = gemfileTemplate();
|
|
35
41
|
fs["seamapi.gemspec"] = seamapiGemspecTemplate();
|
|
42
|
+
fs[".rspec"] = rspecTemplate();
|
|
43
|
+
fs[".ruby-version"] = rubyVersionTemplate();
|
|
36
44
|
fs["lib/seam/version.rb"] = versionRbTemplate();
|
|
37
45
|
fs["lib/seam/request.rb"] = requestRbTemplate();
|
|
38
46
|
fs["lib/seam/logger.rb"] = loggerRbTemplate();
|
|
39
|
-
fs["lib/seam/client.rb"] = clientRbTemplate();
|
|
40
47
|
fs["lib/seam/clients/base_client.rb"] = base_clientRbTemplate();
|
|
41
48
|
fs["lib/seam/resources/base_resource.rb"] = base_resourceRbTemplate();
|
|
42
49
|
fs["lib/seam/resources/resource_error.rb"] = resource_errorRbTemplate();
|
|
@@ -71,22 +78,36 @@ export const generateRubySDK = async () => {
|
|
|
71
78
|
seamapi_rb_requires.push(`seam/resources/${snake_name}`);
|
|
72
79
|
}
|
|
73
80
|
const clients = {};
|
|
81
|
+
const parent_to_child_resources_map = mapParentToChildResources(routes);
|
|
82
|
+
const processClient = (resource_name) => {
|
|
83
|
+
const child_class_identifiers = (parent_to_child_resources_map[resource_name] ?? []).map((child_resource) => ({
|
|
84
|
+
client_name: pascalCase(`${resource_name} ${child_resource}`),
|
|
85
|
+
namespace: child_resource,
|
|
86
|
+
}));
|
|
87
|
+
const pascal_resource_name = pascalCase(resource_name);
|
|
88
|
+
clients[pascal_resource_name] = new RubyClient(pascal_resource_name, resource_name, child_class_identifiers);
|
|
89
|
+
};
|
|
74
90
|
for (const route of routes) {
|
|
75
91
|
if (!route.post)
|
|
76
92
|
continue;
|
|
77
93
|
if (!route.post["x-fern-sdk-group-name"])
|
|
78
94
|
continue;
|
|
79
95
|
const group_names = [...route.post["x-fern-sdk-group-name"]];
|
|
96
|
+
const [base_resource] = group_names;
|
|
80
97
|
const namespace = group_names.join("_");
|
|
81
|
-
group_names.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
98
|
+
const client_name = pascalCase(group_names.join("_"));
|
|
99
|
+
if (!clients[client_name])
|
|
100
|
+
processClient(namespace);
|
|
101
|
+
/*
|
|
102
|
+
special case when we don't have routes for a base resource
|
|
103
|
+
and thus a respective x-fern-sdk-group-name for ex. /noise_sensors
|
|
104
|
+
*/
|
|
105
|
+
if (base_resource && !clients[pascalCase(base_resource)]) {
|
|
106
|
+
processClient(base_resource);
|
|
86
107
|
}
|
|
87
|
-
const client = clients[
|
|
108
|
+
const client = clients[client_name];
|
|
88
109
|
if (!client) {
|
|
89
|
-
console.warn(`No client for "${
|
|
110
|
+
console.warn(`No client for "${client_name}", skipping`);
|
|
90
111
|
continue;
|
|
91
112
|
}
|
|
92
113
|
const { parameter_schema, response_obj_type, response_arr_type } = getParameterAndResponseSchema(route);
|
|
@@ -94,10 +115,7 @@ export const generateRubySDK = async () => {
|
|
|
94
115
|
console.warn(`No parameter schema for "${route.path}", skipping`);
|
|
95
116
|
continue;
|
|
96
117
|
}
|
|
97
|
-
|
|
98
|
-
console.warn(`No response object/array ref for "${route.path}", skipping`);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
118
|
+
const return_resource = response_obj_type ?? response_arr_type;
|
|
101
119
|
client.addMethod({
|
|
102
120
|
method_name: route.post["x-fern-sdk-method-name"],
|
|
103
121
|
path: route.path,
|
|
@@ -112,13 +130,14 @@ export const generateRubySDK = async () => {
|
|
|
112
130
|
: undefined,
|
|
113
131
|
})),
|
|
114
132
|
return_path: route.post["x-fern-sdk-return-value"],
|
|
115
|
-
return_resource: pascalCase(
|
|
133
|
+
return_resource: return_resource ? pascalCase(return_resource) : null,
|
|
116
134
|
});
|
|
117
135
|
}
|
|
118
136
|
for (const client of Object.values(clients)) {
|
|
119
137
|
fs[`lib/seam/clients/${client.snake_name}.rb`] = client.serialize();
|
|
120
138
|
seamapi_rb_requires.push(`seam/clients/${client.snake_name}`);
|
|
121
139
|
}
|
|
140
|
+
fs["lib/seam/client.rb"] = clientRbTemplate(Object.keys(parent_to_child_resources_map));
|
|
122
141
|
fs["lib/seamapi.rb"] = [
|
|
123
142
|
`# frozen_string_literal: true`,
|
|
124
143
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,kBAAkB,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,qBAAqB,MAAM,wCAAwC,CAAA;AAC1E,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,gBAAgB,MAAM,kCAAkC,CAAA;AAC/D,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,eAAe,MAAM,iCAAiC,CAAA;AAC7D,OAAO,sBAAsB,MAAM,yCAAyC,CAAA;AAC5E,OAAO,uBAAuB,MAAM,0CAA0C,CAAA;AAC9E,OAAO,wBAAwB,MAAM,2CAA2C,CAAA;AAChF,OAAO,0BAA0B,MAAM,6CAA6C,CAAA;AACpF,OAAO,iCAAiC,MAAM,oDAAoD,CAAA;AAClG,OAAO,mCAAmC,MAAM,sDAAsD,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,19 @@ export type RubyClientMethod = {
|
|
|
7
7
|
method_name: string;
|
|
8
8
|
path: string;
|
|
9
9
|
parameters: RubyClientMethodParameter[];
|
|
10
|
-
return_resource: string;
|
|
10
|
+
return_resource: string | null;
|
|
11
11
|
return_path: string;
|
|
12
12
|
};
|
|
13
|
+
type ChildClientIdentifier = {
|
|
14
|
+
client_name: string;
|
|
15
|
+
namespace: string;
|
|
16
|
+
};
|
|
13
17
|
export declare class RubyClient {
|
|
14
18
|
pascal_name: string;
|
|
15
19
|
snake_name: string;
|
|
16
20
|
methods: RubyClientMethod[];
|
|
17
|
-
|
|
21
|
+
child_client_identifiers: ChildClientIdentifier[];
|
|
22
|
+
constructor(pascal_name: string, snake_name: string, child_client_identifiers: ChildClientIdentifier[]);
|
|
18
23
|
addMethod(method: RubyClientMethod): void;
|
|
19
24
|
/**
|
|
20
25
|
* Example:
|
|
@@ -33,3 +38,4 @@ export declare class RubyClient {
|
|
|
33
38
|
*/
|
|
34
39
|
serialize(): string;
|
|
35
40
|
}
|
|
41
|
+
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import endpoints_returning_deprecated_action_attempt from "../../lib/endpoints-returning-deprecated-action-attempt.js";
|
|
1
2
|
export class RubyClient {
|
|
2
|
-
constructor(pascal_name, snake_name) {
|
|
3
|
+
constructor(pascal_name, snake_name, child_client_identifiers) {
|
|
3
4
|
this.pascal_name = pascal_name;
|
|
4
5
|
this.snake_name = snake_name;
|
|
5
6
|
this.methods = [];
|
|
6
7
|
this.methods = [];
|
|
8
|
+
this.child_client_identifiers = child_client_identifiers;
|
|
7
9
|
}
|
|
8
10
|
addMethod(method) {
|
|
9
11
|
this.methods.push(method);
|
|
@@ -25,29 +27,46 @@ export class RubyClient {
|
|
|
25
27
|
*/
|
|
26
28
|
serialize() {
|
|
27
29
|
return [
|
|
30
|
+
`# frozen_string_literal: true`,
|
|
31
|
+
``,
|
|
28
32
|
`module Seam`,
|
|
29
33
|
` module Clients`,
|
|
30
34
|
` class ${this.pascal_name} < BaseClient`,
|
|
35
|
+
...this.child_client_identifiers.map(({ client_name, namespace }) => [
|
|
36
|
+
`def ${namespace}`,
|
|
37
|
+
` @${namespace} ||= Seam::Clients::${client_name}.new(self)`,
|
|
38
|
+
`end`,
|
|
39
|
+
``,
|
|
40
|
+
]
|
|
41
|
+
.flatMap((s) => ` ${s}`)
|
|
42
|
+
.join("\n")),
|
|
31
43
|
...this.methods.map(({ method_name, path, parameters, return_resource, return_path }) => {
|
|
44
|
+
const is_action_attempt_client = this.pascal_name === "ActionAttempts";
|
|
45
|
+
const can_method_poll_action_attempt = !endpoints_returning_deprecated_action_attempt.includes(path) &&
|
|
46
|
+
!is_action_attempt_client &&
|
|
47
|
+
return_resource === "ActionAttempt";
|
|
32
48
|
return [
|
|
33
|
-
" ",
|
|
34
49
|
`def ${method_name}(${parameters
|
|
35
50
|
.sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
|
|
36
51
|
(b.position ?? b.required ? 1000 : 9999))
|
|
37
52
|
.map((p) => `${p.name}${p.required ? "" : ": nil"}`)
|
|
38
53
|
.join(", ")})`,
|
|
39
|
-
` request_seam_object(`,
|
|
54
|
+
` ${can_method_poll_action_attempt ? "action_attempt = " : ""}${return_resource ? "request_seam_object" : "request_seam"}(`,
|
|
40
55
|
` :post,`,
|
|
41
56
|
` "${path}",`,
|
|
42
|
-
`
|
|
43
|
-
` '${return_path}'
|
|
57
|
+
return_resource ? ` Seam::${return_resource},` : [],
|
|
58
|
+
return_path ? ` '${return_path}',` : [],
|
|
44
59
|
` body: {${parameters
|
|
45
60
|
.map((p) => `${p.name}: ${p.name}`)
|
|
46
61
|
.join(", ")}}.compact`,
|
|
47
62
|
` )`,
|
|
63
|
+
` ${can_method_poll_action_attempt
|
|
64
|
+
? "action_attempt.wait_until_finished\n action_attempt"
|
|
65
|
+
: ""}`,
|
|
48
66
|
`end`,
|
|
67
|
+
``,
|
|
49
68
|
]
|
|
50
|
-
.
|
|
69
|
+
.flatMap((s) => ` ${s}`)
|
|
51
70
|
.join("\n");
|
|
52
71
|
}),
|
|
53
72
|
` end`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruby-client.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/ruby-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ruby-client.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/ruby-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".rspec.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/.rspec.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;sBAEC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".ruby-version.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/.ruby-version.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC,OAAO,CAAA"}
|
|
@@ -29,12 +29,12 @@ module Seam
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def inspect
|
|
32
|
-
"<#{self.class.name}:#{"0x00%x" % (object_id << 1)}
|
|
32
|
+
"<#{self.class.name}:#{"0x00%x" % (object_id << 1)}\\n" + # rubocop:disable Style/StringConcatenation, Style/FormatString
|
|
33
33
|
instance_variables
|
|
34
34
|
.map { |k| k.to_s.sub("@", "") }
|
|
35
35
|
.filter { |k| k != "data" and k != "client" and respond_to? k }
|
|
36
36
|
.map { |k| " #{k}=#{send(k).inspect}" }
|
|
37
|
-
.join("
|
|
37
|
+
.join("\\n") + ">"
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def self.date_accessor(*attrs)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: () => string;
|
|
1
|
+
declare const _default: (resource_client_names: string[]) => string;
|
|
2
2
|
export default _default;
|
|
@@ -1,74 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def request_seam(method, path, config = {})
|
|
64
|
-
Seam::Request.new(
|
|
65
|
-
api_key: api_key,
|
|
66
|
-
base_uri: base_uri,
|
|
67
|
-
debug: debug
|
|
68
|
-
).perform(
|
|
69
|
-
method, path, config
|
|
70
|
-
)
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end`;
|
|
1
|
+
import { pascalCase } from "change-case";
|
|
2
|
+
export default (resource_client_names) => {
|
|
3
|
+
const resource_client_defs = resource_client_names
|
|
4
|
+
.map((client_name) => {
|
|
5
|
+
return `
|
|
6
|
+
def ${client_name}
|
|
7
|
+
@${client_name} ||= Seam::Clients::${pascalCase(client_name)}.new(self)
|
|
8
|
+
end
|
|
9
|
+
`;
|
|
10
|
+
})
|
|
11
|
+
.join("");
|
|
12
|
+
return `# frozen_string_literal: true
|
|
13
|
+
|
|
14
|
+
module Seam
|
|
15
|
+
class Client
|
|
16
|
+
attr_accessor :api_key, :base_uri, :debug
|
|
17
|
+
|
|
18
|
+
def initialize(api_key: nil, base_uri: "https://connect.getseam.com", debug: false)
|
|
19
|
+
@api_key = api_key || ENV.fetch("SEAM_API_KEY", nil)
|
|
20
|
+
@base_uri = base_uri
|
|
21
|
+
@debug = debug
|
|
22
|
+
|
|
23
|
+
raise ArgumentError, "SEAM_API_KEY not found in environment, and api_key not provided" unless @api_key
|
|
24
|
+
end
|
|
25
|
+
${resource_client_defs}
|
|
26
|
+
|
|
27
|
+
# @deprecated Please use {#devices.unmanaged} instead.
|
|
28
|
+
def unmanaged_devices
|
|
29
|
+
warn "[DEPRECATION] 'unmanaged_devices' is deprecated. Please use 'devices.unmanaged' instead."
|
|
30
|
+
|
|
31
|
+
@unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(self)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# @deprecated Please use {#access_codes.unmanaged} instead.
|
|
35
|
+
def unmanaged_access_codes
|
|
36
|
+
warn "[DEPRECATION] 'unmanaged_access_codes' is deprecated. Please use 'access_codes.unmanaged' instead."
|
|
37
|
+
|
|
38
|
+
@unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(self)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def request_seam_object(method, path, klass, inner_object, config = {})
|
|
42
|
+
response = request_seam(method, path, config)
|
|
43
|
+
|
|
44
|
+
data = response[inner_object]
|
|
45
|
+
|
|
46
|
+
klass.load_from_response(data, self)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def request_seam(method, path, config = {})
|
|
50
|
+
Seam::Request.new(
|
|
51
|
+
api_key: api_key,
|
|
52
|
+
base_uri: base_uri,
|
|
53
|
+
debug: debug
|
|
54
|
+
).perform(
|
|
55
|
+
method, path, config
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end`;
|
|
60
|
+
};
|
|
74
61
|
//# sourceMappingURL=client.rb.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/client.rb.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"client.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/client.rb.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,eAAe,CAAC,qBAA+B,EAAE,EAAE;IACjD,MAAM,oBAAoB,GAAG,qBAAqB;SAC/C,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACnB,OAAO;YACD,WAAW;WACZ,WAAW,uBAAuB,UAAU,CAAC,WAAW,CAAC;;OAE7D,CAAA;IACH,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO;;;;;;;;;;;;;QAaD,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkCtB,CAAA;AACN,CAAC,CAAA"}
|