Documentation ¶
Index ¶
- Variables
- func RegisterAccountsServer(s grpc.ServiceRegistrar, srv AccountsServer)
- func RegisterTokensServer(s grpc.ServiceRegistrar, srv TokensServer)
- type AccountCreds
- func (*AccountCreds) Descriptor() ([]byte, []int)deprecated
- func (x *AccountCreds) GetPassword() string
- func (x *AccountCreds) GetUsername() string
- func (*AccountCreds) ProtoMessage()
- func (x *AccountCreds) ProtoReflect() protoreflect.Message
- func (x *AccountCreds) Reset()
- func (x *AccountCreds) String() string
- type AccountGitlabToken
- func (*AccountGitlabToken) Descriptor() ([]byte, []int)deprecated
- func (x *AccountGitlabToken) GetGitlabToken() string
- func (*AccountGitlabToken) ProtoMessage()
- func (x *AccountGitlabToken) ProtoReflect() protoreflect.Message
- func (x *AccountGitlabToken) Reset()
- func (x *AccountGitlabToken) String() string
- type AccountId
- type AccountInfo
- type AccountInfoWithSensitive
- func (*AccountInfoWithSensitive) Descriptor() ([]byte, []int)deprecated
- func (x *AccountInfoWithSensitive) GetGitlabToken() string
- func (x *AccountInfoWithSensitive) GetId() string
- func (x *AccountInfoWithSensitive) GetPassword() string
- func (x *AccountInfoWithSensitive) GetUsername() string
- func (*AccountInfoWithSensitive) ProtoMessage()
- func (x *AccountInfoWithSensitive) ProtoReflect() protoreflect.Message
- func (x *AccountInfoWithSensitive) Reset()
- func (x *AccountInfoWithSensitive) String() string
- type AccountName
- type AccountsApps
- func (*AccountsApps) Descriptor() ([]byte, []int)deprecated
- func (x *AccountsApps) GetApps() []string
- func (x *AccountsApps) GetUserId() string
- func (*AccountsApps) ProtoMessage()
- func (x *AccountsApps) ProtoReflect() protoreflect.Message
- func (x *AccountsApps) Reset()
- func (x *AccountsApps) String() string
- type AccountsClient
- type AccountsListOptions
- func (*AccountsListOptions) Descriptor() ([]byte, []int)deprecated
- func (x *AccountsListOptions) GetAccountName() *AccountName
- func (x *AccountsListOptions) GetPaging() *common.Paging
- func (*AccountsListOptions) ProtoMessage()
- func (x *AccountsListOptions) ProtoReflect() protoreflect.Message
- func (x *AccountsListOptions) Reset()
- func (x *AccountsListOptions) String() string
- type AccountsServer
- type Accounts_ListClient
- type Accounts_ListServer
- type FullAccountInfo
- func (*FullAccountInfo) Descriptor() ([]byte, []int)deprecated
- func (x *FullAccountInfo) GetGitlabToken() string
- func (x *FullAccountInfo) GetId() string
- func (x *FullAccountInfo) GetUsername() string
- func (*FullAccountInfo) ProtoMessage()
- func (x *FullAccountInfo) ProtoReflect() protoreflect.Message
- func (x *FullAccountInfo) Reset()
- func (x *FullAccountInfo) String() string
- type PasswordUpdate
- func (*PasswordUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *PasswordUpdate) GetId() string
- func (x *PasswordUpdate) GetNewPassword() string
- func (x *PasswordUpdate) GetOldPassword() string
- func (x *PasswordUpdate) GetUsername() string
- func (*PasswordUpdate) ProtoMessage()
- func (x *PasswordUpdate) ProtoReflect() protoreflect.Message
- func (x *PasswordUpdate) Reset()
- func (x *PasswordUpdate) String() string
- type TokensClient
- type TokensServer
- type UnimplementedAccountsServer
- func (UnimplementedAccountsServer) AddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error)
- func (UnimplementedAccountsServer) Create(context.Context, *AccountCreds) (*AccountInfo, error)
- func (UnimplementedAccountsServer) Get(context.Context, *AccountId) (*AccountInfo, error)
- func (UnimplementedAccountsServer) GetAppsFromUser(context.Context, *AccountId) (*AccountsApps, error)
- func (UnimplementedAccountsServer) InitAddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error)
- func (UnimplementedAccountsServer) List(*AccountsListOptions, Accounts_ListServer) error
- func (UnimplementedAccountsServer) SelfGet(context.Context, *AccountId) (*FullAccountInfo, error)
- func (UnimplementedAccountsServer) UpdatePassword(context.Context, *PasswordUpdate) (*common.EmptyMessage, error)
- func (UnimplementedAccountsServer) UpdateUser(context.Context, *FullAccountInfo) (*FullAccountInfo, error)
- type UnimplementedTokensServer
- type UnsafeAccountsServer
- type UnsafeTokensServer
Constants ¶
This section is empty.
Variables ¶
var Accounts_ServiceDesc = grpc.ServiceDesc{ ServiceName: "users.Accounts", HandlerType: (*AccountsServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Create", Handler: _Accounts_Create_Handler, }, { MethodName: "UpdateUser", Handler: _Accounts_UpdateUser_Handler, }, { MethodName: "UpdatePassword", Handler: _Accounts_UpdatePassword_Handler, }, { MethodName: "Get", Handler: _Accounts_Get_Handler, }, { MethodName: "SelfGet", Handler: _Accounts_SelfGet_Handler, }, { MethodName: "AddAppToUser", Handler: _Accounts_AddAppToUser_Handler, }, { MethodName: "InitAddAppToUser", Handler: _Accounts_InitAddAppToUser_Handler, }, { MethodName: "GetAppsFromUser", Handler: _Accounts_GetAppsFromUser_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "List", Handler: _Accounts_List_Handler, ServerStreams: true, }, }, Metadata: "users/accounts/accounts_v1.proto", }
Accounts_ServiceDesc is the grpc.ServiceDesc for Accounts service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_users_accounts_accounts_v1_proto protoreflect.FileDescriptor
var Tokens_ServiceDesc = grpc.ServiceDesc{ ServiceName: "users.Tokens", HandlerType: (*TokensServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetGitlabTokenByAccountID", Handler: _Tokens_GetGitlabTokenByAccountID_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "users/accounts/accounts_v1.proto", }
Tokens_ServiceDesc is the grpc.ServiceDesc for Tokens service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterAccountsServer ¶
func RegisterAccountsServer(s grpc.ServiceRegistrar, srv AccountsServer)
func RegisterTokensServer ¶
func RegisterTokensServer(s grpc.ServiceRegistrar, srv TokensServer)
Types ¶
type AccountCreds ¶
type AccountCreds struct { Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // username: unix-like Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // Password // contains filtered or unexported fields }
* Represents credentials (username and password)
func (*AccountCreds) Descriptor
deprecated
func (*AccountCreds) Descriptor() ([]byte, []int)
Deprecated: Use AccountCreds.ProtoReflect.Descriptor instead.
func (*AccountCreds) GetPassword ¶
func (x *AccountCreds) GetPassword() string
func (*AccountCreds) GetUsername ¶
func (x *AccountCreds) GetUsername() string
func (*AccountCreds) ProtoMessage ¶
func (*AccountCreds) ProtoMessage()
func (*AccountCreds) ProtoReflect ¶
func (x *AccountCreds) ProtoReflect() protoreflect.Message
func (*AccountCreds) Reset ¶
func (x *AccountCreds) Reset()
func (*AccountCreds) String ¶
func (x *AccountCreds) String() string
type AccountGitlabToken ¶
type AccountGitlabToken struct { GitlabToken string `protobuf:"bytes,1,opt,name=gitlab_token,json=gitlabToken,proto3" json:"gitlab_token,omitempty"` // Gitlab token // contains filtered or unexported fields }
func (*AccountGitlabToken) Descriptor
deprecated
func (*AccountGitlabToken) Descriptor() ([]byte, []int)
Deprecated: Use AccountGitlabToken.ProtoReflect.Descriptor instead.
func (*AccountGitlabToken) GetGitlabToken ¶
func (x *AccountGitlabToken) GetGitlabToken() string
func (*AccountGitlabToken) ProtoMessage ¶
func (*AccountGitlabToken) ProtoMessage()
func (*AccountGitlabToken) ProtoReflect ¶
func (x *AccountGitlabToken) ProtoReflect() protoreflect.Message
func (*AccountGitlabToken) Reset ¶
func (x *AccountGitlabToken) Reset()
func (*AccountGitlabToken) String ¶
func (x *AccountGitlabToken) String() string
type AccountId ¶
type AccountId struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID // contains filtered or unexported fields }
* Represents Account ID only
func (*AccountId) Descriptor
deprecated
func (*AccountId) ProtoMessage ¶
func (*AccountId) ProtoMessage()
func (*AccountId) ProtoReflect ¶
func (x *AccountId) ProtoReflect() protoreflect.Message
type AccountInfo ¶
type AccountInfo struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // username: unix-like // contains filtered or unexported fields }
* Represents the Account without sensitive data
func (*AccountInfo) Descriptor
deprecated
func (*AccountInfo) Descriptor() ([]byte, []int)
Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead.
func (*AccountInfo) GetId ¶
func (x *AccountInfo) GetId() string
func (*AccountInfo) GetUsername ¶
func (x *AccountInfo) GetUsername() string
func (*AccountInfo) ProtoMessage ¶
func (*AccountInfo) ProtoMessage()
func (*AccountInfo) ProtoReflect ¶
func (x *AccountInfo) ProtoReflect() protoreflect.Message
func (*AccountInfo) Reset ¶
func (x *AccountInfo) Reset()
func (*AccountInfo) String ¶
func (x *AccountInfo) String() string
type AccountInfoWithSensitive ¶
type AccountInfoWithSensitive struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // username: unix-like Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // Password GitlabToken string `protobuf:"bytes,4,opt,name=gitlab_token,json=gitlabToken,proto3" json:"gitlab_token,omitempty"` // contains filtered or unexported fields }
func (*AccountInfoWithSensitive) Descriptor
deprecated
func (*AccountInfoWithSensitive) Descriptor() ([]byte, []int)
Deprecated: Use AccountInfoWithSensitive.ProtoReflect.Descriptor instead.
func (*AccountInfoWithSensitive) GetGitlabToken ¶ added in v0.0.3
func (x *AccountInfoWithSensitive) GetGitlabToken() string
func (*AccountInfoWithSensitive) GetId ¶
func (x *AccountInfoWithSensitive) GetId() string
func (*AccountInfoWithSensitive) GetPassword ¶
func (x *AccountInfoWithSensitive) GetPassword() string
func (*AccountInfoWithSensitive) GetUsername ¶
func (x *AccountInfoWithSensitive) GetUsername() string
func (*AccountInfoWithSensitive) ProtoMessage ¶
func (*AccountInfoWithSensitive) ProtoMessage()
func (*AccountInfoWithSensitive) ProtoReflect ¶
func (x *AccountInfoWithSensitive) ProtoReflect() protoreflect.Message
func (*AccountInfoWithSensitive) Reset ¶
func (x *AccountInfoWithSensitive) Reset()
func (*AccountInfoWithSensitive) String ¶
func (x *AccountInfoWithSensitive) String() string
type AccountName ¶
type AccountName struct { Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // username // contains filtered or unexported fields }
* Represents username only
func (*AccountName) Descriptor
deprecated
func (*AccountName) Descriptor() ([]byte, []int)
Deprecated: Use AccountName.ProtoReflect.Descriptor instead.
func (*AccountName) GetUsername ¶
func (x *AccountName) GetUsername() string
func (*AccountName) ProtoMessage ¶
func (*AccountName) ProtoMessage()
func (*AccountName) ProtoReflect ¶
func (x *AccountName) ProtoReflect() protoreflect.Message
func (*AccountName) Reset ¶
func (x *AccountName) Reset()
func (*AccountName) String ¶
func (x *AccountName) String() string
type AccountsApps ¶
type AccountsApps struct { UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Apps []string `protobuf:"bytes,2,rep,name=apps,proto3" json:"apps,omitempty"` // contains filtered or unexported fields }
func (*AccountsApps) Descriptor
deprecated
func (*AccountsApps) Descriptor() ([]byte, []int)
Deprecated: Use AccountsApps.ProtoReflect.Descriptor instead.
func (*AccountsApps) GetApps ¶
func (x *AccountsApps) GetApps() []string
func (*AccountsApps) GetUserId ¶
func (x *AccountsApps) GetUserId() string
func (*AccountsApps) ProtoMessage ¶
func (*AccountsApps) ProtoMessage()
func (*AccountsApps) ProtoReflect ¶
func (x *AccountsApps) ProtoReflect() protoreflect.Message
func (*AccountsApps) Reset ¶
func (x *AccountsApps) Reset()
func (*AccountsApps) String ¶
func (x *AccountsApps) String() string
type AccountsClient ¶
type AccountsClient interface { /// Use to create a Account Create(ctx context.Context, in *AccountCreds, opts ...grpc.CallOption) (*AccountInfo, error) /// Use to update a Account UpdateUser(ctx context.Context, in *FullAccountInfo, opts ...grpc.CallOption) (*FullAccountInfo, error) UpdatePassword(ctx context.Context, in *PasswordUpdate, opts ...grpc.CallOption) (*common.EmptyMessage, error) /// Use to get a Account by ID Get(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*AccountInfo, error) /// Use to get yourself by ID SelfGet(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*FullAccountInfo, error) /// List Accounts List(ctx context.Context, in *AccountsListOptions, opts ...grpc.CallOption) (Accounts_ListClient, error) /// Add an app to the user app list AddAppToUser(ctx context.Context, in *applications.AppId, opts ...grpc.CallOption) (*common.EmptyMessage, error) InitAddAppToUser(ctx context.Context, in *applications.AppId, opts ...grpc.CallOption) (*common.EmptyMessage, error) GetAppsFromUser(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*AccountsApps, error) }
AccountsClient is the client API for Accounts 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.
func NewAccountsClient ¶
func NewAccountsClient(cc grpc.ClientConnInterface) AccountsClient
type AccountsListOptions ¶
type AccountsListOptions struct { AccountName *AccountName `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` Paging *common.Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` // contains filtered or unexported fields }
func (*AccountsListOptions) Descriptor
deprecated
func (*AccountsListOptions) Descriptor() ([]byte, []int)
Deprecated: Use AccountsListOptions.ProtoReflect.Descriptor instead.
func (*AccountsListOptions) GetAccountName ¶
func (x *AccountsListOptions) GetAccountName() *AccountName
func (*AccountsListOptions) GetPaging ¶
func (x *AccountsListOptions) GetPaging() *common.Paging
func (*AccountsListOptions) ProtoMessage ¶
func (*AccountsListOptions) ProtoMessage()
func (*AccountsListOptions) ProtoReflect ¶
func (x *AccountsListOptions) ProtoReflect() protoreflect.Message
func (*AccountsListOptions) Reset ¶
func (x *AccountsListOptions) Reset()
func (*AccountsListOptions) String ¶
func (x *AccountsListOptions) String() string
type AccountsServer ¶
type AccountsServer interface { /// Use to create a Account Create(context.Context, *AccountCreds) (*AccountInfo, error) /// Use to update a Account UpdateUser(context.Context, *FullAccountInfo) (*FullAccountInfo, error) UpdatePassword(context.Context, *PasswordUpdate) (*common.EmptyMessage, error) /// Use to get a Account by ID Get(context.Context, *AccountId) (*AccountInfo, error) /// Use to get yourself by ID SelfGet(context.Context, *AccountId) (*FullAccountInfo, error) /// List Accounts List(*AccountsListOptions, Accounts_ListServer) error /// Add an app to the user app list AddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error) InitAddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error) GetAppsFromUser(context.Context, *AccountId) (*AccountsApps, error) // contains filtered or unexported methods }
AccountsServer is the server API for Accounts service. All implementations must embed UnimplementedAccountsServer for forward compatibility
type Accounts_ListClient ¶
type Accounts_ListClient interface { Recv() (*AccountInfo, error) grpc.ClientStream }
type Accounts_ListServer ¶
type Accounts_ListServer interface { Send(*AccountInfo) error grpc.ServerStream }
type FullAccountInfo ¶
type FullAccountInfo struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // username: unix-like GitlabToken string `protobuf:"bytes,3,opt,name=gitlab_token,json=gitlabToken,proto3" json:"gitlab_token,omitempty"` // contains filtered or unexported fields }
func (*FullAccountInfo) Descriptor
deprecated
func (*FullAccountInfo) Descriptor() ([]byte, []int)
Deprecated: Use FullAccountInfo.ProtoReflect.Descriptor instead.
func (*FullAccountInfo) GetGitlabToken ¶
func (x *FullAccountInfo) GetGitlabToken() string
func (*FullAccountInfo) GetId ¶
func (x *FullAccountInfo) GetId() string
func (*FullAccountInfo) GetUsername ¶
func (x *FullAccountInfo) GetUsername() string
func (*FullAccountInfo) ProtoMessage ¶
func (*FullAccountInfo) ProtoMessage()
func (*FullAccountInfo) ProtoReflect ¶
func (x *FullAccountInfo) ProtoReflect() protoreflect.Message
func (*FullAccountInfo) Reset ¶
func (x *FullAccountInfo) Reset()
func (*FullAccountInfo) String ¶
func (x *FullAccountInfo) String() string
type PasswordUpdate ¶
type PasswordUpdate struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` OldPassword string `protobuf:"bytes,3,opt,name=old_password,json=oldPassword,proto3" json:"old_password,omitempty"` NewPassword string `protobuf:"bytes,4,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` // contains filtered or unexported fields }
func (*PasswordUpdate) Descriptor
deprecated
func (*PasswordUpdate) Descriptor() ([]byte, []int)
Deprecated: Use PasswordUpdate.ProtoReflect.Descriptor instead.
func (*PasswordUpdate) GetId ¶
func (x *PasswordUpdate) GetId() string
func (*PasswordUpdate) GetNewPassword ¶
func (x *PasswordUpdate) GetNewPassword() string
func (*PasswordUpdate) GetOldPassword ¶
func (x *PasswordUpdate) GetOldPassword() string
func (*PasswordUpdate) GetUsername ¶
func (x *PasswordUpdate) GetUsername() string
func (*PasswordUpdate) ProtoMessage ¶
func (*PasswordUpdate) ProtoMessage()
func (*PasswordUpdate) ProtoReflect ¶
func (x *PasswordUpdate) ProtoReflect() protoreflect.Message
func (*PasswordUpdate) Reset ¶
func (x *PasswordUpdate) Reset()
func (*PasswordUpdate) String ¶
func (x *PasswordUpdate) String() string
type TokensClient ¶
type TokensClient interface { // Use to get gitlab token GetGitlabTokenByAccountID(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*AccountGitlabToken, error) }
TokensClient is the client API for Tokens 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.
func NewTokensClient ¶
func NewTokensClient(cc grpc.ClientConnInterface) TokensClient
type TokensServer ¶
type TokensServer interface { // Use to get gitlab token GetGitlabTokenByAccountID(context.Context, *AccountId) (*AccountGitlabToken, error) // contains filtered or unexported methods }
TokensServer is the server API for Tokens service. All implementations must embed UnimplementedTokensServer for forward compatibility
type UnimplementedAccountsServer ¶
type UnimplementedAccountsServer struct { }
UnimplementedAccountsServer must be embedded to have forward compatible implementations.
func (UnimplementedAccountsServer) AddAppToUser ¶ added in v0.0.3
func (UnimplementedAccountsServer) AddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error)
func (UnimplementedAccountsServer) Create ¶
func (UnimplementedAccountsServer) Create(context.Context, *AccountCreds) (*AccountInfo, error)
func (UnimplementedAccountsServer) Get ¶
func (UnimplementedAccountsServer) Get(context.Context, *AccountId) (*AccountInfo, error)
func (UnimplementedAccountsServer) GetAppsFromUser ¶
func (UnimplementedAccountsServer) GetAppsFromUser(context.Context, *AccountId) (*AccountsApps, error)
func (UnimplementedAccountsServer) InitAddAppToUser ¶
func (UnimplementedAccountsServer) InitAddAppToUser(context.Context, *applications.AppId) (*common.EmptyMessage, error)
func (UnimplementedAccountsServer) List ¶
func (UnimplementedAccountsServer) List(*AccountsListOptions, Accounts_ListServer) error
func (UnimplementedAccountsServer) SelfGet ¶
func (UnimplementedAccountsServer) SelfGet(context.Context, *AccountId) (*FullAccountInfo, error)
func (UnimplementedAccountsServer) UpdatePassword ¶
func (UnimplementedAccountsServer) UpdatePassword(context.Context, *PasswordUpdate) (*common.EmptyMessage, error)
func (UnimplementedAccountsServer) UpdateUser ¶ added in v0.0.3
func (UnimplementedAccountsServer) UpdateUser(context.Context, *FullAccountInfo) (*FullAccountInfo, error)
type UnimplementedTokensServer ¶
type UnimplementedTokensServer struct { }
UnimplementedTokensServer must be embedded to have forward compatible implementations.
func (UnimplementedTokensServer) GetGitlabTokenByAccountID ¶
func (UnimplementedTokensServer) GetGitlabTokenByAccountID(context.Context, *AccountId) (*AccountGitlabToken, error)
type UnsafeAccountsServer ¶
type UnsafeAccountsServer interface {
// contains filtered or unexported methods
}
UnsafeAccountsServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AccountsServer will result in compilation errors.
type UnsafeTokensServer ¶
type UnsafeTokensServer interface {
// contains filtered or unexported methods
}
UnsafeTokensServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to TokensServer will result in compilation errors.