@scalekit-sdk/node 2.2.0-beta.0 → 2.2.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/.nvmrc +1 -1
- package/README.md +5 -5
- package/buf.gen.yaml +1 -5
- package/lib/auth.d.ts +9 -6
- package/lib/auth.js +4 -20
- package/lib/auth.js.map +1 -1
- package/lib/connect.d.ts +3 -3
- package/lib/connect.js +1 -2
- package/lib/connect.js.map +1 -1
- package/lib/connection.d.ts +2 -2
- package/lib/connection.js +4 -4
- package/lib/connection.js.map +1 -1
- package/lib/core.js +2 -2
- package/lib/core.js.map +1 -1
- package/lib/directory.d.ts +2 -2
- package/lib/directory.js +7 -7
- package/lib/directory.js.map +1 -1
- package/lib/domain.d.ts +6 -5
- package/lib/domain.js +4 -5
- package/lib/domain.js.map +1 -1
- package/lib/errors/base-exception.d.ts +1 -1
- package/lib/errors/base-exception.js +1 -1
- package/lib/errors/base-exception.js.map +1 -1
- package/lib/organization.d.ts +10 -9
- package/lib/organization.js +11 -9
- package/lib/organization.js.map +1 -1
- package/lib/passwordless.d.ts +2 -2
- package/lib/passwordless.js +8 -7
- package/lib/passwordless.js.map +1 -1
- package/lib/permission.d.ts +6 -5
- package/lib/permission.js +10 -11
- package/lib/permission.js.map +1 -1
- package/lib/pkg/grpc/buf/validate/validate_pb.d.ts +7 -0
- package/lib/pkg/grpc/buf/validate/validate_pb.js +25 -0
- package/lib/pkg/grpc/buf/validate/validate_pb.js.map +1 -0
- package/lib/pkg/grpc/google/api/annotations_pb.d.ts +7 -0
- package/lib/pkg/grpc/google/api/annotations_pb.js +25 -0
- package/lib/pkg/grpc/google/api/annotations_pb.js.map +1 -0
- package/lib/pkg/grpc/google/api/field_behavior_pb.d.ts +7 -0
- package/lib/pkg/grpc/google/api/field_behavior_pb.js +25 -0
- package/lib/pkg/grpc/google/api/field_behavior_pb.js.map +1 -0
- package/lib/pkg/grpc/google/api/visibility_pb.d.ts +7 -0
- package/lib/pkg/grpc/google/api/visibility_pb.js +25 -0
- package/lib/pkg/grpc/google/api/visibility_pb.js.map +1 -0
- package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.d.ts +7 -0
- package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js +25 -0
- package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js.map +1 -0
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.d.ts +48 -42
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js +27 -263
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.d.ts +371 -325
- package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js +132 -835
- package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.d.ts +113 -87
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js +45 -201
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.d.ts +262 -265
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js +92 -938
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.d.ts +162 -157
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js +42 -313
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +1488 -1459
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +353 -2362
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.d.ts +520 -483
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +224 -1555
- package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.d.ts +219 -191
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +96 -553
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.d.ts +76 -102
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js +37 -393
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/options/options_pb.d.ts +36 -26
- package/lib/pkg/grpc/scalekit/v1/options/options_pb.js +20 -69
- package/lib/pkg/grpc/scalekit/v1/options/options_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.d.ts +447 -400
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +163 -1238
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.d.ts +622 -556
- package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +201 -1718
- package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.d.ts +135 -132
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +55 -518
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +445 -413
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +142 -1490
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
- package/lib/role.d.ts +8 -7
- package/lib/role.js +14 -14
- package/lib/role.js.map +1 -1
- package/lib/scalekit.d.ts +0 -4
- package/lib/scalekit.js +0 -4
- package/lib/scalekit.js.map +1 -1
- package/lib/session.js +15 -24
- package/lib/session.js.map +1 -1
- package/lib/user.d.ts +6 -5
- package/lib/user.js +17 -20
- package/lib/user.js.map +1 -1
- package/lib/webauthn.js +6 -5
- package/lib/webauthn.js.map +1 -1
- package/package.json +6 -10
- package/reference.md +0 -671
- package/src/auth.ts +17 -17
- package/src/connect.ts +4 -5
- package/src/connection.ts +5 -5
- package/src/core.ts +2 -2
- package/src/directory.ts +8 -8
- package/src/domain.ts +9 -8
- package/src/errors/base-exception.ts +3 -2
- package/src/organization.ts +18 -15
- package/src/passwordless.ts +12 -11
- package/src/permission.ts +15 -15
- package/src/pkg/grpc/buf/validate/validate_pb.ts +28 -0
- package/src/pkg/grpc/google/api/annotations_pb.ts +28 -0
- package/src/pkg/grpc/google/api/field_behavior_pb.ts +28 -0
- package/src/pkg/grpc/google/api/visibility_pb.ts +28 -0
- package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +28 -0
- package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +97 -182
- package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +473 -850
- package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +153 -225
- package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +361 -830
- package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +237 -358
- package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +1625 -2826
- package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +687 -1413
- package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +286 -542
- package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +115 -328
- package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +50 -80
- package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +558 -1183
- package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +765 -1669
- package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +195 -447
- package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +592 -1339
- package/src/role.ts +21 -19
- package/src/scalekit.ts +0 -9
- package/src/session.ts +20 -34
- package/src/user.ts +30 -26
- package/src/webauthn.ts +10 -9
- package/tests/utils/test-data.ts +17 -8
- package/lib/connected-accounts.d.ts +0 -96
- package/lib/connected-accounts.js +0 -186
- package/lib/connected-accounts.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.d.ts +0 -19
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js +0 -27
- package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.d.ts +0 -118
- package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js +0 -126
- package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.d.ts +0 -37
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js +0 -45
- package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.d.ts +0 -82
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js +0 -90
- package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.d.ts +0 -87
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js +0 -95
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.d.ts +0 -718
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js +0 -893
- package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.d.ts +0 -172
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js +0 -180
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.d.ts +0 -154
- package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js +0 -162
- package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.d.ts +0 -73
- package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js +0 -81
- package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.d.ts +0 -171
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js +0 -179
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.d.ts +0 -250
- package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js +0 -258
- package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.d.ts +0 -46
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js +0 -54
- package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.d.ts +0 -75
- package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js +0 -83
- package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.d.ts +0 -431
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js +0 -627
- package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js.map +0 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.d.ts +0 -173
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.js +0 -181
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.js.map +0 -1
- package/lib/tools.d.ts +0 -75
- package/lib/tools.js +0 -127
- package/lib/tools.js.map +0 -1
- package/src/connected-accounts.ts +0 -283
- package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.ts +0 -26
- package/src/pkg/grpc/scalekit/v1/auth/auth_connect.ts +0 -125
- package/src/pkg/grpc/scalekit/v1/auth/passwordless_connect.ts +0 -44
- package/src/pkg/grpc/scalekit/v1/auth/webauthn_connect.ts +0 -89
- package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.ts +0 -94
- package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.ts +0 -1294
- package/src/pkg/grpc/scalekit/v1/connections/connections_connect.ts +0 -179
- package/src/pkg/grpc/scalekit/v1/directories/directories_connect.ts +0 -161
- package/src/pkg/grpc/scalekit/v1/domains/domains_connect.ts +0 -80
- package/src/pkg/grpc/scalekit/v1/organizations/organizations_connect.ts +0 -178
- package/src/pkg/grpc/scalekit/v1/roles/roles_connect.ts +0 -257
- package/src/pkg/grpc/scalekit/v1/sessions/sessions_connect.ts +0 -53
- package/src/pkg/grpc/scalekit/v1/tools/tools_connect.ts +0 -82
- package/src/pkg/grpc/scalekit/v1/tools/tools_pb.ts +0 -847
- package/src/pkg/grpc/scalekit/v1/users/users_connect.ts +0 -180
- package/src/tools.ts +0 -166
- package/tests/connected-accounts.test.ts +0 -434
- package/tests/tools.test.ts +0 -239
package/src/role.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { MessageShape } from "@bufbuild/protobuf";
|
|
2
|
+
import { create } from "@bufbuild/protobuf";
|
|
3
|
+
import { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
4
|
+
import type { Client } from "@connectrpc/connect";
|
|
3
5
|
import GrpcConnect from "./connect";
|
|
4
6
|
import CoreClient from "./core";
|
|
5
|
-
import { RolesService } from "./pkg/grpc/scalekit/v1/roles/
|
|
7
|
+
import { RolesService } from "./pkg/grpc/scalekit/v1/roles/roles_pb";
|
|
6
8
|
import {
|
|
7
9
|
CreateRoleRequest,
|
|
8
10
|
CreateRoleResponse,
|
|
@@ -22,6 +24,8 @@ import {
|
|
|
22
24
|
ListOrganizationRolesRequest,
|
|
23
25
|
ListOrganizationRolesResponse,
|
|
24
26
|
DeleteOrganizationRoleRequest,
|
|
27
|
+
DeleteRoleRequestSchema,
|
|
28
|
+
DeleteOrganizationRoleRequestSchema,
|
|
25
29
|
GetRoleUsersCountRequest,
|
|
26
30
|
GetRoleUsersCountResponse,
|
|
27
31
|
GetOrganizationRoleUsersCountRequest,
|
|
@@ -52,7 +56,7 @@ import {
|
|
|
52
56
|
* @see {@link https://docs.scalekit.com/apis/#tag/roles | Role API Documentation}
|
|
53
57
|
*/
|
|
54
58
|
export default class RoleClient {
|
|
55
|
-
private client:
|
|
59
|
+
private client: Client<typeof RolesService>;
|
|
56
60
|
|
|
57
61
|
constructor(
|
|
58
62
|
private readonly grpcConnect: GrpcConnect,
|
|
@@ -174,7 +178,7 @@ export default class RoleClient {
|
|
|
174
178
|
* @param {string} roleName - Role to delete
|
|
175
179
|
* @param {string} [reassignRoleName] - Target role for user migration
|
|
176
180
|
*
|
|
177
|
-
* @returns {Promise<
|
|
181
|
+
* @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
|
|
178
182
|
*
|
|
179
183
|
* @example
|
|
180
184
|
* await scalekitClient.role.deleteRole('old_role', 'new_role');
|
|
@@ -184,11 +188,11 @@ export default class RoleClient {
|
|
|
184
188
|
async deleteRole(
|
|
185
189
|
roleName: string,
|
|
186
190
|
reassignRoleName?: string
|
|
187
|
-
): Promise<
|
|
188
|
-
const request
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
191
|
+
): Promise<MessageShape<typeof EmptySchema>> {
|
|
192
|
+
const request = create(DeleteRoleRequestSchema, {
|
|
193
|
+
roleName,
|
|
194
|
+
reassignRoleName,
|
|
195
|
+
});
|
|
192
196
|
|
|
193
197
|
return this.coreClient.connectExec(this.client.deleteRole, request);
|
|
194
198
|
}
|
|
@@ -345,7 +349,7 @@ export default class RoleClient {
|
|
|
345
349
|
* @param {string} roleName - Role to delete
|
|
346
350
|
* @param {string} [reassignRoleName] - Target role for user migration
|
|
347
351
|
*
|
|
348
|
-
* @returns {Promise<
|
|
352
|
+
* @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
|
|
349
353
|
*
|
|
350
354
|
* @example
|
|
351
355
|
* await scalekitClient.role.deleteOrganizationRole(
|
|
@@ -360,14 +364,12 @@ export default class RoleClient {
|
|
|
360
364
|
orgId: string,
|
|
361
365
|
roleName: string,
|
|
362
366
|
reassignRoleName?: string
|
|
363
|
-
): Promise<
|
|
364
|
-
const request
|
|
367
|
+
): Promise<MessageShape<typeof EmptySchema>> {
|
|
368
|
+
const request = create(DeleteOrganizationRoleRequestSchema, {
|
|
365
369
|
orgId,
|
|
366
370
|
roleName,
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
request.reassignRoleName = reassignRoleName;
|
|
370
|
-
}
|
|
371
|
+
reassignRoleName,
|
|
372
|
+
});
|
|
371
373
|
|
|
372
374
|
return this.coreClient.connectExec(
|
|
373
375
|
this.client.deleteOrganizationRole,
|
|
@@ -442,7 +444,7 @@ export default class RoleClient {
|
|
|
442
444
|
* @param {string} orgId - Organization identifier
|
|
443
445
|
* @param {string} roleName - Role to remove inheritance from
|
|
444
446
|
*
|
|
445
|
-
* @returns {Promise<
|
|
447
|
+
* @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
|
|
446
448
|
*
|
|
447
449
|
* @example
|
|
448
450
|
* await scalekitClient.role.deleteOrganizationRoleBase('org_123456', 'custom_role');
|
|
@@ -452,7 +454,7 @@ export default class RoleClient {
|
|
|
452
454
|
async deleteOrganizationRoleBase(
|
|
453
455
|
orgId: string,
|
|
454
456
|
roleName: string
|
|
455
|
-
): Promise<
|
|
457
|
+
): Promise<MessageShape<typeof EmptySchema>> {
|
|
456
458
|
return this.coreClient.connectExec(this.client.deleteOrganizationRoleBase, {
|
|
457
459
|
orgId,
|
|
458
460
|
roleName,
|
package/src/scalekit.ts
CHANGED
|
@@ -5,8 +5,6 @@ import GrpcConnect from './connect';
|
|
|
5
5
|
import ConnectionClient from './connection';
|
|
6
6
|
import { IdTokenClaimToUserMap } from './constants/user';
|
|
7
7
|
import CoreClient from './core';
|
|
8
|
-
import ToolsClient from './tools';
|
|
9
|
-
import ConnectedAccountsClient from './connected-accounts';
|
|
10
8
|
import DirectoryClient from './directory';
|
|
11
9
|
import DomainClient from './domain';
|
|
12
10
|
import AuthClient from './auth';
|
|
@@ -62,8 +60,6 @@ export default class ScalekitClient {
|
|
|
62
60
|
readonly organization: OrganizationClient;
|
|
63
61
|
readonly connection: ConnectionClient;
|
|
64
62
|
readonly domain: DomainClient;
|
|
65
|
-
readonly tools: ToolsClient;
|
|
66
|
-
readonly connectedAccounts: ConnectedAccountsClient;
|
|
67
63
|
readonly directory: DirectoryClient;
|
|
68
64
|
readonly passwordless: PasswordlessClient;
|
|
69
65
|
readonly user: UserClient;
|
|
@@ -92,11 +88,6 @@ export default class ScalekitClient {
|
|
|
92
88
|
);
|
|
93
89
|
this.connection = new ConnectionClient(this.grpcConnect, this.coreClient);
|
|
94
90
|
this.domain = new DomainClient(this.grpcConnect, this.coreClient);
|
|
95
|
-
this.tools = new ToolsClient(this.grpcConnect, this.coreClient);
|
|
96
|
-
this.connectedAccounts = new ConnectedAccountsClient(
|
|
97
|
-
this.grpcConnect,
|
|
98
|
-
this.coreClient
|
|
99
|
-
);
|
|
100
91
|
this.directory = new DirectoryClient(this.grpcConnect, this.coreClient);
|
|
101
92
|
this.passwordless = new PasswordlessClient(
|
|
102
93
|
this.grpcConnect,
|
package/src/session.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { create } from "@bufbuild/protobuf";
|
|
2
|
+
import { timestampFromDate } from "@bufbuild/protobuf/wkt";
|
|
3
|
+
import type { Client } from "@connectrpc/connect";
|
|
3
4
|
import GrpcConnect from "./connect";
|
|
4
5
|
import CoreClient from "./core";
|
|
5
|
-
import { SessionService } from "./pkg/grpc/scalekit/v1/sessions/sessions_connect";
|
|
6
6
|
import {
|
|
7
|
+
SessionService,
|
|
7
8
|
SessionDetailsRequest,
|
|
8
9
|
SessionDetails,
|
|
9
10
|
UserSessionDetailsRequest,
|
|
10
11
|
UserSessionDetails,
|
|
11
|
-
|
|
12
|
+
UserSessionDetailsRequestSchema,
|
|
13
|
+
UserSessionFilterSchema,
|
|
12
14
|
RevokeSessionRequest,
|
|
13
15
|
RevokeSessionResponse,
|
|
14
16
|
RevokeAllUserSessionsRequest,
|
|
15
17
|
RevokeAllUserSessionsResponse,
|
|
16
18
|
} from "./pkg/grpc/scalekit/v1/sessions/sessions_pb";
|
|
17
|
-
import { Timestamp } from "@bufbuild/protobuf";
|
|
18
19
|
|
|
19
20
|
export default class SessionClient {
|
|
20
|
-
private client:
|
|
21
|
+
private client: Client<typeof SessionService>;
|
|
21
22
|
|
|
22
23
|
constructor(
|
|
23
24
|
private readonly grpcConnect: GrpcConnect,
|
|
@@ -145,35 +146,20 @@ export default class SessionClient {
|
|
|
145
146
|
};
|
|
146
147
|
}
|
|
147
148
|
): Promise<UserSessionDetails> {
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if (options?.pageToken) {
|
|
157
|
-
request.pageToken = options.pageToken;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (options?.filter) {
|
|
161
|
-
const filter = new UserSessionFilter();
|
|
149
|
+
const filter = options?.filter
|
|
150
|
+
? create(UserSessionFilterSchema, {
|
|
151
|
+
status: options.filter.status,
|
|
152
|
+
startTime: options.filter.startTime ? timestampFromDate(options.filter.startTime) : undefined,
|
|
153
|
+
endTime: options.filter.endTime ? timestampFromDate(options.filter.endTime) : undefined,
|
|
154
|
+
})
|
|
155
|
+
: undefined;
|
|
162
156
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (options.filter.endTime) {
|
|
172
|
-
filter.endTime = Timestamp.fromDate(options.filter.endTime);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
request.filter = filter;
|
|
176
|
-
}
|
|
157
|
+
const request = create(UserSessionDetailsRequestSchema, {
|
|
158
|
+
userId,
|
|
159
|
+
pageSize: options?.pageSize,
|
|
160
|
+
pageToken: options?.pageToken,
|
|
161
|
+
filter,
|
|
162
|
+
});
|
|
177
163
|
|
|
178
164
|
return this.coreClient.connectExec(this.client.getUserSessions, request);
|
|
179
165
|
}
|
package/src/user.ts
CHANGED
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @see {@link https://docs.scalekit.com/apis/#tag/users | User API Documentation}
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import type { MessageShape } from "@bufbuild/protobuf";
|
|
15
|
+
import { create } from "@bufbuild/protobuf";
|
|
16
|
+
import { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
17
|
+
import type { Client } from "@connectrpc/connect";
|
|
16
18
|
import GrpcConnect from "./connect";
|
|
17
19
|
import CoreClient from "./core";
|
|
18
|
-
import { UserService } from "./pkg/grpc/scalekit/v1/users/
|
|
20
|
+
import { UserService } from "./pkg/grpc/scalekit/v1/users/users_pb";
|
|
19
21
|
import {
|
|
20
22
|
CreateUserAndMembershipRequest,
|
|
21
23
|
CreateUserAndMembershipResponse,
|
|
@@ -30,8 +32,13 @@ import {
|
|
|
30
32
|
UpdateUser,
|
|
31
33
|
CreateUser,
|
|
32
34
|
CreateUserProfile,
|
|
35
|
+
CreateUserSchema,
|
|
36
|
+
CreateUserProfileSchema,
|
|
37
|
+
UpdateUserSchema,
|
|
38
|
+
CreateUserAndMembershipRequestSchema,
|
|
33
39
|
CreateMembershipRequest,
|
|
34
40
|
CreateMembershipResponse,
|
|
41
|
+
CreateMembershipRequestSchema,
|
|
35
42
|
DeleteMembershipRequest,
|
|
36
43
|
UpdateMembershipRequest,
|
|
37
44
|
UpdateMembershipResponse,
|
|
@@ -39,8 +46,11 @@ import {
|
|
|
39
46
|
ListOrganizationUsersResponse,
|
|
40
47
|
CreateMembership,
|
|
41
48
|
UpdateMembership,
|
|
49
|
+
CreateMembershipSchema,
|
|
50
|
+
UpdateMembershipSchema,
|
|
42
51
|
ResendInviteRequest,
|
|
43
52
|
ResendInviteResponse,
|
|
53
|
+
ResendInviteRequestSchema,
|
|
44
54
|
} from "./pkg/grpc/scalekit/v1/users/users_pb";
|
|
45
55
|
import {
|
|
46
56
|
CreateUserRequest,
|
|
@@ -48,7 +58,7 @@ import {
|
|
|
48
58
|
} from "./types/user";
|
|
49
59
|
|
|
50
60
|
export default class UserClient {
|
|
51
|
-
private client:
|
|
61
|
+
private client: Client<typeof UserService>;
|
|
52
62
|
|
|
53
63
|
constructor(
|
|
54
64
|
private readonly grpcConnect: GrpcConnect,
|
|
@@ -125,10 +135,10 @@ export default class UserClient {
|
|
|
125
135
|
throw new Error("email is required");
|
|
126
136
|
}
|
|
127
137
|
|
|
128
|
-
const user =
|
|
138
|
+
const user = create(CreateUserSchema, {
|
|
129
139
|
email: options.email,
|
|
130
140
|
userProfile: options.userProfile
|
|
131
|
-
?
|
|
141
|
+
? create(CreateUserProfileSchema, {
|
|
132
142
|
firstName: options.userProfile.firstName,
|
|
133
143
|
lastName: options.userProfile.lastName,
|
|
134
144
|
})
|
|
@@ -136,14 +146,11 @@ export default class UserClient {
|
|
|
136
146
|
metadata: options.metadata,
|
|
137
147
|
});
|
|
138
148
|
|
|
139
|
-
const request
|
|
149
|
+
const request = create(CreateUserAndMembershipRequestSchema, {
|
|
140
150
|
organizationId,
|
|
141
151
|
user,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (options.sendInvitationEmail !== undefined) {
|
|
145
|
-
request.sendInvitationEmail = options.sendInvitationEmail;
|
|
146
|
-
}
|
|
152
|
+
sendInvitationEmail: options.sendInvitationEmail,
|
|
153
|
+
});
|
|
147
154
|
|
|
148
155
|
const response = await this.coreClient.connectExec(
|
|
149
156
|
this.client.createUserAndMembership,
|
|
@@ -382,7 +389,7 @@ export default class UserClient {
|
|
|
382
389
|
userId: string,
|
|
383
390
|
options: UpdateUserRequestType
|
|
384
391
|
): Promise<UpdateUserResponse> {
|
|
385
|
-
const updateUser =
|
|
392
|
+
const updateUser = create(UpdateUserSchema, {
|
|
386
393
|
userProfile: options.userProfile
|
|
387
394
|
? {
|
|
388
395
|
firstName: options.userProfile.firstName,
|
|
@@ -411,7 +418,7 @@ export default class UserClient {
|
|
|
411
418
|
*
|
|
412
419
|
* @param {string} userId - The Scalekit user identifier to delete (format: "usr_...")
|
|
413
420
|
*
|
|
414
|
-
* @returns {Promise<
|
|
421
|
+
* @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on successful deletion
|
|
415
422
|
*
|
|
416
423
|
* @throws {Error} If the user is not found or deletion fails
|
|
417
424
|
*
|
|
@@ -441,7 +448,7 @@ export default class UserClient {
|
|
|
441
448
|
* @see {@link deleteMembership} - Remove user from a specific organization only
|
|
442
449
|
* @see {@link getUser} - Check if user exists before deletion
|
|
443
450
|
*/
|
|
444
|
-
async deleteUser(userId: string): Promise<
|
|
451
|
+
async deleteUser(userId: string): Promise<MessageShape<typeof EmptySchema>> {
|
|
445
452
|
return this.coreClient.connectExec(this.client.deleteUser, {
|
|
446
453
|
identities: {
|
|
447
454
|
case: "id",
|
|
@@ -525,23 +532,20 @@ export default class UserClient {
|
|
|
525
532
|
sendInvitationEmail?: boolean;
|
|
526
533
|
} = {}
|
|
527
534
|
): Promise<CreateMembershipResponse> {
|
|
528
|
-
const membership =
|
|
535
|
+
const membership = create(CreateMembershipSchema, {
|
|
529
536
|
roles: options.roles?.map((role) => ({ name: role })) || [],
|
|
530
537
|
metadata: options.metadata || {},
|
|
531
538
|
});
|
|
532
539
|
|
|
533
|
-
const request
|
|
540
|
+
const request = create(CreateMembershipRequestSchema, {
|
|
534
541
|
organizationId,
|
|
535
542
|
identities: {
|
|
536
543
|
case: "id",
|
|
537
544
|
value: userId,
|
|
538
545
|
},
|
|
539
546
|
membership,
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
if (options.sendInvitationEmail !== undefined) {
|
|
543
|
-
request.sendInvitationEmail = options.sendInvitationEmail;
|
|
544
|
-
}
|
|
547
|
+
sendInvitationEmail: options.sendInvitationEmail,
|
|
548
|
+
});
|
|
545
549
|
|
|
546
550
|
return this.coreClient.connectExec(this.client.createMembership, request);
|
|
547
551
|
}
|
|
@@ -557,7 +561,7 @@ export default class UserClient {
|
|
|
557
561
|
* @param {string} organizationId - The organization ID to remove the user from (format: "org_...")
|
|
558
562
|
* @param {string} userId - The user ID to remove (format: "usr_...")
|
|
559
563
|
*
|
|
560
|
-
* @returns {Promise<
|
|
564
|
+
* @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on successful removal
|
|
561
565
|
*
|
|
562
566
|
* @throws {Error} If the user or organization is not found
|
|
563
567
|
* @throws {Error} If the membership doesn't exist
|
|
@@ -591,7 +595,7 @@ export default class UserClient {
|
|
|
591
595
|
async deleteMembership(
|
|
592
596
|
organizationId: string,
|
|
593
597
|
userId: string
|
|
594
|
-
): Promise<
|
|
598
|
+
): Promise<MessageShape<typeof EmptySchema>> {
|
|
595
599
|
return this.coreClient.connectExec(this.client.deleteMembership, {
|
|
596
600
|
organizationId,
|
|
597
601
|
identities: {
|
|
@@ -682,7 +686,7 @@ export default class UserClient {
|
|
|
682
686
|
metadata?: Record<string, string>;
|
|
683
687
|
} = {}
|
|
684
688
|
): Promise<UpdateMembershipResponse> {
|
|
685
|
-
const membership =
|
|
689
|
+
const membership = create(UpdateMembershipSchema, {
|
|
686
690
|
roles: options.roles?.map((role) => ({ name: role })) || [],
|
|
687
691
|
metadata: options.metadata || {},
|
|
688
692
|
});
|
|
@@ -815,7 +819,7 @@ export default class UserClient {
|
|
|
815
819
|
throw new Error("userId is required");
|
|
816
820
|
}
|
|
817
821
|
|
|
818
|
-
const request =
|
|
822
|
+
const request = create(ResendInviteRequestSchema, {
|
|
819
823
|
organizationId,
|
|
820
824
|
id: userId,
|
|
821
825
|
});
|
package/src/webauthn.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
|
+
import type { Client } from '@connectrpc/connect';
|
|
2
3
|
import GrpcConnect from './connect';
|
|
3
4
|
import CoreClient from './core';
|
|
4
|
-
import { WebAuthnService } from './pkg/grpc/scalekit/v1/auth/
|
|
5
|
+
import { WebAuthnService } from './pkg/grpc/scalekit/v1/auth/webauthn_pb';
|
|
5
6
|
import {
|
|
6
|
-
|
|
7
|
+
ListCredentialsRequestSchema,
|
|
8
|
+
UpdateCredentialRequestSchema,
|
|
9
|
+
DeleteCredentialRequestSchema,
|
|
7
10
|
ListCredentialsResponse,
|
|
8
|
-
UpdateCredentialRequest,
|
|
9
11
|
UpdateCredentialResponse,
|
|
10
|
-
DeleteCredentialRequest,
|
|
11
12
|
DeleteCredentialResponse
|
|
12
13
|
} from './pkg/grpc/scalekit/v1/auth/webauthn_pb';
|
|
13
14
|
|
|
14
15
|
export default class WebAuthnClient {
|
|
15
|
-
private client:
|
|
16
|
+
private client: Client<typeof WebAuthnService>;
|
|
16
17
|
|
|
17
18
|
constructor(
|
|
18
19
|
private readonly grpcConnect: GrpcConnect,
|
|
@@ -33,7 +34,7 @@ export default class WebAuthnClient {
|
|
|
33
34
|
throw new Error('userId must be a non-empty string');
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
const request =
|
|
37
|
+
const request = create(ListCredentialsRequestSchema, {
|
|
37
38
|
userId
|
|
38
39
|
});
|
|
39
40
|
|
|
@@ -62,7 +63,7 @@ export default class WebAuthnClient {
|
|
|
62
63
|
throw new Error('displayName must be a non-empty string');
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
const request =
|
|
66
|
+
const request = create(UpdateCredentialRequestSchema, {
|
|
66
67
|
credentialId,
|
|
67
68
|
displayName
|
|
68
69
|
});
|
|
@@ -85,7 +86,7 @@ export default class WebAuthnClient {
|
|
|
85
86
|
throw new Error('credentialId must be a non-empty string');
|
|
86
87
|
}
|
|
87
88
|
|
|
88
|
-
const request =
|
|
89
|
+
const request = create(DeleteCredentialRequestSchema, {
|
|
89
90
|
credentialId
|
|
90
91
|
});
|
|
91
92
|
|
package/tests/utils/test-data.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
1
2
|
import { CreateUserRequest, UpdateUserRequest } from '../../src/types/user';
|
|
2
3
|
import { TemplateType } from '../../src/pkg/grpc/scalekit/v1/auth/passwordless_pb';
|
|
3
4
|
import { DomainType } from '../../src/pkg/grpc/scalekit/v1/domains/domains_pb';
|
|
4
|
-
import {
|
|
5
|
-
|
|
5
|
+
import {
|
|
6
|
+
CreateRole,
|
|
7
|
+
UpdateRole,
|
|
8
|
+
CreateOrganizationRole,
|
|
9
|
+
CreatePermission,
|
|
10
|
+
CreateRoleSchema,
|
|
11
|
+
UpdateRoleSchema,
|
|
12
|
+
CreateOrganizationRoleSchema,
|
|
13
|
+
CreatePermissionSchema,
|
|
14
|
+
} from '../../src/pkg/grpc/scalekit/v1/roles/roles_pb';
|
|
6
15
|
|
|
7
16
|
/**
|
|
8
17
|
* Test data generation utilities to reduce redundancy across test files
|
|
@@ -200,7 +209,7 @@ export class TestDataGenerator {
|
|
|
200
209
|
static generateRoleData(overrides: Partial<CreateRole> = {}): CreateRole {
|
|
201
210
|
const uniqueId = this.generateUniqueId();
|
|
202
211
|
|
|
203
|
-
return
|
|
212
|
+
return create(CreateRoleSchema, {
|
|
204
213
|
name: `test_role_${uniqueId}`,
|
|
205
214
|
displayName: `Test Role ${uniqueId}`,
|
|
206
215
|
description: `Test role description ${uniqueId}`,
|
|
@@ -214,12 +223,12 @@ export class TestDataGenerator {
|
|
|
214
223
|
*/
|
|
215
224
|
static generateRoleUpdateData(overrides: Partial<UpdateRole> = {}): UpdateRole {
|
|
216
225
|
const uniqueId = this.generateUniqueId();
|
|
217
|
-
|
|
218
|
-
return new UpdateRole({
|
|
226
|
+
const init = {
|
|
219
227
|
displayName: `Updated Role ${uniqueId}`,
|
|
220
228
|
description: `Updated role description ${uniqueId}`,
|
|
221
229
|
...overrides
|
|
222
|
-
}
|
|
230
|
+
};
|
|
231
|
+
return create(UpdateRoleSchema, init as Parameters<typeof create>[1]);
|
|
223
232
|
}
|
|
224
233
|
|
|
225
234
|
/**
|
|
@@ -228,7 +237,7 @@ export class TestDataGenerator {
|
|
|
228
237
|
static generateOrganizationRoleData(overrides: Partial<CreateOrganizationRole> = {}): CreateOrganizationRole {
|
|
229
238
|
const uniqueId = this.generateUniqueId();
|
|
230
239
|
|
|
231
|
-
return
|
|
240
|
+
return create(CreateOrganizationRoleSchema, {
|
|
232
241
|
name: `test_org_role_${uniqueId}`,
|
|
233
242
|
displayName: `Test Organization Role ${uniqueId}`,
|
|
234
243
|
description: `Test organization role description ${uniqueId}`,
|
|
@@ -243,7 +252,7 @@ export class TestDataGenerator {
|
|
|
243
252
|
static generatePermissionData(overrides: Partial<CreatePermission> = {}): CreatePermission {
|
|
244
253
|
const uniqueId = this.generateUniqueId();
|
|
245
254
|
|
|
246
|
-
return
|
|
255
|
+
return create(CreatePermissionSchema, {
|
|
247
256
|
name: `test_permission_${uniqueId}`,
|
|
248
257
|
description: `Test permission description ${uniqueId}`,
|
|
249
258
|
...overrides
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import GrpcConnect from "./connect";
|
|
2
|
-
import CoreClient from "./core";
|
|
3
|
-
import { CreateConnectedAccount, CreateConnectedAccountResponse, DeleteConnectedAccountResponse, GetConnectedAccountByIdentifierResponse, GetMagicLinkForConnectedAccountResponse, ListConnectedAccountsResponse, UpdateConnectedAccount, UpdateConnectedAccountResponse } from "./pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb";
|
|
4
|
-
/**
|
|
5
|
-
* Client for managing connected accounts for third-party integrations.
|
|
6
|
-
*
|
|
7
|
-
* This mirrors the Python SDK `ConnectedAccountsClient` and exposes a typed,
|
|
8
|
-
* ergonomic API around the `ConnectedAccountService` to:
|
|
9
|
-
* - list connected accounts
|
|
10
|
-
* - create/update/delete connected accounts
|
|
11
|
-
* - generate magic links for authorization
|
|
12
|
-
* - fetch full authentication details for a connected account
|
|
13
|
-
*/
|
|
14
|
-
export default class ConnectedAccountsClient {
|
|
15
|
-
private readonly grpcConnect;
|
|
16
|
-
private readonly coreClient;
|
|
17
|
-
private client;
|
|
18
|
-
constructor(grpcConnect: GrpcConnect, coreClient: CoreClient);
|
|
19
|
-
/**
|
|
20
|
-
* Lists connected accounts with optional filters and pagination.
|
|
21
|
-
*
|
|
22
|
-
* @param options Optional filtering and pagination parameters
|
|
23
|
-
*/
|
|
24
|
-
listConnectedAccounts(options?: {
|
|
25
|
-
organizationId?: string;
|
|
26
|
-
userId?: string;
|
|
27
|
-
connector?: string;
|
|
28
|
-
identifier?: string;
|
|
29
|
-
provider?: string;
|
|
30
|
-
pageSize?: number;
|
|
31
|
-
pageToken?: string;
|
|
32
|
-
query?: string;
|
|
33
|
-
}): Promise<ListConnectedAccountsResponse>;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new connected account.
|
|
36
|
-
*
|
|
37
|
-
* @param params Connected account creation parameters
|
|
38
|
-
*/
|
|
39
|
-
createConnectedAccount(params: {
|
|
40
|
-
connector: string;
|
|
41
|
-
identifier: string;
|
|
42
|
-
connectedAccount: CreateConnectedAccount;
|
|
43
|
-
organizationId?: string;
|
|
44
|
-
userId?: string;
|
|
45
|
-
}): Promise<CreateConnectedAccountResponse>;
|
|
46
|
-
/**
|
|
47
|
-
* Updates an existing connected account.
|
|
48
|
-
*
|
|
49
|
-
* You can target the account either by `connectedAccountId` or by the combination
|
|
50
|
-
* of `organizationId`/`userId`, `connector`, and `identifier`.
|
|
51
|
-
*/
|
|
52
|
-
updateConnectedAccount(params: {
|
|
53
|
-
connector: string;
|
|
54
|
-
identifier: string;
|
|
55
|
-
connectedAccount: UpdateConnectedAccount;
|
|
56
|
-
organizationId?: string;
|
|
57
|
-
userId?: string;
|
|
58
|
-
connectedAccountId?: string;
|
|
59
|
-
}): Promise<UpdateConnectedAccountResponse>;
|
|
60
|
-
/**
|
|
61
|
-
* Deletes a connected account and revokes its credentials.
|
|
62
|
-
*
|
|
63
|
-
* You can target the account either by `connectedAccountId` or by the combination
|
|
64
|
-
* of `organizationId`/`userId`, `connector`, and `identifier`.
|
|
65
|
-
*/
|
|
66
|
-
deleteConnectedAccount(params: {
|
|
67
|
-
connector: string;
|
|
68
|
-
identifier: string;
|
|
69
|
-
organizationId?: string;
|
|
70
|
-
userId?: string;
|
|
71
|
-
connectedAccountId?: string;
|
|
72
|
-
}): Promise<DeleteConnectedAccountResponse>;
|
|
73
|
-
/**
|
|
74
|
-
* Generates a time-limited magic link for connecting or re-authorizing a third-party account.
|
|
75
|
-
*/
|
|
76
|
-
getMagicLinkForConnectedAccount(params: {
|
|
77
|
-
connector: string;
|
|
78
|
-
identifier: string;
|
|
79
|
-
organizationId?: string;
|
|
80
|
-
userId?: string;
|
|
81
|
-
connectedAccountId?: string;
|
|
82
|
-
}): Promise<GetMagicLinkForConnectedAccountResponse>;
|
|
83
|
-
/**
|
|
84
|
-
* Retrieves complete authentication details for a connected account.
|
|
85
|
-
*
|
|
86
|
-
* This method returns sensitive credential information, so ensure you protect access
|
|
87
|
-
* to this in your application.
|
|
88
|
-
*/
|
|
89
|
-
getConnectedAccountByIdentifier(params: {
|
|
90
|
-
connector: string;
|
|
91
|
-
identifier: string;
|
|
92
|
-
organizationId?: string;
|
|
93
|
-
userId?: string;
|
|
94
|
-
connectedAccountId?: string;
|
|
95
|
-
}): Promise<GetConnectedAccountByIdentifierResponse>;
|
|
96
|
-
}
|