@seamapi/nextlove-sdk-generator 1.14.6 → 1.14.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.
@@ -27,7 +27,9 @@ export function deepExtractResourceObjectSchemas({ schema_name, schema_body, })
27
27
  const is_array_non_primitive_schema = !is_all_of_or_one_of_schema &&
28
28
  property_schema.type === "array" &&
29
29
  "items" in property_schema &&
30
- "properties" in property_schema.items;
30
+ ("properties" in property_schema.items ||
31
+ "allOf" in property_schema.items ||
32
+ "oneOf" in property_schema.items);
31
33
  const is_nullable_set = "nullable" in property_schema;
32
34
  if (is_object_schema) {
33
35
  property_schemas_with_type_references[property_name] = {
@@ -51,10 +53,23 @@ export function deepExtractResourceObjectSchemas({ schema_name, schema_body, })
51
53
  nullable: property_schema.nullable,
52
54
  }),
53
55
  };
56
+ let schema_properties = property_schema.items?.properties;
57
+ let required_schema_property_names = property_schema.items
58
+ ?.required;
59
+ if ("allOf" in property_schema.items ||
60
+ "oneOf" in property_schema.items) {
61
+ const flattened_schema = deepFlattenOneOfAndAllOfSchema(property_schema.items);
62
+ schema_properties =
63
+ "properties" in flattened_schema
64
+ ? flattened_schema.properties
65
+ : flattened_schema;
66
+ required_schema_property_names =
67
+ "required" in flattened_schema ? flattened_schema.required : [];
68
+ }
54
69
  createResourceSchema({
55
70
  name: reference_object_type_name,
56
- properties: property_schema.items.properties,
57
- required_property_names: property_schema.items?.required,
71
+ properties: schema_properties,
72
+ required_property_names: required_schema_property_names,
58
73
  });
59
74
  }
