Skip to content

Commit

Permalink
feat(iam): add LockUser and UnlockUser method (#1552)
Browse files Browse the repository at this point in the history
Co-authored-by: Laure-di <[email protected]>
  • Loading branch information
scaleway-bot and Laure-di authored Nov 4, 2024
1 parent 72161ef commit 3b0ef23
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
37 changes: 37 additions & 0 deletions packages/clients/src/api/iam/v1alpha1/api.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ import type {
ListSSHKeysResponse,
ListUsersRequest,
ListUsersResponse,
LockUserRequest,
Log,
Policy,
Quotum,
Expand All @@ -112,6 +113,7 @@ import type {
SetGroupMembersRequest,
SetRulesRequest,
SetRulesResponse,
UnlockUserRequest,
UpdateAPIKeyRequest,
UpdateApplicationRequest,
UpdateGroupRequest,
Expand Down Expand Up @@ -358,6 +360,41 @@ export class API extends ParentAPI {
unmarshalUser,
)

/**
* Lock a user. Lock a user. Note that a locked user cannot log in or use API
* keys until the locked status is removed.
*
* @param request - The request {@link LockUserRequest}
* @returns A Promise of User
*/
lockUser = (request: Readonly<LockUserRequest>) =>
this.client.fetch<User>(
{
body: '{}',
headers: jsonContentHeaders,
method: 'POST',
path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/lock`,
},
unmarshalUser,
)

/**
* Unlock a user.
*
* @param request - The request {@link UnlockUserRequest}
* @returns A Promise of User
*/
unlockUser = (request: Readonly<UnlockUserRequest>) =>
this.client.fetch<User>(
{
body: '{}',
headers: jsonContentHeaders,
method: 'POST',
path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/unlock`,
},
unmarshalUser,
)

protected pageOfListApplications = (
request: Readonly<ListApplicationsRequest> = {},
) =>
Expand Down
2 changes: 2 additions & 0 deletions packages/clients/src/api/iam/v1alpha1/index.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ export type {
ListUsersRequest,
ListUsersRequestOrderBy,
ListUsersResponse,
LockUserRequest,
Log,
LogAction,
LogResourceType,
Expand All @@ -81,6 +82,7 @@ export type {
SetGroupMembersRequest,
SetRulesRequest,
SetRulesResponse,
UnlockUserRequest,
UpdateAPIKeyRequest,
UpdateApplicationRequest,
UpdateGroupRequest,
Expand Down
8 changes: 8 additions & 0 deletions packages/clients/src/api/iam/v1alpha1/types.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,10 @@ export interface ListUsersResponse {
totalCount: number
}

export type LockUserRequest = {
userId: string
}

export type RemoveGroupMemberRequest = {
/** ID of the group. */
groupId: string
Expand Down Expand Up @@ -989,6 +993,10 @@ export interface SetRulesResponse {
rules: Rule[]
}

export type UnlockUserRequest = {
userId: string
}

export type UpdateAPIKeyRequest = {
/** Access key to update. */
accessKey: string
Expand Down

0 comments on commit 3b0ef23

Please sign in to comment.