From dae738311f630394a38be1a96b5095e5d61c374d Mon Sep 17 00:00:00 2001 From: "Laurie T. Malau" Date: Tue, 8 Nov 2022 15:15:18 +0000 Subject: [PATCH] [public api] Proto definitions for tokens --- .gitattributes | 2 + .../gitpod/experimental/v1/tokens.proto | 113 ++ .../go/experimental/v1/tokens.pb.go | 1107 +++++++++++++++++ .../go/experimental/v1/tokens_grpc.pb.go | 301 +++++ .../v1/v1connect/tokens.connect.go | 213 ++++ .../experimental/v1/tokens_connectweb.ts | 88 ++ .../src/gitpod/experimental/v1/tokens_pb.ts | 559 +++++++++ 7 files changed, 2383 insertions(+) create mode 100644 components/public-api/gitpod/experimental/v1/tokens.proto create mode 100644 components/public-api/go/experimental/v1/tokens.pb.go create mode 100644 components/public-api/go/experimental/v1/tokens_grpc.pb.go create mode 100644 components/public-api/go/experimental/v1/v1connect/tokens.connect.go create mode 100644 components/public-api/typescript/src/gitpod/experimental/v1/tokens_connectweb.ts create mode 100644 components/public-api/typescript/src/gitpod/experimental/v1/tokens_pb.ts diff --git a/.gitattributes b/.gitattributes index 9f419455d48594..018e476fc96521 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,8 +3,10 @@ install/installer/cmd/testdata/render/**/*.golden linguist-generated=true # gRPC and Protobuf components/**/*.pb.go linguist-generated=true +components/**/*_grpc.pb.go linguist-generated=true components/**/*_pb.js linguist-generated=true components/**/*_pb.ts linguist-generated=true components/**/*_pb.d.ts linguist-generated=true +components/**/*_connectweb.ts linguist-generated=true **/go.sum linguist-generated=true diff --git a/components/public-api/gitpod/experimental/v1/tokens.proto b/components/public-api/gitpod/experimental/v1/tokens.proto new file mode 100644 index 00000000000000..450a159597f920 --- /dev/null +++ b/components/public-api/gitpod/experimental/v1/tokens.proto @@ -0,0 +1,113 @@ +syntax = "proto3"; + +package gitpod.experimental.v1; + +option go_package = "github.com/gitpod-io/gitpod/components/public-api/go/experimental/v1"; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/field_mask.proto"; + +// PersonalAccessToken represents details of an access token for personal use. +message PersonalAccessToken { + // id is the unique identifier of this token + // Read only. + string id = 1; + + // value is the secret value of the token + // The value property is only populated when the PersonalAccessToken is first created, and never again. + // If you you want to compare your existing token, use the hash property + // Read only. + string value = 2; + + // hash is the SHA-512 hash of the token value + // You can use the hash to compare a token you hold against the one we keep on record by doing `echo -n $TOKEN | sha256sum`. + // Read only. + string hash = 3; + + // name is the name of the token for humans, set by the user + string name = 4; + + // description is the description of the token set by the user + string description = 5; + + // expiration_time is the time when the token expires + // Read only. + google.protobuf.Timestamp expiration_time = 6; + + // scopes are the permission scopes attached to this token. + // By default, no scopes are attached and therefore no access is granted to this token. + // Specifying '*' grants all permissions the owner of the token has. + repeated string scopes = 7; + + // created_time is the time when the token was first created. + google.protobuf.Timestamp created_at = 8; +} + +service TokensService { + + // CreatePersonalAccessTokenRequest creates a new token. + rpc CreatePersonalAccessToken(CreatePersonalAccessTokenRequest) returns (CreatePersonalAccessTokenResponse) {} + + // ListPersonalAccessTokens returns token by ID. + rpc GetPersonalAccessToken(GetPersonalAccessTokenRequest) returns (GetPersonalAccessTokenResponse) {} + + // ListPersonalAccessTokens returns a list of tokens. + rpc ListPersonalAccessTokens(ListPersonalAccessTokensRequest) returns (ListPersonalAccessTokensResponse) {} + + // RegeneratePersonalAccessToken generates a new token and replaces the previous one. + rpc RegeneratePersonalAccessToken(RegeneratePersonalAccessTokenRequest) returns (RegeneratePersonalAccessTokenResponse) {} + + // UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + rpc UpdatePersonalAccessToken(UpdatePersonalAccessTokenRequest) returns (UpdatePersonalAccessTokenResponse) {} + + // DeletePersonalAccessToken removes token by ID. + rpc DeletePersonalAccessToken(DeletePersonalAccessTokenRequest) returns (DeletePersonalAccessTokenResponse) {} +} + +message CreatePersonalAccessTokenRequest { + PersonalAccessToken token = 1; +} + +message CreatePersonalAccessTokenResponse { + PersonalAccessToken token = 1; +} + +message GetPersonalAccessTokenRequest { + string id = 1; +} + +message GetPersonalAccessTokenResponse { + PersonalAccessToken token = 1; +} + +message ListPersonalAccessTokensRequest { +} + +message ListPersonalAccessTokensResponse { + repeated PersonalAccessToken tokens = 1; +} + +message RegeneratePersonalAccessTokenRequest { + // expiration time is the time when the new token should expire + google.protobuf.Timestamp expiration_time = 1; +} + +message RegeneratePersonalAccessTokenResponse { + PersonalAccessToken token = 1; +} + +message UpdatePersonalAccessTokenRequest { + PersonalAccessToken token = 1; + google.protobuf.FieldMask update_mask = 2; +} + +message UpdatePersonalAccessTokenResponse { + PersonalAccessToken token = 1; +} + +message DeletePersonalAccessTokenRequest { + string id = 1; +} + +message DeletePersonalAccessTokenResponse { +} diff --git a/components/public-api/go/experimental/v1/tokens.pb.go b/components/public-api/go/experimental/v1/tokens.pb.go new file mode 100644 index 00000000000000..2170bc4d51b9e4 --- /dev/null +++ b/components/public-api/go/experimental/v1/tokens.pb.go @@ -0,0 +1,1107 @@ +// Copyright (c) 2022 Gitpod GmbH. All rights reserved. +// Licensed under the GNU Affero General Public License (AGPL). +// See License-AGPL.txt in the project root for license information. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc (unknown) +// source: gitpod/experimental/v1/tokens.proto + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// PersonalAccessToken represents details of an access token for personal use. +type PersonalAccessToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the unique identifier of this token + // Read only. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // value is the secret value of the token + // The value property is only populated when the PersonalAccessToken is first created, and never again. + // If you you want to compare your existing token, use the hash property + // Read only. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // hash is the SHA-512 hash of the token value + // You can use the hash to compare a token you hold against the one we keep on record by doing `echo -n $TOKEN | sha256sum`. + // Read only. + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` + // name is the name of the token for humans, set by the user + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // description is the description of the token set by the user + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // expiration_time is the time when the token expires + // Read only. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // scopes are the permission scopes attached to this token. + // By default, no scopes are attached and therefore no access is granted to this token. + // Specifying '*' grants all permissions the owner of the token has. + Scopes []string `protobuf:"bytes,7,rep,name=scopes,proto3" json:"scopes,omitempty"` + // created_time is the time when the token was first created. + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *PersonalAccessToken) Reset() { + *x = PersonalAccessToken{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonalAccessToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonalAccessToken) ProtoMessage() {} + +func (x *PersonalAccessToken) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonalAccessToken.ProtoReflect.Descriptor instead. +func (*PersonalAccessToken) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{0} +} + +func (x *PersonalAccessToken) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PersonalAccessToken) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *PersonalAccessToken) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +func (x *PersonalAccessToken) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PersonalAccessToken) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PersonalAccessToken) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *PersonalAccessToken) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *PersonalAccessToken) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type CreatePersonalAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *CreatePersonalAccessTokenRequest) Reset() { + *x = CreatePersonalAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersonalAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersonalAccessTokenRequest) ProtoMessage() {} + +func (x *CreatePersonalAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePersonalAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*CreatePersonalAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{1} +} + +func (x *CreatePersonalAccessTokenRequest) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +type CreatePersonalAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *CreatePersonalAccessTokenResponse) Reset() { + *x = CreatePersonalAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersonalAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersonalAccessTokenResponse) ProtoMessage() {} + +func (x *CreatePersonalAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePersonalAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*CreatePersonalAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{2} +} + +func (x *CreatePersonalAccessTokenResponse) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +type GetPersonalAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetPersonalAccessTokenRequest) Reset() { + *x = GetPersonalAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPersonalAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPersonalAccessTokenRequest) ProtoMessage() {} + +func (x *GetPersonalAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPersonalAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*GetPersonalAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{3} +} + +func (x *GetPersonalAccessTokenRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetPersonalAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *GetPersonalAccessTokenResponse) Reset() { + *x = GetPersonalAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPersonalAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPersonalAccessTokenResponse) ProtoMessage() {} + +func (x *GetPersonalAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPersonalAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*GetPersonalAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{4} +} + +func (x *GetPersonalAccessTokenResponse) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +type ListPersonalAccessTokensRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListPersonalAccessTokensRequest) Reset() { + *x = ListPersonalAccessTokensRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersonalAccessTokensRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersonalAccessTokensRequest) ProtoMessage() {} + +func (x *ListPersonalAccessTokensRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPersonalAccessTokensRequest.ProtoReflect.Descriptor instead. +func (*ListPersonalAccessTokensRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{5} +} + +type ListPersonalAccessTokensResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tokens []*PersonalAccessToken `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` +} + +func (x *ListPersonalAccessTokensResponse) Reset() { + *x = ListPersonalAccessTokensResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersonalAccessTokensResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersonalAccessTokensResponse) ProtoMessage() {} + +func (x *ListPersonalAccessTokensResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPersonalAccessTokensResponse.ProtoReflect.Descriptor instead. +func (*ListPersonalAccessTokensResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{6} +} + +func (x *ListPersonalAccessTokensResponse) GetTokens() []*PersonalAccessToken { + if x != nil { + return x.Tokens + } + return nil +} + +type RegeneratePersonalAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // expiration time is the time when the new token should expire + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` +} + +func (x *RegeneratePersonalAccessTokenRequest) Reset() { + *x = RegeneratePersonalAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegeneratePersonalAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegeneratePersonalAccessTokenRequest) ProtoMessage() {} + +func (x *RegeneratePersonalAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegeneratePersonalAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*RegeneratePersonalAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{7} +} + +func (x *RegeneratePersonalAccessTokenRequest) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +type RegeneratePersonalAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *RegeneratePersonalAccessTokenResponse) Reset() { + *x = RegeneratePersonalAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegeneratePersonalAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegeneratePersonalAccessTokenResponse) ProtoMessage() {} + +func (x *RegeneratePersonalAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegeneratePersonalAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*RegeneratePersonalAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{8} +} + +func (x *RegeneratePersonalAccessTokenResponse) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +type UpdatePersonalAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdatePersonalAccessTokenRequest) Reset() { + *x = UpdatePersonalAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersonalAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersonalAccessTokenRequest) ProtoMessage() {} + +func (x *UpdatePersonalAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePersonalAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*UpdatePersonalAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{9} +} + +func (x *UpdatePersonalAccessTokenRequest) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +func (x *UpdatePersonalAccessTokenRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +type UpdatePersonalAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token *PersonalAccessToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *UpdatePersonalAccessTokenResponse) Reset() { + *x = UpdatePersonalAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersonalAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersonalAccessTokenResponse) ProtoMessage() {} + +func (x *UpdatePersonalAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePersonalAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*UpdatePersonalAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdatePersonalAccessTokenResponse) GetToken() *PersonalAccessToken { + if x != nil { + return x.Token + } + return nil +} + +type DeletePersonalAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeletePersonalAccessTokenRequest) Reset() { + *x = DeletePersonalAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePersonalAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePersonalAccessTokenRequest) ProtoMessage() {} + +func (x *DeletePersonalAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePersonalAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*DeletePersonalAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{11} +} + +func (x *DeletePersonalAccessTokenRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeletePersonalAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeletePersonalAccessTokenResponse) Reset() { + *x = DeletePersonalAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePersonalAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePersonalAccessTokenResponse) ProtoMessage() {} + +func (x *DeletePersonalAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_gitpod_experimental_v1_tokens_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePersonalAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*DeletePersonalAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_gitpod_experimental_v1_tokens_proto_rawDescGZIP(), []int{12} +} + +var File_gitpod_experimental_v1_tokens_proto protoreflect.FileDescriptor + +var file_gitpod_experimental_v1_tokens_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x65, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x66, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, + 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x2f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x63, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x67, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x22, 0x6b, 0x0a, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6a, + 0x0a, 0x25, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x20, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x66, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x32, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x21, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0x8d, 0x07, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74, + 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x35, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x69, 0x74, 0x70, + 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x37, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, + 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9e, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, + 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x19, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x69, 0x74, 0x70, + 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x42, 0x46, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_gitpod_experimental_v1_tokens_proto_rawDescOnce sync.Once + file_gitpod_experimental_v1_tokens_proto_rawDescData = file_gitpod_experimental_v1_tokens_proto_rawDesc +) + +func file_gitpod_experimental_v1_tokens_proto_rawDescGZIP() []byte { + file_gitpod_experimental_v1_tokens_proto_rawDescOnce.Do(func() { + file_gitpod_experimental_v1_tokens_proto_rawDescData = protoimpl.X.CompressGZIP(file_gitpod_experimental_v1_tokens_proto_rawDescData) + }) + return file_gitpod_experimental_v1_tokens_proto_rawDescData +} + +var file_gitpod_experimental_v1_tokens_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_gitpod_experimental_v1_tokens_proto_goTypes = []interface{}{ + (*PersonalAccessToken)(nil), // 0: gitpod.experimental.v1.PersonalAccessToken + (*CreatePersonalAccessTokenRequest)(nil), // 1: gitpod.experimental.v1.CreatePersonalAccessTokenRequest + (*CreatePersonalAccessTokenResponse)(nil), // 2: gitpod.experimental.v1.CreatePersonalAccessTokenResponse + (*GetPersonalAccessTokenRequest)(nil), // 3: gitpod.experimental.v1.GetPersonalAccessTokenRequest + (*GetPersonalAccessTokenResponse)(nil), // 4: gitpod.experimental.v1.GetPersonalAccessTokenResponse + (*ListPersonalAccessTokensRequest)(nil), // 5: gitpod.experimental.v1.ListPersonalAccessTokensRequest + (*ListPersonalAccessTokensResponse)(nil), // 6: gitpod.experimental.v1.ListPersonalAccessTokensResponse + (*RegeneratePersonalAccessTokenRequest)(nil), // 7: gitpod.experimental.v1.RegeneratePersonalAccessTokenRequest + (*RegeneratePersonalAccessTokenResponse)(nil), // 8: gitpod.experimental.v1.RegeneratePersonalAccessTokenResponse + (*UpdatePersonalAccessTokenRequest)(nil), // 9: gitpod.experimental.v1.UpdatePersonalAccessTokenRequest + (*UpdatePersonalAccessTokenResponse)(nil), // 10: gitpod.experimental.v1.UpdatePersonalAccessTokenResponse + (*DeletePersonalAccessTokenRequest)(nil), // 11: gitpod.experimental.v1.DeletePersonalAccessTokenRequest + (*DeletePersonalAccessTokenResponse)(nil), // 12: gitpod.experimental.v1.DeletePersonalAccessTokenResponse + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 14: google.protobuf.FieldMask +} +var file_gitpod_experimental_v1_tokens_proto_depIdxs = []int32{ + 13, // 0: gitpod.experimental.v1.PersonalAccessToken.expiration_time:type_name -> google.protobuf.Timestamp + 13, // 1: gitpod.experimental.v1.PersonalAccessToken.created_at:type_name -> google.protobuf.Timestamp + 0, // 2: gitpod.experimental.v1.CreatePersonalAccessTokenRequest.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 0, // 3: gitpod.experimental.v1.CreatePersonalAccessTokenResponse.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 0, // 4: gitpod.experimental.v1.GetPersonalAccessTokenResponse.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 0, // 5: gitpod.experimental.v1.ListPersonalAccessTokensResponse.tokens:type_name -> gitpod.experimental.v1.PersonalAccessToken + 13, // 6: gitpod.experimental.v1.RegeneratePersonalAccessTokenRequest.expiration_time:type_name -> google.protobuf.Timestamp + 0, // 7: gitpod.experimental.v1.RegeneratePersonalAccessTokenResponse.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 0, // 8: gitpod.experimental.v1.UpdatePersonalAccessTokenRequest.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 14, // 9: gitpod.experimental.v1.UpdatePersonalAccessTokenRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 10: gitpod.experimental.v1.UpdatePersonalAccessTokenResponse.token:type_name -> gitpod.experimental.v1.PersonalAccessToken + 1, // 11: gitpod.experimental.v1.TokensService.CreatePersonalAccessToken:input_type -> gitpod.experimental.v1.CreatePersonalAccessTokenRequest + 3, // 12: gitpod.experimental.v1.TokensService.GetPersonalAccessToken:input_type -> gitpod.experimental.v1.GetPersonalAccessTokenRequest + 5, // 13: gitpod.experimental.v1.TokensService.ListPersonalAccessTokens:input_type -> gitpod.experimental.v1.ListPersonalAccessTokensRequest + 7, // 14: gitpod.experimental.v1.TokensService.RegeneratePersonalAccessToken:input_type -> gitpod.experimental.v1.RegeneratePersonalAccessTokenRequest + 9, // 15: gitpod.experimental.v1.TokensService.UpdatePersonalAccessToken:input_type -> gitpod.experimental.v1.UpdatePersonalAccessTokenRequest + 11, // 16: gitpod.experimental.v1.TokensService.DeletePersonalAccessToken:input_type -> gitpod.experimental.v1.DeletePersonalAccessTokenRequest + 2, // 17: gitpod.experimental.v1.TokensService.CreatePersonalAccessToken:output_type -> gitpod.experimental.v1.CreatePersonalAccessTokenResponse + 4, // 18: gitpod.experimental.v1.TokensService.GetPersonalAccessToken:output_type -> gitpod.experimental.v1.GetPersonalAccessTokenResponse + 6, // 19: gitpod.experimental.v1.TokensService.ListPersonalAccessTokens:output_type -> gitpod.experimental.v1.ListPersonalAccessTokensResponse + 8, // 20: gitpod.experimental.v1.TokensService.RegeneratePersonalAccessToken:output_type -> gitpod.experimental.v1.RegeneratePersonalAccessTokenResponse + 10, // 21: gitpod.experimental.v1.TokensService.UpdatePersonalAccessToken:output_type -> gitpod.experimental.v1.UpdatePersonalAccessTokenResponse + 12, // 22: gitpod.experimental.v1.TokensService.DeletePersonalAccessToken:output_type -> gitpod.experimental.v1.DeletePersonalAccessTokenResponse + 17, // [17:23] is the sub-list for method output_type + 11, // [11:17] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_gitpod_experimental_v1_tokens_proto_init() } +func file_gitpod_experimental_v1_tokens_proto_init() { + if File_gitpod_experimental_v1_tokens_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_gitpod_experimental_v1_tokens_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonalAccessToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersonalAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersonalAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPersonalAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPersonalAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersonalAccessTokensRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersonalAccessTokensResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegeneratePersonalAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegeneratePersonalAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersonalAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersonalAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePersonalAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gitpod_experimental_v1_tokens_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePersonalAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_gitpod_experimental_v1_tokens_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_gitpod_experimental_v1_tokens_proto_goTypes, + DependencyIndexes: file_gitpod_experimental_v1_tokens_proto_depIdxs, + MessageInfos: file_gitpod_experimental_v1_tokens_proto_msgTypes, + }.Build() + File_gitpod_experimental_v1_tokens_proto = out.File + file_gitpod_experimental_v1_tokens_proto_rawDesc = nil + file_gitpod_experimental_v1_tokens_proto_goTypes = nil + file_gitpod_experimental_v1_tokens_proto_depIdxs = nil +} diff --git a/components/public-api/go/experimental/v1/tokens_grpc.pb.go b/components/public-api/go/experimental/v1/tokens_grpc.pb.go new file mode 100644 index 00000000000000..ceec9cdf3a8cb2 --- /dev/null +++ b/components/public-api/go/experimental/v1/tokens_grpc.pb.go @@ -0,0 +1,301 @@ +// Copyright (c) 2022 Gitpod GmbH. All rights reserved. +// Licensed under the GNU Affero General Public License (AGPL). +// See License-AGPL.txt in the project root for license information. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc (unknown) +// source: gitpod/experimental/v1/tokens.proto + +package v1 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// TokensServiceClient is the client API for TokensService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type TokensServiceClient interface { + // CreatePersonalAccessTokenRequest creates a new token. + CreatePersonalAccessToken(ctx context.Context, in *CreatePersonalAccessTokenRequest, opts ...grpc.CallOption) (*CreatePersonalAccessTokenResponse, error) + // ListPersonalAccessTokens returns token by ID. + GetPersonalAccessToken(ctx context.Context, in *GetPersonalAccessTokenRequest, opts ...grpc.CallOption) (*GetPersonalAccessTokenResponse, error) + // ListPersonalAccessTokens returns a list of tokens. + ListPersonalAccessTokens(ctx context.Context, in *ListPersonalAccessTokensRequest, opts ...grpc.CallOption) (*ListPersonalAccessTokensResponse, error) + // RegeneratePersonalAccessToken generates a new token and replaces the previous one. + RegeneratePersonalAccessToken(ctx context.Context, in *RegeneratePersonalAccessTokenRequest, opts ...grpc.CallOption) (*RegeneratePersonalAccessTokenResponse, error) + // UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + UpdatePersonalAccessToken(ctx context.Context, in *UpdatePersonalAccessTokenRequest, opts ...grpc.CallOption) (*UpdatePersonalAccessTokenResponse, error) + // DeletePersonalAccessToken removes token by ID. + DeletePersonalAccessToken(ctx context.Context, in *DeletePersonalAccessTokenRequest, opts ...grpc.CallOption) (*DeletePersonalAccessTokenResponse, error) +} + +type tokensServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewTokensServiceClient(cc grpc.ClientConnInterface) TokensServiceClient { + return &tokensServiceClient{cc} +} + +func (c *tokensServiceClient) CreatePersonalAccessToken(ctx context.Context, in *CreatePersonalAccessTokenRequest, opts ...grpc.CallOption) (*CreatePersonalAccessTokenResponse, error) { + out := new(CreatePersonalAccessTokenResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/CreatePersonalAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokensServiceClient) GetPersonalAccessToken(ctx context.Context, in *GetPersonalAccessTokenRequest, opts ...grpc.CallOption) (*GetPersonalAccessTokenResponse, error) { + out := new(GetPersonalAccessTokenResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/GetPersonalAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokensServiceClient) ListPersonalAccessTokens(ctx context.Context, in *ListPersonalAccessTokensRequest, opts ...grpc.CallOption) (*ListPersonalAccessTokensResponse, error) { + out := new(ListPersonalAccessTokensResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/ListPersonalAccessTokens", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokensServiceClient) RegeneratePersonalAccessToken(ctx context.Context, in *RegeneratePersonalAccessTokenRequest, opts ...grpc.CallOption) (*RegeneratePersonalAccessTokenResponse, error) { + out := new(RegeneratePersonalAccessTokenResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/RegeneratePersonalAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokensServiceClient) UpdatePersonalAccessToken(ctx context.Context, in *UpdatePersonalAccessTokenRequest, opts ...grpc.CallOption) (*UpdatePersonalAccessTokenResponse, error) { + out := new(UpdatePersonalAccessTokenResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/UpdatePersonalAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tokensServiceClient) DeletePersonalAccessToken(ctx context.Context, in *DeletePersonalAccessTokenRequest, opts ...grpc.CallOption) (*DeletePersonalAccessTokenResponse, error) { + out := new(DeletePersonalAccessTokenResponse) + err := c.cc.Invoke(ctx, "/gitpod.experimental.v1.TokensService/DeletePersonalAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TokensServiceServer is the server API for TokensService service. +// All implementations must embed UnimplementedTokensServiceServer +// for forward compatibility +type TokensServiceServer interface { + // CreatePersonalAccessTokenRequest creates a new token. + CreatePersonalAccessToken(context.Context, *CreatePersonalAccessTokenRequest) (*CreatePersonalAccessTokenResponse, error) + // ListPersonalAccessTokens returns token by ID. + GetPersonalAccessToken(context.Context, *GetPersonalAccessTokenRequest) (*GetPersonalAccessTokenResponse, error) + // ListPersonalAccessTokens returns a list of tokens. + ListPersonalAccessTokens(context.Context, *ListPersonalAccessTokensRequest) (*ListPersonalAccessTokensResponse, error) + // RegeneratePersonalAccessToken generates a new token and replaces the previous one. + RegeneratePersonalAccessToken(context.Context, *RegeneratePersonalAccessTokenRequest) (*RegeneratePersonalAccessTokenResponse, error) + // UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + UpdatePersonalAccessToken(context.Context, *UpdatePersonalAccessTokenRequest) (*UpdatePersonalAccessTokenResponse, error) + // DeletePersonalAccessToken removes token by ID. + DeletePersonalAccessToken(context.Context, *DeletePersonalAccessTokenRequest) (*DeletePersonalAccessTokenResponse, error) + mustEmbedUnimplementedTokensServiceServer() +} + +// UnimplementedTokensServiceServer must be embedded to have forward compatible implementations. +type UnimplementedTokensServiceServer struct { +} + +func (UnimplementedTokensServiceServer) CreatePersonalAccessToken(context.Context, *CreatePersonalAccessTokenRequest) (*CreatePersonalAccessTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePersonalAccessToken not implemented") +} +func (UnimplementedTokensServiceServer) GetPersonalAccessToken(context.Context, *GetPersonalAccessTokenRequest) (*GetPersonalAccessTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPersonalAccessToken not implemented") +} +func (UnimplementedTokensServiceServer) ListPersonalAccessTokens(context.Context, *ListPersonalAccessTokensRequest) (*ListPersonalAccessTokensResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPersonalAccessTokens not implemented") +} +func (UnimplementedTokensServiceServer) RegeneratePersonalAccessToken(context.Context, *RegeneratePersonalAccessTokenRequest) (*RegeneratePersonalAccessTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegeneratePersonalAccessToken not implemented") +} +func (UnimplementedTokensServiceServer) UpdatePersonalAccessToken(context.Context, *UpdatePersonalAccessTokenRequest) (*UpdatePersonalAccessTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePersonalAccessToken not implemented") +} +func (UnimplementedTokensServiceServer) DeletePersonalAccessToken(context.Context, *DeletePersonalAccessTokenRequest) (*DeletePersonalAccessTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePersonalAccessToken not implemented") +} +func (UnimplementedTokensServiceServer) mustEmbedUnimplementedTokensServiceServer() {} + +// UnsafeTokensServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TokensServiceServer will +// result in compilation errors. +type UnsafeTokensServiceServer interface { + mustEmbedUnimplementedTokensServiceServer() +} + +func RegisterTokensServiceServer(s grpc.ServiceRegistrar, srv TokensServiceServer) { + s.RegisterService(&TokensService_ServiceDesc, srv) +} + +func _TokensService_CreatePersonalAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePersonalAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).CreatePersonalAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/CreatePersonalAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).CreatePersonalAccessToken(ctx, req.(*CreatePersonalAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TokensService_GetPersonalAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPersonalAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).GetPersonalAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/GetPersonalAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).GetPersonalAccessToken(ctx, req.(*GetPersonalAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TokensService_ListPersonalAccessTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPersonalAccessTokensRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).ListPersonalAccessTokens(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/ListPersonalAccessTokens", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).ListPersonalAccessTokens(ctx, req.(*ListPersonalAccessTokensRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TokensService_RegeneratePersonalAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RegeneratePersonalAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).RegeneratePersonalAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/RegeneratePersonalAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).RegeneratePersonalAccessToken(ctx, req.(*RegeneratePersonalAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TokensService_UpdatePersonalAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePersonalAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).UpdatePersonalAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/UpdatePersonalAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).UpdatePersonalAccessToken(ctx, req.(*UpdatePersonalAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TokensService_DeletePersonalAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePersonalAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TokensServiceServer).DeletePersonalAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitpod.experimental.v1.TokensService/DeletePersonalAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TokensServiceServer).DeletePersonalAccessToken(ctx, req.(*DeletePersonalAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// TokensService_ServiceDesc is the grpc.ServiceDesc for TokensService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var TokensService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "gitpod.experimental.v1.TokensService", + HandlerType: (*TokensServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreatePersonalAccessToken", + Handler: _TokensService_CreatePersonalAccessToken_Handler, + }, + { + MethodName: "GetPersonalAccessToken", + Handler: _TokensService_GetPersonalAccessToken_Handler, + }, + { + MethodName: "ListPersonalAccessTokens", + Handler: _TokensService_ListPersonalAccessTokens_Handler, + }, + { + MethodName: "RegeneratePersonalAccessToken", + Handler: _TokensService_RegeneratePersonalAccessToken_Handler, + }, + { + MethodName: "UpdatePersonalAccessToken", + Handler: _TokensService_UpdatePersonalAccessToken_Handler, + }, + { + MethodName: "DeletePersonalAccessToken", + Handler: _TokensService_DeletePersonalAccessToken_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "gitpod/experimental/v1/tokens.proto", +} diff --git a/components/public-api/go/experimental/v1/v1connect/tokens.connect.go b/components/public-api/go/experimental/v1/v1connect/tokens.connect.go new file mode 100644 index 00000000000000..76627f4562d890 --- /dev/null +++ b/components/public-api/go/experimental/v1/v1connect/tokens.connect.go @@ -0,0 +1,213 @@ +// Copyright (c) 2022 Gitpod GmbH. All rights reserved. +// Licensed under the GNU Affero General Public License (AGPL). +// See License-AGPL.txt in the project root for license information. + +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: gitpod/experimental/v1/tokens.proto + +package v1connect + +import ( + context "context" + errors "errors" + connect_go "github.com/bufbuild/connect-go" + v1 "github.com/gitpod-io/gitpod/components/public-api/go/experimental/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect_go.IsAtLeastVersion0_1_0 + +const ( + // TokensServiceName is the fully-qualified name of the TokensService service. + TokensServiceName = "gitpod.experimental.v1.TokensService" +) + +// TokensServiceClient is a client for the gitpod.experimental.v1.TokensService service. +type TokensServiceClient interface { + // CreatePersonalAccessTokenRequest creates a new token. + CreatePersonalAccessToken(context.Context, *connect_go.Request[v1.CreatePersonalAccessTokenRequest]) (*connect_go.Response[v1.CreatePersonalAccessTokenResponse], error) + // ListPersonalAccessTokens returns token by ID. + GetPersonalAccessToken(context.Context, *connect_go.Request[v1.GetPersonalAccessTokenRequest]) (*connect_go.Response[v1.GetPersonalAccessTokenResponse], error) + // ListPersonalAccessTokens returns a list of tokens. + ListPersonalAccessTokens(context.Context, *connect_go.Request[v1.ListPersonalAccessTokensRequest]) (*connect_go.Response[v1.ListPersonalAccessTokensResponse], error) + // RegeneratePersonalAccessToken generates a new token and replaces the previous one. + RegeneratePersonalAccessToken(context.Context, *connect_go.Request[v1.RegeneratePersonalAccessTokenRequest]) (*connect_go.Response[v1.RegeneratePersonalAccessTokenResponse], error) + // UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + UpdatePersonalAccessToken(context.Context, *connect_go.Request[v1.UpdatePersonalAccessTokenRequest]) (*connect_go.Response[v1.UpdatePersonalAccessTokenResponse], error) + // DeletePersonalAccessToken removes token by ID. + DeletePersonalAccessToken(context.Context, *connect_go.Request[v1.DeletePersonalAccessTokenRequest]) (*connect_go.Response[v1.DeletePersonalAccessTokenResponse], error) +} + +// NewTokensServiceClient constructs a client for the gitpod.experimental.v1.TokensService service. +// By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped +// responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewTokensServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) TokensServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + return &tokensServiceClient{ + createPersonalAccessToken: connect_go.NewClient[v1.CreatePersonalAccessTokenRequest, v1.CreatePersonalAccessTokenResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/CreatePersonalAccessToken", + opts..., + ), + getPersonalAccessToken: connect_go.NewClient[v1.GetPersonalAccessTokenRequest, v1.GetPersonalAccessTokenResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/GetPersonalAccessToken", + opts..., + ), + listPersonalAccessTokens: connect_go.NewClient[v1.ListPersonalAccessTokensRequest, v1.ListPersonalAccessTokensResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/ListPersonalAccessTokens", + opts..., + ), + regeneratePersonalAccessToken: connect_go.NewClient[v1.RegeneratePersonalAccessTokenRequest, v1.RegeneratePersonalAccessTokenResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/RegeneratePersonalAccessToken", + opts..., + ), + updatePersonalAccessToken: connect_go.NewClient[v1.UpdatePersonalAccessTokenRequest, v1.UpdatePersonalAccessTokenResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/UpdatePersonalAccessToken", + opts..., + ), + deletePersonalAccessToken: connect_go.NewClient[v1.DeletePersonalAccessTokenRequest, v1.DeletePersonalAccessTokenResponse]( + httpClient, + baseURL+"/gitpod.experimental.v1.TokensService/DeletePersonalAccessToken", + opts..., + ), + } +} + +// tokensServiceClient implements TokensServiceClient. +type tokensServiceClient struct { + createPersonalAccessToken *connect_go.Client[v1.CreatePersonalAccessTokenRequest, v1.CreatePersonalAccessTokenResponse] + getPersonalAccessToken *connect_go.Client[v1.GetPersonalAccessTokenRequest, v1.GetPersonalAccessTokenResponse] + listPersonalAccessTokens *connect_go.Client[v1.ListPersonalAccessTokensRequest, v1.ListPersonalAccessTokensResponse] + regeneratePersonalAccessToken *connect_go.Client[v1.RegeneratePersonalAccessTokenRequest, v1.RegeneratePersonalAccessTokenResponse] + updatePersonalAccessToken *connect_go.Client[v1.UpdatePersonalAccessTokenRequest, v1.UpdatePersonalAccessTokenResponse] + deletePersonalAccessToken *connect_go.Client[v1.DeletePersonalAccessTokenRequest, v1.DeletePersonalAccessTokenResponse] +} + +// CreatePersonalAccessToken calls gitpod.experimental.v1.TokensService.CreatePersonalAccessToken. +func (c *tokensServiceClient) CreatePersonalAccessToken(ctx context.Context, req *connect_go.Request[v1.CreatePersonalAccessTokenRequest]) (*connect_go.Response[v1.CreatePersonalAccessTokenResponse], error) { + return c.createPersonalAccessToken.CallUnary(ctx, req) +} + +// GetPersonalAccessToken calls gitpod.experimental.v1.TokensService.GetPersonalAccessToken. +func (c *tokensServiceClient) GetPersonalAccessToken(ctx context.Context, req *connect_go.Request[v1.GetPersonalAccessTokenRequest]) (*connect_go.Response[v1.GetPersonalAccessTokenResponse], error) { + return c.getPersonalAccessToken.CallUnary(ctx, req) +} + +// ListPersonalAccessTokens calls gitpod.experimental.v1.TokensService.ListPersonalAccessTokens. +func (c *tokensServiceClient) ListPersonalAccessTokens(ctx context.Context, req *connect_go.Request[v1.ListPersonalAccessTokensRequest]) (*connect_go.Response[v1.ListPersonalAccessTokensResponse], error) { + return c.listPersonalAccessTokens.CallUnary(ctx, req) +} + +// RegeneratePersonalAccessToken calls +// gitpod.experimental.v1.TokensService.RegeneratePersonalAccessToken. +func (c *tokensServiceClient) RegeneratePersonalAccessToken(ctx context.Context, req *connect_go.Request[v1.RegeneratePersonalAccessTokenRequest]) (*connect_go.Response[v1.RegeneratePersonalAccessTokenResponse], error) { + return c.regeneratePersonalAccessToken.CallUnary(ctx, req) +} + +// UpdatePersonalAccessToken calls gitpod.experimental.v1.TokensService.UpdatePersonalAccessToken. +func (c *tokensServiceClient) UpdatePersonalAccessToken(ctx context.Context, req *connect_go.Request[v1.UpdatePersonalAccessTokenRequest]) (*connect_go.Response[v1.UpdatePersonalAccessTokenResponse], error) { + return c.updatePersonalAccessToken.CallUnary(ctx, req) +} + +// DeletePersonalAccessToken calls gitpod.experimental.v1.TokensService.DeletePersonalAccessToken. +func (c *tokensServiceClient) DeletePersonalAccessToken(ctx context.Context, req *connect_go.Request[v1.DeletePersonalAccessTokenRequest]) (*connect_go.Response[v1.DeletePersonalAccessTokenResponse], error) { + return c.deletePersonalAccessToken.CallUnary(ctx, req) +} + +// TokensServiceHandler is an implementation of the gitpod.experimental.v1.TokensService service. +type TokensServiceHandler interface { + // CreatePersonalAccessTokenRequest creates a new token. + CreatePersonalAccessToken(context.Context, *connect_go.Request[v1.CreatePersonalAccessTokenRequest]) (*connect_go.Response[v1.CreatePersonalAccessTokenResponse], error) + // ListPersonalAccessTokens returns token by ID. + GetPersonalAccessToken(context.Context, *connect_go.Request[v1.GetPersonalAccessTokenRequest]) (*connect_go.Response[v1.GetPersonalAccessTokenResponse], error) + // ListPersonalAccessTokens returns a list of tokens. + ListPersonalAccessTokens(context.Context, *connect_go.Request[v1.ListPersonalAccessTokensRequest]) (*connect_go.Response[v1.ListPersonalAccessTokensResponse], error) + // RegeneratePersonalAccessToken generates a new token and replaces the previous one. + RegeneratePersonalAccessToken(context.Context, *connect_go.Request[v1.RegeneratePersonalAccessTokenRequest]) (*connect_go.Response[v1.RegeneratePersonalAccessTokenResponse], error) + // UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + UpdatePersonalAccessToken(context.Context, *connect_go.Request[v1.UpdatePersonalAccessTokenRequest]) (*connect_go.Response[v1.UpdatePersonalAccessTokenResponse], error) + // DeletePersonalAccessToken removes token by ID. + DeletePersonalAccessToken(context.Context, *connect_go.Request[v1.DeletePersonalAccessTokenRequest]) (*connect_go.Response[v1.DeletePersonalAccessTokenResponse], error) +} + +// NewTokensServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewTokensServiceHandler(svc TokensServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) { + mux := http.NewServeMux() + mux.Handle("/gitpod.experimental.v1.TokensService/CreatePersonalAccessToken", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/CreatePersonalAccessToken", + svc.CreatePersonalAccessToken, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TokensService/GetPersonalAccessToken", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/GetPersonalAccessToken", + svc.GetPersonalAccessToken, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TokensService/ListPersonalAccessTokens", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/ListPersonalAccessTokens", + svc.ListPersonalAccessTokens, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TokensService/RegeneratePersonalAccessToken", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/RegeneratePersonalAccessToken", + svc.RegeneratePersonalAccessToken, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TokensService/UpdatePersonalAccessToken", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/UpdatePersonalAccessToken", + svc.UpdatePersonalAccessToken, + opts..., + )) + mux.Handle("/gitpod.experimental.v1.TokensService/DeletePersonalAccessToken", connect_go.NewUnaryHandler( + "/gitpod.experimental.v1.TokensService/DeletePersonalAccessToken", + svc.DeletePersonalAccessToken, + opts..., + )) + return "/gitpod.experimental.v1.TokensService/", mux +} + +// UnimplementedTokensServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedTokensServiceHandler struct{} + +func (UnimplementedTokensServiceHandler) CreatePersonalAccessToken(context.Context, *connect_go.Request[v1.CreatePersonalAccessTokenRequest]) (*connect_go.Response[v1.CreatePersonalAccessTokenResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.CreatePersonalAccessToken is not implemented")) +} + +func (UnimplementedTokensServiceHandler) GetPersonalAccessToken(context.Context, *connect_go.Request[v1.GetPersonalAccessTokenRequest]) (*connect_go.Response[v1.GetPersonalAccessTokenResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.GetPersonalAccessToken is not implemented")) +} + +func (UnimplementedTokensServiceHandler) ListPersonalAccessTokens(context.Context, *connect_go.Request[v1.ListPersonalAccessTokensRequest]) (*connect_go.Response[v1.ListPersonalAccessTokensResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.ListPersonalAccessTokens is not implemented")) +} + +func (UnimplementedTokensServiceHandler) RegeneratePersonalAccessToken(context.Context, *connect_go.Request[v1.RegeneratePersonalAccessTokenRequest]) (*connect_go.Response[v1.RegeneratePersonalAccessTokenResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.RegeneratePersonalAccessToken is not implemented")) +} + +func (UnimplementedTokensServiceHandler) UpdatePersonalAccessToken(context.Context, *connect_go.Request[v1.UpdatePersonalAccessTokenRequest]) (*connect_go.Response[v1.UpdatePersonalAccessTokenResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.UpdatePersonalAccessToken is not implemented")) +} + +func (UnimplementedTokensServiceHandler) DeletePersonalAccessToken(context.Context, *connect_go.Request[v1.DeletePersonalAccessTokenRequest]) (*connect_go.Response[v1.DeletePersonalAccessTokenResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("gitpod.experimental.v1.TokensService.DeletePersonalAccessToken is not implemented")) +} diff --git a/components/public-api/typescript/src/gitpod/experimental/v1/tokens_connectweb.ts b/components/public-api/typescript/src/gitpod/experimental/v1/tokens_connectweb.ts new file mode 100644 index 00000000000000..8f023b56c15552 --- /dev/null +++ b/components/public-api/typescript/src/gitpod/experimental/v1/tokens_connectweb.ts @@ -0,0 +1,88 @@ +/** + * Copyright (c) 2022 Gitpod GmbH. All rights reserved. + * Licensed under the GNU Affero General Public License (AGPL). + * See License-AGPL.txt in the project root for license information. + */ + +// @generated by protoc-gen-connect-web v0.2.1 with parameter "target=ts" +// @generated from file gitpod/experimental/v1/tokens.proto (package gitpod.experimental.v1, syntax proto3) +/* eslint-disable */ +/* @ts-nocheck */ + +import {CreatePersonalAccessTokenRequest, CreatePersonalAccessTokenResponse, DeletePersonalAccessTokenRequest, DeletePersonalAccessTokenResponse, GetPersonalAccessTokenRequest, GetPersonalAccessTokenResponse, ListPersonalAccessTokensRequest, ListPersonalAccessTokensResponse, RegeneratePersonalAccessTokenRequest, RegeneratePersonalAccessTokenResponse, UpdatePersonalAccessTokenRequest, UpdatePersonalAccessTokenResponse} from "./tokens_pb.js"; +import {MethodKind} from "@bufbuild/protobuf"; + +/** + * @generated from service gitpod.experimental.v1.TokensService + */ +export const TokensService = { + typeName: "gitpod.experimental.v1.TokensService", + methods: { + /** + * CreatePersonalAccessTokenRequest creates a new token. + * + * @generated from rpc gitpod.experimental.v1.TokensService.CreatePersonalAccessToken + */ + createPersonalAccessToken: { + name: "CreatePersonalAccessToken", + I: CreatePersonalAccessTokenRequest, + O: CreatePersonalAccessTokenResponse, + kind: MethodKind.Unary, + }, + /** + * ListPersonalAccessTokens returns token by ID. + * + * @generated from rpc gitpod.experimental.v1.TokensService.GetPersonalAccessToken + */ + getPersonalAccessToken: { + name: "GetPersonalAccessToken", + I: GetPersonalAccessTokenRequest, + O: GetPersonalAccessTokenResponse, + kind: MethodKind.Unary, + }, + /** + * ListPersonalAccessTokens returns a list of tokens. + * + * @generated from rpc gitpod.experimental.v1.TokensService.ListPersonalAccessTokens + */ + listPersonalAccessTokens: { + name: "ListPersonalAccessTokens", + I: ListPersonalAccessTokensRequest, + O: ListPersonalAccessTokensResponse, + kind: MethodKind.Unary, + }, + /** + * RegeneratePersonalAccessToken generates a new token and replaces the previous one. + * + * @generated from rpc gitpod.experimental.v1.TokensService.RegeneratePersonalAccessToken + */ + regeneratePersonalAccessToken: { + name: "RegeneratePersonalAccessToken", + I: RegeneratePersonalAccessTokenRequest, + O: RegeneratePersonalAccessTokenResponse, + kind: MethodKind.Unary, + }, + /** + * UpdatePersonalAccessToken updates writable properties of a PersonalAccessToken. + * + * @generated from rpc gitpod.experimental.v1.TokensService.UpdatePersonalAccessToken + */ + updatePersonalAccessToken: { + name: "UpdatePersonalAccessToken", + I: UpdatePersonalAccessTokenRequest, + O: UpdatePersonalAccessTokenResponse, + kind: MethodKind.Unary, + }, + /** + * DeletePersonalAccessToken removes token by ID. + * + * @generated from rpc gitpod.experimental.v1.TokensService.DeletePersonalAccessToken + */ + deletePersonalAccessToken: { + name: "DeletePersonalAccessToken", + I: DeletePersonalAccessTokenRequest, + O: DeletePersonalAccessTokenResponse, + kind: MethodKind.Unary, + }, + } +} as const; diff --git a/components/public-api/typescript/src/gitpod/experimental/v1/tokens_pb.ts b/components/public-api/typescript/src/gitpod/experimental/v1/tokens_pb.ts new file mode 100644 index 00000000000000..ee882aa2cd2432 --- /dev/null +++ b/components/public-api/typescript/src/gitpod/experimental/v1/tokens_pb.ts @@ -0,0 +1,559 @@ +/** + * Copyright (c) 2022 Gitpod GmbH. All rights reserved. + * Licensed under the GNU Affero General Public License (AGPL). + * See License-AGPL.txt in the project root for license information. + */ + +// @generated by protoc-gen-es v0.1.1 with parameter "target=ts" +// @generated from file gitpod/experimental/v1/tokens.proto (package gitpod.experimental.v1, syntax proto3) +/* eslint-disable */ +/* @ts-nocheck */ + +import type {BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage} from "@bufbuild/protobuf"; +import {FieldMask, Message, proto3, Timestamp} from "@bufbuild/protobuf"; + +/** + * PersonalAccessToken represents details of an access token for personal use. + * + * @generated from message gitpod.experimental.v1.PersonalAccessToken + */ +export class PersonalAccessToken extends Message { + /** + * id is the unique identifier of this token + * Read only. + * + * @generated from field: string id = 1; + */ + id = ""; + + /** + * value is the secret value of the token + * The value property is only populated when the PersonalAccessToken is first created, and never again. + * If you you want to compare your existing token, use the hash property + * Read only. + * + * @generated from field: string value = 2; + */ + value = ""; + + /** + * hash is the SHA-512 hash of the token value + * You can use the hash to compare a token you hold against the one we keep on record by doing `echo -n $TOKEN | sha256sum`. + * Read only. + * + * @generated from field: string hash = 3; + */ + hash = ""; + + /** + * name is the name of the token for humans, set by the user + * + * @generated from field: string name = 4; + */ + name = ""; + + /** + * description is the description of the token set by the user + * + * @generated from field: string description = 5; + */ + description = ""; + + /** + * expiration_time is the time when the token expires + * Read only. + * + * @generated from field: google.protobuf.Timestamp expiration_time = 6; + */ + expirationTime?: Timestamp; + + /** + * scopes are the permission scopes attached to this token. + * By default, no scopes are attached and therefore no access is granted to this token. + * Specifying '*' grants all permissions the owner of the token has. + * + * @generated from field: repeated string scopes = 7; + */ + scopes: string[] = []; + + /** + * created_time is the time when the token was first created. + * + * @generated from field: google.protobuf.Timestamp created_at = 8; + */ + createdAt?: Timestamp; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.PersonalAccessToken"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "value", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "hash", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 5, name: "description", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 6, name: "expiration_time", kind: "message", T: Timestamp }, + { no: 7, name: "scopes", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, + { no: 8, name: "created_at", kind: "message", T: Timestamp }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): PersonalAccessToken { + return new PersonalAccessToken().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): PersonalAccessToken { + return new PersonalAccessToken().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): PersonalAccessToken { + return new PersonalAccessToken().fromJsonString(jsonString, options); + } + + static equals(a: PersonalAccessToken | PlainMessage | undefined, b: PersonalAccessToken | PlainMessage | undefined): boolean { + return proto3.util.equals(PersonalAccessToken, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.CreatePersonalAccessTokenRequest + */ +export class CreatePersonalAccessTokenRequest extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.CreatePersonalAccessTokenRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): CreatePersonalAccessTokenRequest { + return new CreatePersonalAccessTokenRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): CreatePersonalAccessTokenRequest { + return new CreatePersonalAccessTokenRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): CreatePersonalAccessTokenRequest { + return new CreatePersonalAccessTokenRequest().fromJsonString(jsonString, options); + } + + static equals(a: CreatePersonalAccessTokenRequest | PlainMessage | undefined, b: CreatePersonalAccessTokenRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(CreatePersonalAccessTokenRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.CreatePersonalAccessTokenResponse + */ +export class CreatePersonalAccessTokenResponse extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.CreatePersonalAccessTokenResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): CreatePersonalAccessTokenResponse { + return new CreatePersonalAccessTokenResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): CreatePersonalAccessTokenResponse { + return new CreatePersonalAccessTokenResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): CreatePersonalAccessTokenResponse { + return new CreatePersonalAccessTokenResponse().fromJsonString(jsonString, options); + } + + static equals(a: CreatePersonalAccessTokenResponse | PlainMessage | undefined, b: CreatePersonalAccessTokenResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(CreatePersonalAccessTokenResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.GetPersonalAccessTokenRequest + */ +export class GetPersonalAccessTokenRequest extends Message { + /** + * @generated from field: string id = 1; + */ + id = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.GetPersonalAccessTokenRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetPersonalAccessTokenRequest { + return new GetPersonalAccessTokenRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetPersonalAccessTokenRequest { + return new GetPersonalAccessTokenRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetPersonalAccessTokenRequest { + return new GetPersonalAccessTokenRequest().fromJsonString(jsonString, options); + } + + static equals(a: GetPersonalAccessTokenRequest | PlainMessage | undefined, b: GetPersonalAccessTokenRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(GetPersonalAccessTokenRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.GetPersonalAccessTokenResponse + */ +export class GetPersonalAccessTokenResponse extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.GetPersonalAccessTokenResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetPersonalAccessTokenResponse { + return new GetPersonalAccessTokenResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetPersonalAccessTokenResponse { + return new GetPersonalAccessTokenResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetPersonalAccessTokenResponse { + return new GetPersonalAccessTokenResponse().fromJsonString(jsonString, options); + } + + static equals(a: GetPersonalAccessTokenResponse | PlainMessage | undefined, b: GetPersonalAccessTokenResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(GetPersonalAccessTokenResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.ListPersonalAccessTokensRequest + */ +export class ListPersonalAccessTokensRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ListPersonalAccessTokensRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ListPersonalAccessTokensRequest { + return new ListPersonalAccessTokensRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ListPersonalAccessTokensRequest { + return new ListPersonalAccessTokensRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ListPersonalAccessTokensRequest { + return new ListPersonalAccessTokensRequest().fromJsonString(jsonString, options); + } + + static equals(a: ListPersonalAccessTokensRequest | PlainMessage | undefined, b: ListPersonalAccessTokensRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(ListPersonalAccessTokensRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.ListPersonalAccessTokensResponse + */ +export class ListPersonalAccessTokensResponse extends Message { + /** + * @generated from field: repeated gitpod.experimental.v1.PersonalAccessToken tokens = 1; + */ + tokens: PersonalAccessToken[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.ListPersonalAccessTokensResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "tokens", kind: "message", T: PersonalAccessToken, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ListPersonalAccessTokensResponse { + return new ListPersonalAccessTokensResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ListPersonalAccessTokensResponse { + return new ListPersonalAccessTokensResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ListPersonalAccessTokensResponse { + return new ListPersonalAccessTokensResponse().fromJsonString(jsonString, options); + } + + static equals(a: ListPersonalAccessTokensResponse | PlainMessage | undefined, b: ListPersonalAccessTokensResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(ListPersonalAccessTokensResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.RegeneratePersonalAccessTokenRequest + */ +export class RegeneratePersonalAccessTokenRequest extends Message { + /** + * expiration time is the time when the new token should expire + * + * @generated from field: google.protobuf.Timestamp expiration_time = 1; + */ + expirationTime?: Timestamp; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.RegeneratePersonalAccessTokenRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "expiration_time", kind: "message", T: Timestamp }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): RegeneratePersonalAccessTokenRequest { + return new RegeneratePersonalAccessTokenRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): RegeneratePersonalAccessTokenRequest { + return new RegeneratePersonalAccessTokenRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): RegeneratePersonalAccessTokenRequest { + return new RegeneratePersonalAccessTokenRequest().fromJsonString(jsonString, options); + } + + static equals(a: RegeneratePersonalAccessTokenRequest | PlainMessage | undefined, b: RegeneratePersonalAccessTokenRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(RegeneratePersonalAccessTokenRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.RegeneratePersonalAccessTokenResponse + */ +export class RegeneratePersonalAccessTokenResponse extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.RegeneratePersonalAccessTokenResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): RegeneratePersonalAccessTokenResponse { + return new RegeneratePersonalAccessTokenResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): RegeneratePersonalAccessTokenResponse { + return new RegeneratePersonalAccessTokenResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): RegeneratePersonalAccessTokenResponse { + return new RegeneratePersonalAccessTokenResponse().fromJsonString(jsonString, options); + } + + static equals(a: RegeneratePersonalAccessTokenResponse | PlainMessage | undefined, b: RegeneratePersonalAccessTokenResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(RegeneratePersonalAccessTokenResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.UpdatePersonalAccessTokenRequest + */ +export class UpdatePersonalAccessTokenRequest extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + /** + * @generated from field: google.protobuf.FieldMask update_mask = 2; + */ + updateMask?: FieldMask; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.UpdatePersonalAccessTokenRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + { no: 2, name: "update_mask", kind: "message", T: FieldMask }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePersonalAccessTokenRequest { + return new UpdatePersonalAccessTokenRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePersonalAccessTokenRequest { + return new UpdatePersonalAccessTokenRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): UpdatePersonalAccessTokenRequest { + return new UpdatePersonalAccessTokenRequest().fromJsonString(jsonString, options); + } + + static equals(a: UpdatePersonalAccessTokenRequest | PlainMessage | undefined, b: UpdatePersonalAccessTokenRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdatePersonalAccessTokenRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.UpdatePersonalAccessTokenResponse + */ +export class UpdatePersonalAccessTokenResponse extends Message { + /** + * @generated from field: gitpod.experimental.v1.PersonalAccessToken token = 1; + */ + token?: PersonalAccessToken; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.UpdatePersonalAccessTokenResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "token", kind: "message", T: PersonalAccessToken }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePersonalAccessTokenResponse { + return new UpdatePersonalAccessTokenResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePersonalAccessTokenResponse { + return new UpdatePersonalAccessTokenResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): UpdatePersonalAccessTokenResponse { + return new UpdatePersonalAccessTokenResponse().fromJsonString(jsonString, options); + } + + static equals(a: UpdatePersonalAccessTokenResponse | PlainMessage | undefined, b: UpdatePersonalAccessTokenResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdatePersonalAccessTokenResponse, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.DeletePersonalAccessTokenRequest + */ +export class DeletePersonalAccessTokenRequest extends Message { + /** + * @generated from field: string id = 1; + */ + id = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.DeletePersonalAccessTokenRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): DeletePersonalAccessTokenRequest { + return new DeletePersonalAccessTokenRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): DeletePersonalAccessTokenRequest { + return new DeletePersonalAccessTokenRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): DeletePersonalAccessTokenRequest { + return new DeletePersonalAccessTokenRequest().fromJsonString(jsonString, options); + } + + static equals(a: DeletePersonalAccessTokenRequest | PlainMessage | undefined, b: DeletePersonalAccessTokenRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(DeletePersonalAccessTokenRequest, a, b); + } +} + +/** + * @generated from message gitpod.experimental.v1.DeletePersonalAccessTokenResponse + */ +export class DeletePersonalAccessTokenResponse extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime = proto3; + static readonly typeName = "gitpod.experimental.v1.DeletePersonalAccessTokenResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): DeletePersonalAccessTokenResponse { + return new DeletePersonalAccessTokenResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): DeletePersonalAccessTokenResponse { + return new DeletePersonalAccessTokenResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): DeletePersonalAccessTokenResponse { + return new DeletePersonalAccessTokenResponse().fromJsonString(jsonString, options); + } + + static equals(a: DeletePersonalAccessTokenResponse | PlainMessage | undefined, b: DeletePersonalAccessTokenResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(DeletePersonalAccessTokenResponse, a, b); + } +}