60
75
  else if (is_all_of_or_one_of_schema) {
@@ -1 +1 @@
1
- {"version":3,"file":"deep-extract-resource-object-schemas.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deep-extract-resource-object-schemas.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/deep-extract-resource-object-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
1
  import { getPhpType } from "./get-php-type.js";
2
+ const compareProperties = ([propA, schemaA], [propB, schemaB], required_property_names) => {
3
+ const aRequired = required_property_names.includes(propA);
4
+ const bRequired = required_property_names.includes(propB);
5
+ const aNullable = "nullable" in schemaA && schemaA.nullable;
6
+ const bNullable = "nullable" in schemaB && schemaB.nullable;
7
+ if (!aNullable !== !bNullable)
8
+ return !aNullable ? -1 : 1;
9
+ if (aRequired !== bRequired)
10
+ return aRequired ? -1 : 1;
11
+ return propA.localeCompare(propB);
12
+ };
2
13
  export const generateResourceObjectClass = ({ resource_name, resource_properties, required_property_names, }) => {
3
14
  // TODO: remove this when seam-connect is patched
4
15
  if (resource_name.endsWith("Errors") || resource_name.endsWith("Warnings")) {
@@ -36,6 +47,7 @@ export const generateResourceObjectClass = ({ resource_name, resource_properties
36
47
  }
37
48
  return new self(
38
49
  ${Object.entries(resource_properties)
50
+ .sort((propA, propB) => compareProperties(propA, propB, required_property_names))
39
51
  .map(([prop, prop_schema]) => generateTypeDefinition(prop, prop_schema))
40
52
  .join("\n ")}
41
53
  );
@@ -46,6 +58,7 @@ export const generateResourceObjectClass = ({ resource_name, resource_properties
46
58
  return `
47
59
  public function __construct(
48
60
  ${Object.entries(resource_properties)
61
+ .sort((propA, propB) => compareProperties(propA, propB, required_property_names))
49
62
  .map(([prop_name, prop_schema]) => {
50
63
  const is_object_referencing_resource = "type" in prop_schema &&
51
64
  prop_schema.type === "object" &&
@@ -1 +1 @@
1
- {"version":3,"file":"generate-resource-object-class.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-resource-object-class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-resource-object-class.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-resource-object-class.ts"],"names":[],"mappings":"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"}
@@ -115,9 +115,7 @@ export const generateRubySDK = async (options = {}) => {
115
115
  custom_imports: ['require "seam/base_resource"'],
116
116
  });
117
117
  fs[`${lib_route_clients_path}/${imports_file_name}.rb`] =
118
- generateEntityImportsTemplate(client_file_paths, {
119
- custom_imports: ['require "seam/base_client"'],
120
- });
118
+ generateEntityImportsTemplate(client_file_paths);
121
119
  fs[`${lib_routes_path}/routes.rb`] = routesRbTemplate(Object.keys(parent_to_child_resources_map));
122
120
  return fs;
123
121
  };
@@ -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,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,wBAAwB,MAAM,2CAA2C,CAAA;AAChF,OAAO,0BAA0B,MAAM,6CAA6C,CAAA;AACpF,OAAO,iCAAiC,MAAM,oDAAoD,CAAA;AAClG,OAAO,mCAAmC,MAAM,sDAAsD,CAAA;AACtG,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,yBAAyB,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,UAA+B,EAAE,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,MAAM,GAAY,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;QACJ,GAAG,CAAC;KACL,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,GAA2B,EAAE,CAAA;IACrC,MAAM,eAAe,GAAG,iBAAiB,CAAA;IACzC,MAAM,wBAAwB,GAAG,GAAG,eAAe,YAAY,CAAA;IAC/D,MAAM,sBAAsB,GAAG,GAAG,eAAe,UAAU,CAAA;IAE3D,EAAE,CAAC,GAAG,wBAAwB,oBAAoB,CAAC;QACjD,wBAAwB,EAAE,CAAA;IAC5B,EAAE,CAAC,GAAG,wBAAwB,sBAAsB,CAAC;QACnD,0BAA0B,EAAE,CAAA;IAC9B,EAAE,CAAC,GAAG,wBAAwB,6BAA6B,CAAC;QAC1D,iCAAiC,EAAE,CAAA;IACrC,EAAE,CAAC,GAAG,wBAAwB,+BAA+B,CAAC;QAC5D,mCAAmC,EAAE,CAAA;IAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,CACxB,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAa,CAAC,CAAwB,CACxE,CAAA;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI;YACJ,YAAY,EACV,QAAQ,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,WAAW;SACxE,CAAC,CACH,CAAA;QAED,EAAE,CAAC,GAAG,wBAAwB,IAAI,UAAU,KAAK,CAAC,GAAG,kBAAkB,CAAC;YACtE,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC9D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACpE,CAAC,CAAA;KACH;IAED,MAAM,OAAO,GAA+B,EAAE,CAAA;IAC9C,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAEvE,MAAM,aAAa,GAAG,CAAC,aAAqB,EAAE,EAAE;QAC9C,MAAM,uBAAuB,GAAG,CAC9B,6BAA6B,CAAC,aAAa,CAAC,IAAI,EAAE,CACnD,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzB,WAAW,EAAE,UAAU,CAAC,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;YAC7D,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC,CAAA;QACH,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;QAE5C,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,UAAU,CAC5C,UAAU,EACV,aAAa,EACb,uBAAuB,CACxB,CAAA;IACH,CAAC,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,SAAQ;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAAE,SAAQ;QAClD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACzD,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,WAAW,CAAA;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAErD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QAEnD;;;UAGE;QACF,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE;YACxD,aAAa,CAAC,aAAa,CAAC,CAAA;SAC7B;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAEnC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,kBAAkB,WAAW,aAAa,CAAC,CAAA;YACxD,SAAQ;SACT;QAED,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAC9D,6BAA6B,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,IAAI,aAAa,CAAC,CAAA;YACjE,SAAQ;SACT;QAED,MAAM,eAAe,GAAG,iBAAiB,IAAI,iBAAiB,CAAA;QAE9D,MAAM,CAAC,SAAS,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACjD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;iBACpD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC;iBAC/C,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;gBACzD,QAAQ,EACN,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,KAAK;oBAC9C,UAAU,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK;oBAC1D,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;YAClD,eAAe,EAAE,eAAe;gBAC9B,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;gBACxD,CAAC,CAAC,IAAI;SACT,CAAC,CAAA;KACH;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC3C,EAAE,CAAC,GAAG,sBAAsB,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;KAC7E;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACvC,CAAA;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,CACrC,CAAA;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAA;IAEjC,EAAE,CAAC,GAAG,wBAAwB,IAAI,iBAAiB,KAAK,CAAC;QACvD,6BAA6B,CAAC,mBAAmB,EAAE;YACjD,cAAc,EAAE,CAAC,8BAA8B,CAAC;SACjD,CAAC,CAAA;IACJ,EAAE,CAAC,GAAG,sBAAsB,IAAI,iBAAiB,KAAK,CAAC;QACrD,6BAA6B,CAAC,iBAAiB,EAAE;YAC/C,cAAc,EAAE,CAAC,4BAA4B,CAAC;SAC/C,CAAC,CAAA;IACJ,EAAE,CAAC,GAAG,eAAe,YAAY,CAAC,GAAG,gBAAgB,CACnD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAC3C,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,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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"}
@@ -34,10 +34,15 @@ export class RubyClient {
34
34
  : ""}`,
35
35
  `module Seam`,
36
36
  ` module Clients`,
37
- ` class ${this.pascal_name} < BaseClient`,
37
+ ` class ${this.pascal_name}`,
38
+ ` def initialize(client:, defaults:)`,
39
+ ` @client = client`,
40
+ ` @defaults = defaults`,
41
+ ` end`,
42
+ ``,
38
43
  ...this.child_client_identifiers.map(({ client_name, namespace }) => [
39
44
  `def ${namespace}`,
40
- ` @${namespace} ||= Seam::Clients::${client_name}.new(self)`,
45
+ ` @${namespace} ||= Seam::Clients::${client_name}.new(client: @client, defaults: @defaults)`,
41
46
  `end`,
42
47
  ``,
43
48
  ]
@@ -48,6 +53,7 @@ export class RubyClient {
48
53
  const returns_deprecated_action_attempt = endpoints_returning_deprecated_action_attempt.includes(path);
49
54
  const can_method_poll_action_attempt = return_path === "action_attempt" &&
50
55
  !returns_deprecated_action_attempt;
56
+ const has_params = parameters.length > 0;
51
57
  return [
52
58
  `def ${method_name}(${parameters
53
59
  .sort((a, b) => (a.position ?? a.required ? 1000 : 9999) -
@@ -57,18 +63,15 @@ export class RubyClient {
57
63
  ? ["wait_for_action_attempt: nil"]
58
64
  : [])
59
65
  .join(", ")})`,
60
- ` ${can_method_poll_action_attempt ? "action_attempt = " : ""}${has_return_value ? "request_seam_object" : "request_seam"}(`,
61
- ` :post,`,
62
- ` "${path}",`,
63
- has_return_value
64
- ? ` Seam::Resources::${return_resource},\n '${return_path}',`
66
+ ` res = @client.post("${path}"${has_params
67
+ ? `, {${parameters.map((p) => `${p.name}: ${p.name}`)}}.compact`
68
+ : ""})`,
69
+ ``,
70
+ has_return_value && !can_method_poll_action_attempt
71
+ ? ` Seam::Resources::${return_resource}.load_from_response(res.body["${return_path}"])`
65
72
  : [],
66
- ` body: {${parameters
67
- .map((p) => `${p.name}: ${p.name}`)
68
- .join(", ")}}.compact`,
69
- ` )\n`,
70
73
  can_method_poll_action_attempt
71
- ? " Helpers::ActionAttempt.decide_and_wait(action_attempt, @client, wait_for_action_attempt)"
74
+ ? ` wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt\n\nHelpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)`
72
75
  : [],
73
76
  !has_return_value || returns_deprecated_action_attempt
74
77
  ? " nil"
@@ -1 +1 @@
1
- {"version":3,"file":"ruby-client.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/ruby-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruby-client.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/ruby-client.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export default (resource_client_names) => {
4
4
  .map((client_name) => {
5
5
  return `
6
6
  def ${client_name}
7
- @${client_name} ||= Seam::Clients::${pascalCase(client_name)}.new(self)
7
+ @${client_name} ||= Seam::Clients::${pascalCase(client_name)}.new(client: @client, defaults: @defaults)
8
8
  end\n`;
9
9
  })
10
10
  .join("");
@@ -15,21 +15,28 @@ module Seam
15
15
  ${resource_client_defs}
16
16
 
17
17
  def health
18
- request_seam(:get, "/health")
18
+ @client.get("/health")
19
19
  end
20
20
 
21
21
  # @deprecated Please use {#devices.unmanaged} instead.
22
22
  def unmanaged_devices
23
23
  warn "[DEPRECATION] 'unmanaged_devices' is deprecated. Please use 'devices.unmanaged' instead."
24
24
 
25
- @unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(self)
25
+ @unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(client: @client, defaults: @defaults)
26
26
  end
27
27
 
28
28
  # @deprecated Please use {#access_codes.unmanaged} instead.
29
29
  def unmanaged_access_codes
30
30
  warn "[DEPRECATION] 'unmanaged_access_codes' is deprecated. Please use 'access_codes.unmanaged' instead."
31
31
 
32
- @unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(self)
32
+ @unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(client: @client, defaults: @defaults)
33
+ end
34
+
35
+ private
36
+
37
+ def initialize_routes(client:, defaults:)
38
+ @client = client
39
+ @defaults = defaults
33
40
  end
34
41
  end
35
42
  end\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/routes.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;UACH,WAAW;SACZ,WAAW,uBAAuB,UAAU,CAAC,WAAW,CAAC;UACxD,CAAA;IACN,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO;;;;EAIP,oBAAoB;;;;;;;;;;;;;;;;;;;;MAoBhB,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"routes.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/routes.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;UACH,WAAW;SACZ,WAAW,uBAAuB,UAAU,CAC7C,WAAW,CACZ;UACG,CAAA;IACN,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO;;;;EAIP,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BhB,CAAA;AACN,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/nextlove-sdk-generator",
3
- "version": "1.14.6",
3
+ "version": "1.14.10",
4
4
  "description": "Utilities for building NextLove SDK Generators",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -21,7 +21,7 @@
21
21
  ],
22
22
  "homepage": "https://github.com/seamapi/nextlove-sdk-generator",
23
23
  "bugs": "https://github.com/seamapi/nextlove-sdk-generator/issues",
24
- "repository": "seamapi/nextlove-sdk-generator",
24
+ "repository": "github:seamapi/nextlove-sdk-generator",
25
25
  "license": "MIT",
26
26
  "author": {
27
27
  "name": "Seam Labs, Inc.",
@@ -81,7 +81,9 @@ export function deepExtractResourceObjectSchemas({
81
81
  !is_all_of_or_one_of_schema &&
82
82
  property_schema.type === "array" &&
83
83
  "items" in property_schema &&
84
- "properties" in property_schema.items
84
+ ("properties" in property_schema.items ||
85
+ "allOf" in property_schema.items ||
86
+ "oneOf" in property_schema.items)
85
87
  const is_nullable_set = "nullable" in property_schema
86
88
 
87
89
  if (is_object_schema) {
@@ -107,10 +109,30 @@ export function deepExtractResourceObjectSchemas({
107
109
  }),
108
110
  }
109
111
 
112
+ let schema_properties = (property_schema.items as any)?.properties
113
+ let required_schema_property_names = (property_schema.items as any)
114
+ ?.required
115
+
116
+ if (
117
+ "allOf" in property_schema.items ||
118
+ "oneOf" in property_schema.items
119
+ ) {
120
+ const flattened_schema = deepFlattenOneOfAndAllOfSchema(
121
+ property_schema.items
122
+ )
123
+
124
+ schema_properties =
125
+ "properties" in flattened_schema
126
+ ? flattened_schema.properties
127
+ : flattened_schema
128
+ required_schema_property_names =
129
+ "required" in flattened_schema ? flattened_schema.required : []
130
+ }
131
+
110
132
  createResourceSchema({
111
133
  name: reference_object_type_name,
112
- properties: (property_schema.items as any).properties,
113
- required_property_names: (property_schema.items as any)?.required,
134
+ properties: schema_properties,
135
+ required_property_names: required_schema_property_names,
114
136
  })
115
137
  } else if (is_all_of_or_one_of_schema) {
116
138
  const flattened_schema = deepFlattenOneOfAndAllOfSchema(property_schema)
@@ -1,6 +1,20 @@
1
1
  import type { PropertySchemaWithReferenceObject } from "./deep-extract-resource-object-schemas.js"
2
2
  import { getPhpType } from "./get-php-type.js"
3
3
 
4
+ const compareProperties = (
5
+ [propA, schemaA]: [string, PropertySchemaWithReferenceObject],
6
+ [propB, schemaB]: [string, PropertySchemaWithReferenceObject],
7
+ required_property_names: string[]
8
+ ): number => {
9
+ const aRequired = required_property_names.includes(propA)
10
+ const bRequired = required_property_names.includes(propB)
11
+ const aNullable = "nullable" in schemaA && schemaA.nullable
12
+ const bNullable = "nullable" in schemaB && schemaB.nullable
13
+
14
+ if (!aNullable !== !bNullable) return !aNullable ? -1 : 1
15
+ if (aRequired !== bRequired) return aRequired ? -1 : 1
16
+ return propA.localeCompare(propB)
17
+ }
4
18
  interface Params {
5
19
  resource_name: string
6
20
  resource_properties: Record<string, PropertySchemaWithReferenceObject>
@@ -65,6 +79,9 @@ export const generateResourceObjectClass = ({
65
79
  }
66
80
  return new self(
67
81
  ${Object.entries(resource_properties)
82
+ .sort((propA, propB) =>
83
+ compareProperties(propA, propB, required_property_names)
84
+ )
68
85
  .map(([prop, prop_schema]) =>
69
86
  generateTypeDefinition(prop, prop_schema)
70
87
  )
@@ -78,6 +95,9 @@ export const generateResourceObjectClass = ({
78
95
  return `
79
96
  public function __construct(
80
97
  ${Object.entries(resource_properties)
98
+ .sort((propA, propB) =>
99
+ compareProperties(propA, propB, required_property_names)
100
+ )
81
101
  .map(([prop_name, prop_schema]) => {
82
102
  const is_object_referencing_resource =
83
103
  "type" in prop_schema &&
@@ -150,9 +150,7 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
150
150
  custom_imports: ['require "seam/base_resource"'],
151
151
  })
152
152
  fs[`${lib_route_clients_path}/${imports_file_name}.rb`] =
153
- generateEntityImportsTemplate(client_file_paths, {
154
- custom_imports: ['require "seam/base_client"'],
155
- })
153
+ generateEntityImportsTemplate(client_file_paths)
156
154
  fs[`${lib_routes_path}/routes.rb`] = routesRbTemplate(
157
155
  Object.keys(parent_to_child_resources_map)
158
156
  )
@@ -65,11 +65,16 @@ export class RubyClient {
65
65
  }`,
66
66
  `module Seam`,
67
67
  ` module Clients`,
68
- ` class ${this.pascal_name} < BaseClient`,
68
+ ` class ${this.pascal_name}`,
69
+ ` def initialize(client:, defaults:)`,
70
+ ` @client = client`,
71
+ ` @defaults = defaults`,
72
+ ` end`,
73
+ ``,
69
74
  ...this.child_client_identifiers.map(({ client_name, namespace }) =>
70
75
  [
71
76
  `def ${namespace}`,
72
- ` @${namespace} ||= Seam::Clients::${client_name}.new(self)`,
77
+ ` @${namespace} ||= Seam::Clients::${client_name}.new(client: @client, defaults: @defaults)`,
73
78
  `end`,
74
79
  ``,
75
80
  ]
@@ -84,6 +89,7 @@ export class RubyClient {
84
89
  const can_method_poll_action_attempt =
85
90
  return_path === "action_attempt" &&
86
91
  !returns_deprecated_action_attempt
92
+ const has_params = parameters.length > 0
87
93
 
88
94
  return [
89
95
  `def ${method_name}(${parameters
@@ -99,20 +105,17 @@ export class RubyClient {
99
105
  : []
100
106
  )
101
107
  .join(", ")})`,
102
- ` ${can_method_poll_action_attempt ? "action_attempt = " : ""}${
103
- has_return_value ? "request_seam_object" : "request_seam"
104
- }(`,
105
- ` :post,`,
106
- ` "${path}",`,
107
- has_return_value
108
- ? ` Seam::Resources::${return_resource},\n '${return_path}',`
108
+ ` res = @client.post("${path}"${
109
+ has_params
110
+ ? `, {${parameters.map((p) => `${p.name}: ${p.name}`)}}.compact`
111
+ : ""
112
+ })`,
113
+ ``,
114
+ has_return_value && !can_method_poll_action_attempt
115
+ ? ` Seam::Resources::${return_resource}.load_from_response(res.body["${return_path}"])`
109
116
  : [],
110
- ` body: {${parameters
111
- .map((p) => `${p.name}: ${p.name}`)
112
- .join(", ")}}.compact`,
113
- ` )\n`,
114
117
  can_method_poll_action_attempt
115
- ? " Helpers::ActionAttempt.decide_and_wait(action_attempt, @client, wait_for_action_attempt)"
118
+ ? ` wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt\n\nHelpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)`
116
119
  : [],
117
120
  !has_return_value || returns_deprecated_action_attempt
118
121
  ? " nil"
@@ -5,7 +5,9 @@ export default (resource_client_names: string[]) => {
5
5
  .map((client_name) => {
6
6
  return `
7
7
  def ${client_name}
8
- @${client_name} ||= Seam::Clients::${pascalCase(client_name)}.new(self)
8
+ @${client_name} ||= Seam::Clients::${pascalCase(
9
+ client_name
10
+ )}.new(client: @client, defaults: @defaults)
9
11
  end\n`
10
12
  })
11
13
  .join("")
@@ -17,21 +19,28 @@ module Seam
17
19
  ${resource_client_defs}
18
20
 
19
21
  def health
20
- request_seam(:get, "/health")
22
+ @client.get("/health")
21
23
  end
22
24
 
23
25
  # @deprecated Please use {#devices.unmanaged} instead.
24
26
  def unmanaged_devices
25
27
  warn "[DEPRECATION] 'unmanaged_devices' is deprecated. Please use 'devices.unmanaged' instead."
26
28
 
27
- @unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(self)
29
+ @unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(client: @client, defaults: @defaults)
28
30
  end
29
31
 
30
32
  # @deprecated Please use {#access_codes.unmanaged} instead.
31
33
  def unmanaged_access_codes
32
34
  warn "[DEPRECATION] 'unmanaged_access_codes' is deprecated. Please use 'access_codes.unmanaged' instead."
33
35
 
34
- @unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(self)
36
+ @unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(client: @client, defaults: @defaults)
37
+ end
38
+
39
+ private
40
+
41
+ def initialize_routes(client:, defaults:)
42
+ @client = client
43
+ @defaults = defaults
35
44
  end
36
45
  end
37
46
  end\n`