@seamapi/nextlove-sdk-generator 1.15.1 → 1.15.2
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/utils/generate-seam-client.js +22 -35
- package/lib/generate-php-sdk/utils/generate-seam-client.js.map +1 -1
- package/lib/generate-php-sdk/utils/php-client.js +9 -10
- package/lib/generate-php-sdk/utils/php-client.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/generate-php-sdk/utils/generate-seam-client.ts +22 -35
- package/src/lib/generate-php-sdk/utils/php-client.ts +9 -10
|
@@ -9,6 +9,11 @@ use Seam\\Utils\\PackageVersion;
|
|
|
9
9
|
|
|
10
10
|
use GuzzleHttp\\Client as HTTPClient;
|
|
11
11
|
use \\Exception as Exception;
|
|
12
|
+
use Seam\\HttpApiError;
|
|
13
|
+
use Seam\\HttpUnauthorizedError;
|
|
14
|
+
use Seam\\HttpInvalidInputError;
|
|
15
|
+
use Seam\\ActionAttemptFailedError;
|
|
16
|
+
use Seam\\ActionAttemptTimeoutError;
|
|
12
17
|
|
|
13
18
|
define('LTS_VERSION', '1.0.0');
|
|
14
19
|
|
|
@@ -57,12 +62,12 @@ class SeamClient
|
|
|
57
62
|
"json" => $json,
|
|
58
63
|
"query" => $query,
|
|
59
64
|
];
|
|
60
|
-
$options = array_filter($options, fn
|
|
65
|
+
$options = array_filter($options, fn($option) => $option !== null);
|
|
61
66
|
|
|
62
67
|
// TODO handle request errors
|
|
63
68
|
$response = $this->client->request($method, $path, $options);
|
|
64
69
|
$status_code = $response->getStatusCode();
|
|
65
|
-
$request_id = $response->getHeaderLine(
|
|
70
|
+
$request_id = $response->getHeaderLine("seam-request-id");
|
|
66
71
|
|
|
67
72
|
$res_json = null;
|
|
68
73
|
try {
|
|
@@ -70,44 +75,26 @@ class SeamClient
|
|
|
70
75
|
} catch (Exception $ignoreError) {
|
|
71
76
|
}
|
|
72
77
|
|
|
73
|
-
if (($res_json->error ?? null) != null) {
|
|
74
|
-
throw new Exception(
|
|
75
|
-
"Error Calling \\"" .
|
|
76
|
-
$method .
|
|
77
|
-
" " .
|
|
78
|
-
$path .
|
|
79
|
-
"\\" : " .
|
|
80
|
-
($res_json->error->type ?? "") .
|
|
81
|
-
": " .
|
|
82
|
-
$res_json->error->message .
|
|
83
|
-
" [Request ID: " . $request_id . "]"
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
78
|
if ($status_code >= 400) {
|
|
88
|
-
$
|
|
79
|
+
if ($status_code === 401) {
|
|
80
|
+
throw new HttpUnauthorizedError($request_id);
|
|
81
|
+
}
|
|
89
82
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
83
|
+
if (($res_json->error ?? null) != null) {
|
|
84
|
+
if ($res_json->error->type === 'invalid_input') {
|
|
85
|
+
throw new HttpInvalidInputError($res_json->error, $status_code, $request_id);
|
|
86
|
+
}
|
|
95
87
|
|
|
96
|
-
|
|
97
|
-
if (!is_array($res_json->$inner_object) && ($res_json->$inner_object ?? null) == null) {
|
|
98
|
-
throw new Exception(
|
|
99
|
-
'Missing Inner Object "' .
|
|
100
|
-
$inner_object .
|
|
101
|
-
'" for ' .
|
|
102
|
-
$method .
|
|
103
|
-
" " .
|
|
104
|
-
$path .
|
|
105
|
-
" [Request ID: " . $request_id . "]"
|
|
106
|
-
);
|
|
88
|
+
throw new HttpApiError($res_json->error, $status_code, $request_id);
|
|
107
89
|
}
|
|
108
|
-
|
|
90
|
+
|
|
91
|
+
throw \GuzzleHttp\Exception\RequestException::create(
|
|
92
|
+
new \GuzzleHttp\Psr7\Request($method, $path),
|
|
93
|
+
$response
|
|
94
|
+
);
|
|
109
95
|
}
|
|
110
|
-
|
|
96
|
+
|
|
97
|
+
return $inner_object ? $res_json->$inner_object : $res_json;
|
|
111
98
|
}
|
|
112
99
|
}
|
|
113
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-seam-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-seam-client.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,gBAAgB,EAChB,qBAAqB,GACd,EAAE,EAAE;IACX,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAC1B,CAAA;IAED,OAAO;;;;EAIP,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"generate-seam-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-seam-client.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,gBAAgB,EAChB,qBAAqB,GACd,EAAE,EAAE;IACX,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAC1B,CAAA;IAED,OAAO;;;;EAIP,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;IAerE,uBAAuB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,WAAW,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC;SAC5D,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;MAyBX,uBAAuB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,WAAW,gBAAgB,CAAC;SACxE,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDnB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;CACxD,CAAA;AACD,CAAC,CAAA"}
|
|
@@ -96,27 +96,26 @@ export class PhpClient {
|
|
|
96
96
|
}),
|
|
97
97
|
this.client_name === "ActionAttempts"
|
|
98
98
|
? [
|
|
99
|
-
" public function poll_until_ready(string $action_attempt_id): ActionAttempt",
|
|
99
|
+
" public function poll_until_ready(string $action_attempt_id, float $timeout = 20.0): ActionAttempt",
|
|
100
100
|
" {",
|
|
101
101
|
" $seam = $this->seam;",
|
|
102
102
|
" $time_waiting = 0.0;",
|
|
103
|
+
" $polling_interval = 0.4;",
|
|
103
104
|
" $action_attempt = $seam->action_attempts->get($action_attempt_id);",
|
|
104
105
|
"",
|
|
105
|
-
|
|
106
|
+
" while ($action_attempt->status == 'pending') {",
|
|
106
107
|
" $action_attempt = $seam->action_attempts->get(",
|
|
107
108
|
" $action_attempt->action_attempt_id",
|
|
108
109
|
" );",
|
|
109
|
-
" if ($time_waiting >
|
|
110
|
-
|
|
110
|
+
" if ($time_waiting > $timeout) {",
|
|
111
|
+
" throw new ActionAttemptTimeoutError($action_attempt, $timeout);",
|
|
111
112
|
" }",
|
|
112
|
-
" $time_waiting +=
|
|
113
|
-
" usleep(
|
|
113
|
+
" $time_waiting += $polling_interval;",
|
|
114
|
+
" usleep($polling_interval * 1000000);",
|
|
114
115
|
" }",
|
|
115
116
|
"",
|
|
116
|
-
|
|
117
|
-
" throw new
|
|
118
|
-
' "Action Attempt failed: " . $action_attempt->error->message',
|
|
119
|
-
" );",
|
|
117
|
+
" if ($action_attempt->status == 'error') {",
|
|
118
|
+
" throw new ActionAttemptFailedError($action_attempt);",
|
|
120
119
|
" }",
|
|
121
120
|
"",
|
|
122
121
|
" return $action_attempt;",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"php-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/php-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"php-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/php-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -22,6 +22,11 @@ use Seam\\Utils\\PackageVersion;
|
|
|
22
22
|
|
|
23
23
|
use GuzzleHttp\\Client as HTTPClient;
|
|
24
24
|
use \\Exception as Exception;
|
|
25
|
+
use Seam\\HttpApiError;
|
|
26
|
+
use Seam\\HttpUnauthorizedError;
|
|
27
|
+
use Seam\\HttpInvalidInputError;
|
|
28
|
+
use Seam\\ActionAttemptFailedError;
|
|
29
|
+
use Seam\\ActionAttemptTimeoutError;
|
|
25
30
|
|
|
26
31
|
define('LTS_VERSION', '1.0.0');
|
|
27
32
|
|
|
@@ -70,12 +75,12 @@ class SeamClient
|
|
|
70
75
|
"json" => $json,
|
|
71
76
|
"query" => $query,
|
|
72
77
|
];
|
|
73
|
-
$options = array_filter($options, fn
|
|
78
|
+
$options = array_filter($options, fn($option) => $option !== null);
|
|
74
79
|
|
|
75
80
|
// TODO handle request errors
|
|
76
81
|
$response = $this->client->request($method, $path, $options);
|
|
77
82
|
$status_code = $response->getStatusCode();
|
|
78
|
-
$request_id = $response->getHeaderLine(
|
|
83
|
+
$request_id = $response->getHeaderLine("seam-request-id");
|
|
79
84
|
|
|
80
85
|
$res_json = null;
|
|
81
86
|
try {
|
|
@@ -83,44 +88,26 @@ class SeamClient
|
|
|
83
88
|
} catch (Exception $ignoreError) {
|
|
84
89
|
}
|
|
85
90
|
|
|
86
|
-
if (($res_json->error ?? null) != null) {
|
|
87
|
-
throw new Exception(
|
|
88
|
-
"Error Calling \\"" .
|
|
89
|
-
$method .
|
|
90
|
-
" " .
|
|
91
|
-
$path .
|
|
92
|
-
"\\" : " .
|
|
93
|
-
($res_json->error->type ?? "") .
|
|
94
|
-
": " .
|
|
95
|
-
$res_json->error->message .
|
|
96
|
-
" [Request ID: " . $request_id . "]"
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
91
|
if ($status_code >= 400) {
|
|
101
|
-
$
|
|
92
|
+
if ($status_code === 401) {
|
|
93
|
+
throw new HttpUnauthorizedError($request_id);
|
|
94
|
+
}
|
|
102
95
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
96
|
+
if (($res_json->error ?? null) != null) {
|
|
97
|
+
if ($res_json->error->type === 'invalid_input') {
|
|
98
|
+
throw new HttpInvalidInputError($res_json->error, $status_code, $request_id);
|
|
99
|
+
}
|
|
108
100
|
|
|
109
|
-
|
|
110
|
-
if (!is_array($res_json->$inner_object) && ($res_json->$inner_object ?? null) == null) {
|
|
111
|
-
throw new Exception(
|
|
112
|
-
'Missing Inner Object "' .
|
|
113
|
-
$inner_object .
|
|
114
|
-
'" for ' .
|
|
115
|
-
$method .
|
|
116
|
-
" " .
|
|
117
|
-
$path .
|
|
118
|
-
" [Request ID: " . $request_id . "]"
|
|
119
|
-
);
|
|
101
|
+
throw new HttpApiError($res_json->error, $status_code, $request_id);
|
|
120
102
|
}
|
|
121
|
-
|
|
103
|
+
|
|
104
|
+
throw \GuzzleHttp\Exception\RequestException::create(
|
|
105
|
+
new \GuzzleHttp\Psr7\Request($method, $path),
|
|
106
|
+
$response
|
|
107
|
+
);
|
|
122
108
|
}
|
|
123
|
-
|
|
109
|
+
|
|
110
|
+
return $inner_object ? $res_json->$inner_object : $res_json;
|
|
124
111
|
}
|
|
125
112
|
}
|
|
126
113
|
|
|
@@ -156,27 +156,26 @@ export class PhpClient {
|
|
|
156
156
|
),
|
|
157
157
|
this.client_name === "ActionAttempts"
|
|
158
158
|
? [
|
|
159
|
-
" public function poll_until_ready(string $action_attempt_id): ActionAttempt",
|
|
159
|
+
" public function poll_until_ready(string $action_attempt_id, float $timeout = 20.0): ActionAttempt",
|
|
160
160
|
" {",
|
|
161
161
|
" $seam = $this->seam;",
|
|
162
162
|
" $time_waiting = 0.0;",
|
|
163
|
+
" $polling_interval = 0.4;",
|
|
163
164
|
" $action_attempt = $seam->action_attempts->get($action_attempt_id);",
|
|
164
165
|
"",
|
|
165
|
-
|
|
166
|
+
" while ($action_attempt->status == 'pending') {",
|
|
166
167
|
" $action_attempt = $seam->action_attempts->get(",
|
|
167
168
|
" $action_attempt->action_attempt_id",
|
|
168
169
|
" );",
|
|
169
|
-
" if ($time_waiting >
|
|
170
|
-
|
|
170
|
+
" if ($time_waiting > $timeout) {",
|
|
171
|
+
" throw new ActionAttemptTimeoutError($action_attempt, $timeout);",
|
|
171
172
|
" }",
|
|
172
|
-
" $time_waiting +=
|
|
173
|
-
" usleep(
|
|
173
|
+
" $time_waiting += $polling_interval;",
|
|
174
|
+
" usleep($polling_interval * 1000000);",
|
|
174
175
|
" }",
|
|
175
176
|
"",
|
|
176
|
-
|
|
177
|
-
" throw new
|
|
178
|
-
' "Action Attempt failed: " . $action_attempt->error->message',
|
|
179
|
-
" );",
|
|
177
|
+
" if ($action_attempt->status == 'error') {",
|
|
178
|
+
" throw new ActionAttemptFailedError($action_attempt);",
|
|
180
179
|
" }",
|
|
181
180
|
"",
|
|
182
181
|
" return $action_attempt;",
|