diff --git a/packages/clients/src/api/iam/v1alpha1/api.gen.ts b/packages/clients/src/api/iam/v1alpha1/api.gen.ts index c87d7debf..f82fa31d0 100644 --- a/packages/clients/src/api/iam/v1alpha1/api.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/api.gen.ts @@ -46,6 +46,7 @@ import { unmarshalListQuotaResponse, unmarshalListRulesResponse, unmarshalListSSHKeysResponse, + unmarshalListUserConnectionsResponse, unmarshalListUsersResponse, unmarshalLog, unmarshalMFAOTP, @@ -114,6 +115,8 @@ import type { ListRulesResponse, ListSSHKeysRequest, ListSSHKeysResponse, + ListUserConnectionsRequest, + ListUserConnectionsResponse, ListUsersRequest, ListUsersResponse, LockUserRequest, @@ -509,6 +512,15 @@ export class API extends ParentAPI { unmarshalListGracePeriodsResponse, ) + listUserConnections = (request: Readonly) => + this.client.fetch( + { + method: 'GET', + path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/connections`, + }, + unmarshalListUserConnectionsResponse, + ) + protected pageOfListApplications = ( request: Readonly = {}, ) => diff --git a/packages/clients/src/api/iam/v1alpha1/index.gen.ts b/packages/clients/src/api/iam/v1alpha1/index.gen.ts index 80d869148..56b026385 100644 --- a/packages/clients/src/api/iam/v1alpha1/index.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/index.gen.ts @@ -71,6 +71,11 @@ export type { ListSSHKeysRequest, ListSSHKeysRequestOrderBy, ListSSHKeysResponse, + ListUserConnectionsRequest, + ListUserConnectionsResponse, + ListUserConnectionsResponseConnection, + ListUserConnectionsResponseConnectionConnectedOrganization, + ListUserConnectionsResponseConnectionConnectedUser, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, diff --git a/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts b/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts index d675d2624..81fa27f4d 100644 --- a/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts @@ -36,6 +36,10 @@ import type { ListQuotaResponse, ListRulesResponse, ListSSHKeysResponse, + ListUserConnectionsResponse, + ListUserConnectionsResponseConnection, + ListUserConnectionsResponseConnectionConnectedOrganization, + ListUserConnectionsResponseConnectionConnectedUser, ListUsersResponse, Log, MFAOTP, @@ -513,6 +517,76 @@ export const unmarshalListSSHKeysResponse = ( } as ListSSHKeysResponse } +const unmarshalListUserConnectionsResponseConnectionConnectedOrganization = ( + data: unknown, +): ListUserConnectionsResponseConnectionConnectedOrganization => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListUserConnectionsResponseConnectionConnectedOrganization' failed as data isn't a dictionary.`, + ) + } + + return { + id: data.id, + locked: data.locked, + name: data.name, + } as ListUserConnectionsResponseConnectionConnectedOrganization +} + +const unmarshalListUserConnectionsResponseConnectionConnectedUser = ( + data: unknown, +): ListUserConnectionsResponseConnectionConnectedUser => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListUserConnectionsResponseConnectionConnectedUser' failed as data isn't a dictionary.`, + ) + } + + return { + id: data.id, + type: data.type, + username: data.username, + } as ListUserConnectionsResponseConnectionConnectedUser +} + +const unmarshalListUserConnectionsResponseConnection = ( + data: unknown, +): ListUserConnectionsResponseConnection => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListUserConnectionsResponseConnection' failed as data isn't a dictionary.`, + ) + } + + return { + organization: data.organization + ? unmarshalListUserConnectionsResponseConnectionConnectedOrganization( + data.organization, + ) + : undefined, + user: data.user + ? unmarshalListUserConnectionsResponseConnectionConnectedUser(data.user) + : undefined, + } as ListUserConnectionsResponseConnection +} + +export const unmarshalListUserConnectionsResponse = ( + data: unknown, +): ListUserConnectionsResponse => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListUserConnectionsResponse' failed as data isn't a dictionary.`, + ) + } + + return { + connections: unmarshalArrayOfObject( + data.connections, + unmarshalListUserConnectionsResponseConnection, + ), + } as ListUserConnectionsResponse +} + export const unmarshalListUsersResponse = ( data: unknown, ): ListUsersResponse => { diff --git a/packages/clients/src/api/iam/v1alpha1/types.gen.ts b/packages/clients/src/api/iam/v1alpha1/types.gen.ts index b1451bae1..5315eaf29 100644 --- a/packages/clients/src/api/iam/v1alpha1/types.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/types.gen.ts @@ -135,6 +135,18 @@ export interface QuotumLimit { unlimited?: boolean } +export interface ListUserConnectionsResponseConnectionConnectedOrganization { + id: string + name: string + locked: boolean +} + +export interface ListUserConnectionsResponseConnectionConnectedUser { + id: string + username: string + type: UserType +} + export interface JWT { /** JWT ID. */ jti: string @@ -463,6 +475,13 @@ export interface SSHKey { disabled: boolean } +export interface ListUserConnectionsResponseConnection { + /** Information about the connected organization. */ + organization?: ListUserConnectionsResponseConnectionConnectedOrganization + /** Information about the connected user. */ + user?: ListUserConnectionsResponseConnectionConnectedUser +} + export interface User { /** ID of user. */ id: string @@ -1022,6 +1041,16 @@ export interface ListSSHKeysResponse { totalCount: number } +export type ListUserConnectionsRequest = { + /** ID of the user to list connections for. */ + userId: string +} + +export interface ListUserConnectionsResponse { + /** List of connections. */ + connections: ListUserConnectionsResponseConnection[] +} + export type ListUsersRequest = { /** Criteria for sorting results. */ orderBy?: ListUsersRequestOrderBy