Path: blob/main/components/dashboard/src/service/json-rpc-user-client.ts
2500 views
/**1* Copyright (c) 2023 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56import { UserService } from "@gitpod/public-api/lib/gitpod/v1/user_connect";78import { PromiseClient } from "@connectrpc/connect";9import { PartialMessage } from "@bufbuild/protobuf";10import {11BlockUserRequest,12BlockUserResponse,13DeleteUserRequest,14DeleteUserResponse,15GetAuthenticatedUserRequest,16GetAuthenticatedUserResponse,17GetUserRequest,18GetUserResponse,19ListUsersRequest,20ListUsersResponse,21SetRolesOrPermissionsRequest,22SetRolesOrPermissionsResponse,23SetWorkspaceAutoStartOptionsRequest,24SetWorkspaceAutoStartOptionsResponse,25UpdateUserRequest,26UpdateUserResponse,27VerifyUserRequest,28VerifyUserResponse,29} from "@gitpod/public-api/lib/gitpod/v1/user_pb";30import { getGitpodService } from "./service";31import { converter } from "./public-api";32import { ApplicationError, ErrorCodes } from "@gitpod/gitpod-protocol/lib/messaging/error";3334export class JsonRpcUserClient implements PromiseClient<typeof UserService> {35async getAuthenticatedUser(36request: PartialMessage<GetAuthenticatedUserRequest>,37): Promise<GetAuthenticatedUserResponse> {38const user = await getGitpodService().server.getLoggedInUser();39return new GetAuthenticatedUserResponse({40user: converter.toUser(user),41});42}4344async updateUser(request: PartialMessage<UpdateUserRequest>): Promise<UpdateUserResponse> {45throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");46}4748async setWorkspaceAutoStartOptions(49request: PartialMessage<SetWorkspaceAutoStartOptionsRequest>,50): Promise<SetWorkspaceAutoStartOptionsResponse> {51throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");52}5354async deleteUser(request: PartialMessage<DeleteUserRequest>): Promise<DeleteUserResponse> {55throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");56}5758async verifyUser(request: PartialMessage<VerifyUserRequest>): Promise<VerifyUserResponse> {59throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");60}6162async blockUser(request: PartialMessage<BlockUserRequest>): Promise<BlockUserResponse> {63throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");64}6566async listUsers(request: PartialMessage<ListUsersRequest>): Promise<ListUsersResponse> {67throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");68}6970async getUser(request: PartialMessage<GetUserRequest>): Promise<GetUserResponse> {71throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");72}7374async setRolesOrPermissions(75request: PartialMessage<SetRolesOrPermissionsRequest>,76): Promise<SetRolesOrPermissionsResponse> {77throw new ApplicationError(ErrorCodes.UNIMPLEMENTED, "not implemented");78}79}808182