v1

package
v1.2.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2023 License: Unlicense Imports: 17 Imported by: 0

Documentation

Overview

Package v1 is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	IamService_RegisterClient_FullMethodName = "/protos.frontend.iam.v1.IamService/RegisterClient"
	IamService_GetClients_FullMethodName     = "/protos.frontend.iam.v1.IamService/GetClients"
	IamService_GetClient_FullMethodName      = "/protos.frontend.iam.v1.IamService/GetClient"
	IamService_DeleteClient_FullMethodName   = "/protos.frontend.iam.v1.IamService/DeleteClient"
	IamService_CreateUser_FullMethodName     = "/protos.frontend.iam.v1.IamService/CreateUser"
	IamService_GetUser_FullMethodName        = "/protos.frontend.iam.v1.IamService/GetUser"
	IamService_UpdateEmail_FullMethodName    = "/protos.frontend.iam.v1.IamService/UpdateEmail"
	IamService_UpdatePassword_FullMethodName = "/protos.frontend.iam.v1.IamService/UpdatePassword"
)

Variables

View Source
var File_protos_frontend_iam_v1_service_proto protoreflect.FileDescriptor
View Source
var IamService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "protos.frontend.iam.v1.IamService",
	HandlerType: (*IamServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterClient",
			Handler:    _IamService_RegisterClient_Handler,
		},
		{
			MethodName: "GetClient",
			Handler:    _IamService_GetClient_Handler,
		},
		{
			MethodName: "DeleteClient",
			Handler:    _IamService_DeleteClient_Handler,
		},
		{
			MethodName: "CreateUser",
			Handler:    _IamService_CreateUser_Handler,
		},
		{
			MethodName: "GetUser",
			Handler:    _IamService_GetUser_Handler,
		},
		{
			MethodName: "UpdateEmail",
			Handler:    _IamService_UpdateEmail_Handler,
		},
		{
			MethodName: "UpdatePassword",
			Handler:    _IamService_UpdatePassword_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "GetClients",
			Handler:       _IamService_GetClients_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "protos/frontend/iam/v1/service.proto",
}

IamService_ServiceDesc is the grpc.ServiceDesc for IamService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterIamServiceHandler added in v1.1.0

func RegisterIamServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterIamServiceHandler registers the http handlers for service IamService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterIamServiceHandlerClient added in v1.1.0

func RegisterIamServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IamServiceClient) error

RegisterIamServiceHandlerClient registers the http handlers for service IamService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IamServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IamServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "IamServiceClient" to call the correct interceptors.

func RegisterIamServiceHandlerFromEndpoint added in v1.1.0

func RegisterIamServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterIamServiceHandlerFromEndpoint is same as RegisterIamServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterIamServiceHandlerServer added in v1.1.0

func RegisterIamServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IamServiceServer) error

RegisterIamServiceHandlerServer registers the http handlers for service IamService to "mux". UnaryRPC :call IamServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterIamServiceHandlerFromEndpoint instead.

func RegisterIamServiceServer added in v1.1.0

func RegisterIamServiceServer(s grpc.ServiceRegistrar, srv IamServiceServer)

Types

type CreateUserRequest

type CreateUserRequest struct {
	Email    string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`       // The email address associated with the user
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // The cleartext password the user will logon with
	// contains filtered or unexported fields
}

Request to create a new user

func (*CreateUserRequest) Descriptor deprecated

func (*CreateUserRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead.

func (*CreateUserRequest) GetEmail

func (x *CreateUserRequest) GetEmail() string

func (*CreateUserRequest) GetPassword

func (x *CreateUserRequest) GetPassword() string

func (*CreateUserRequest) ProtoMessage

func (*CreateUserRequest) ProtoMessage()

func (*CreateUserRequest) ProtoReflect

func (x *CreateUserRequest) ProtoReflect() protoreflect.Message

func (*CreateUserRequest) Reset

func (x *CreateUserRequest) Reset()

func (*CreateUserRequest) String

func (x *CreateUserRequest) String() string

type DeleteClientRequest

type DeleteClientRequest struct {
	ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // The ID of the client being deleted
	// contains filtered or unexported fields
}

Request for deleting an existing client associated with the current user

func (*DeleteClientRequest) Descriptor deprecated

func (*DeleteClientRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteClientRequest.ProtoReflect.Descriptor instead.

func (*DeleteClientRequest) GetClientId

func (x *DeleteClientRequest) GetClientId() string

func (*DeleteClientRequest) ProtoMessage

func (*DeleteClientRequest) ProtoMessage()

func (*DeleteClientRequest) ProtoReflect

func (x *DeleteClientRequest) ProtoReflect() protoreflect.Message

func (*DeleteClientRequest) Reset

func (x *DeleteClientRequest) Reset()

func (*DeleteClientRequest) String

func (x *DeleteClientRequest) String() string

type GetClientRequest

type GetClientRequest struct {
	ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // The ID of the client being retrieved
	// contains filtered or unexported fields
}

Request for getting a particular client associated with the current user

func (*GetClientRequest) Descriptor deprecated

func (*GetClientRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetClientRequest.ProtoReflect.Descriptor instead.

func (*GetClientRequest) GetClientId

func (x *GetClientRequest) GetClientId() string

func (*GetClientRequest) ProtoMessage

func (*GetClientRequest) ProtoMessage()

func (*GetClientRequest) ProtoReflect

func (x *GetClientRequest) ProtoReflect() protoreflect.Message

func (*GetClientRequest) Reset

func (x *GetClientRequest) Reset()

func (*GetClientRequest) String

func (x *GetClientRequest) String() string

type GetClientsRequest

type GetClientsRequest struct {
	// contains filtered or unexported fields
}

Request for getting all clients for the current user

func (*GetClientsRequest) Descriptor deprecated

func (*GetClientsRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetClientsRequest.ProtoReflect.Descriptor instead.

func (*GetClientsRequest) ProtoMessage

func (*GetClientsRequest) ProtoMessage()

func (*GetClientsRequest) ProtoReflect

func (x *GetClientsRequest) ProtoReflect() protoreflect.Message

func (*GetClientsRequest) Reset

func (x *GetClientsRequest) Reset()

func (*GetClientsRequest) String

func (x *GetClientsRequest) String() string

type GetUserRequest

type GetUserRequest struct {
	// contains filtered or unexported fields
}

Request for getting the current user

func (*GetUserRequest) Descriptor deprecated

func (*GetUserRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead.

func (*GetUserRequest) ProtoMessage

func (*GetUserRequest) ProtoMessage()

func (*GetUserRequest) ProtoReflect

func (x *GetUserRequest) ProtoReflect() protoreflect.Message

func (*GetUserRequest) Reset

func (x *GetUserRequest) Reset()

func (*GetUserRequest) String

func (x *GetUserRequest) String() string

type IamServiceClient added in v1.1.0

type IamServiceClient interface {
	// Creates a new client associated with the current user, returning the client's information along with its credentials. This request is
	// allowed only to only create clients which are either for a non-Xefino domain or else for a non-browser client. This restriction is
	// intended as a security measure to prevent user clients from impersonating our official web client. Client credentials will be
	// available from this endpoint when the client is created, and only at that time.
	RegisterClient(ctx context.Context, in *RegisterClientRequest, opts ...grpc.CallOption) (*RegisterClientResponse, error)
	// Retrieves information on all the clients that have been registered for the current user. Note that secrets will not be returned from
	// this endpoint.
	GetClients(ctx context.Context, in *GetClientsRequest, opts ...grpc.CallOption) (IamService_GetClientsClient, error)
	// Retrieves the client associated with the current user and the client ID. Note that the secret associated with this client will not
	// be returned from this endpoint. If there is no client associated with the user ID and client ID provided, then this endpoint will
	// return a not-found response
	GetClient(ctx context.Context, in *GetClientRequest, opts ...grpc.CallOption) (*data.Client, error)
	// Removes the client associated with the current user and client ID, returning the client's information. Note that the secret
	// associated with this client will not be returned from this endpoint. If there is not client associated with the user ID and client ID
	// provided, then this endpoint will return a not-found response
	DeleteClient(ctx context.Context, in *DeleteClientRequest, opts ...grpc.CallOption) (*data.Client, error)
	// Creates a new user with the desired username and password. This request will fail if a user is created with the same email address as
	// another user, or if the password is empty. Only our official client is allowed to access this endpoint.
	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*data.User, error)
	// Retrieves the account information for the current user. This function will not return any sensitive information associated with the user.
	GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*data.User, error)
	// Updates the email address (username) associated with the current user. This function will return the updated user information, but this will
	// not include any sensitive information.
	UpdateEmail(ctx context.Context, in *UpdateEmailRequest, opts ...grpc.CallOption) (*data.User, error)
	// Updates the password associated with the current user. This function will not return any sensitive information associated with the user.
	UpdatePassword(ctx context.Context, in *UpdatePasswordRequest, opts ...grpc.CallOption) (*data.User, error)
}

IamServiceClient is the client API for IamService 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 NewIamServiceClient added in v1.1.0

func NewIamServiceClient(cc grpc.ClientConnInterface) IamServiceClient

type IamServiceServer added in v1.1.0

type IamServiceServer interface {
	// Creates a new client associated with the current user, returning the client's information along with its credentials. This request is
	// allowed only to only create clients which are either for a non-Xefino domain or else for a non-browser client. This restriction is
	// intended as a security measure to prevent user clients from impersonating our official web client. Client credentials will be
	// available from this endpoint when the client is created, and only at that time.
	RegisterClient(context.Context, *RegisterClientRequest) (*RegisterClientResponse, error)
	// Retrieves information on all the clients that have been registered for the current user. Note that secrets will not be returned from
	// this endpoint.
	GetClients(*GetClientsRequest, IamService_GetClientsServer) error
	// Retrieves the client associated with the current user and the client ID. Note that the secret associated with this client will not
	// be returned from this endpoint. If there is no client associated with the user ID and client ID provided, then this endpoint will
	// return a not-found response
	GetClient(context.Context, *GetClientRequest) (*data.Client, error)
	// Removes the client associated with the current user and client ID, returning the client's information. Note that the secret
	// associated with this client will not be returned from this endpoint. If there is not client associated with the user ID and client ID
	// provided, then this endpoint will return a not-found response
	DeleteClient(context.Context, *DeleteClientRequest) (*data.Client, error)
	// Creates a new user with the desired username and password. This request will fail if a user is created with the same email address as
	// another user, or if the password is empty. Only our official client is allowed to access this endpoint.
	CreateUser(context.Context, *CreateUserRequest) (*data.User, error)
	// Retrieves the account information for the current user. This function will not return any sensitive information associated with the user.
	GetUser(context.Context, *GetUserRequest) (*data.User, error)
	// Updates the email address (username) associated with the current user. This function will return the updated user information, but this will
	// not include any sensitive information.
	UpdateEmail(context.Context, *UpdateEmailRequest) (*data.User, error)
	// Updates the password associated with the current user. This function will not return any sensitive information associated with the user.
	UpdatePassword(context.Context, *UpdatePasswordRequest) (*data.User, error)
	// contains filtered or unexported methods
}

IamServiceServer is the server API for IamService service. All implementations must embed UnimplementedIamServiceServer for forward compatibility

type IamService_GetClientsClient added in v1.1.0

type IamService_GetClientsClient interface {
	Recv() (*data.Client, error)
	grpc.ClientStream
}

type IamService_GetClientsServer added in v1.1.0

type IamService_GetClientsServer interface {
	Send(*data.Client) error
	grpc.ServerStream
}

type RegisterClientRequest

type RegisterClientRequest struct {
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // The domain associated with the client; this value may be used to
	// deny access to certain endpoints
	ClientType data.ClientType `` // The type of client (web, CLI, other)
	/* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Request to register a new client associated with the current user

func (*RegisterClientRequest) Descriptor deprecated

func (*RegisterClientRequest) Descriptor() ([]byte, []int)

Deprecated: Use RegisterClientRequest.ProtoReflect.Descriptor instead.

func (*RegisterClientRequest) GetClientType

func (x *RegisterClientRequest) GetClientType() data.ClientType

func (*RegisterClientRequest) GetDomain

func (x *RegisterClientRequest) GetDomain() string

func (*RegisterClientRequest) ProtoMessage

func (*RegisterClientRequest) ProtoMessage()

func (*RegisterClientRequest) ProtoReflect

func (x *RegisterClientRequest) ProtoReflect() protoreflect.Message

func (*RegisterClientRequest) Reset

func (x *RegisterClientRequest) Reset()

func (*RegisterClientRequest) String

func (x *RegisterClientRequest) String() string

type RegisterClientResponse added in v1.1.0

type RegisterClientResponse struct {
	Id     string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`                                           // The ID of the client, as recorded in the system. This value should be saved for later
	Secret string          `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"`                                   // The secret associated with this client. This value will only be made available once
	Domain string          `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`                                   // The domain for which the client is registered. This value may be used to deny access to certain resources
	Type   data.ClientType `protobuf:"varint,4,opt,name=type,proto3,enum=protos.frontend.data.ClientType" json:"type,omitempty"` // The type of the client. This value may be used to deny access to certain resources
	// contains filtered or unexported fields
}

Response retrieved after the client registration is complete

func (*RegisterClientResponse) Descriptor deprecated added in v1.1.0

func (*RegisterClientResponse) Descriptor() ([]byte, []int)

Deprecated: Use RegisterClientResponse.ProtoReflect.Descriptor instead.

func (*RegisterClientResponse) GetDomain added in v1.1.0

func (x *RegisterClientResponse) GetDomain() string

func (*RegisterClientResponse) GetId added in v1.1.0

func (x *RegisterClientResponse) GetId() string

func (*RegisterClientResponse) GetSecret added in v1.1.0

func (x *RegisterClientResponse) GetSecret() string

func (*RegisterClientResponse) GetType added in v1.1.0

func (x *RegisterClientResponse) GetType() data.ClientType

func (*RegisterClientResponse) ProtoMessage added in v1.1.0

func (*RegisterClientResponse) ProtoMessage()

func (*RegisterClientResponse) ProtoReflect added in v1.1.0

func (x *RegisterClientResponse) ProtoReflect() protoreflect.Message

func (*RegisterClientResponse) Reset added in v1.1.0

func (x *RegisterClientResponse) Reset()

func (*RegisterClientResponse) String added in v1.1.0

func (x *RegisterClientResponse) String() string

type UnimplementedIamServiceServer added in v1.1.0

type UnimplementedIamServiceServer struct {
}

UnimplementedIamServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedIamServiceServer) CreateUser added in v1.1.0

func (UnimplementedIamServiceServer) DeleteClient added in v1.1.0

func (UnimplementedIamServiceServer) GetClient added in v1.1.0

func (UnimplementedIamServiceServer) GetClients added in v1.1.0

func (UnimplementedIamServiceServer) GetUser added in v1.1.0

func (UnimplementedIamServiceServer) RegisterClient added in v1.1.0

func (UnimplementedIamServiceServer) UpdateEmail added in v1.1.0

func (UnimplementedIamServiceServer) UpdatePassword added in v1.1.0

type UnsafeIamServiceServer added in v1.1.0

type UnsafeIamServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeIamServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to IamServiceServer will result in compilation errors.

type UpdateEmailRequest

type UpdateEmailRequest struct {
	NewEmail string `protobuf:"bytes,1,opt,name=new_email,json=newEmail,proto3" json:"new_email,omitempty"` // The user's new email address
	// contains filtered or unexported fields
}

Request to update a user's email address

func (*UpdateEmailRequest) Descriptor deprecated

func (*UpdateEmailRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateEmailRequest.ProtoReflect.Descriptor instead.

func (*UpdateEmailRequest) GetNewEmail

func (x *UpdateEmailRequest) GetNewEmail() string

func (*UpdateEmailRequest) ProtoMessage

func (*UpdateEmailRequest) ProtoMessage()

func (*UpdateEmailRequest) ProtoReflect

func (x *UpdateEmailRequest) ProtoReflect() protoreflect.Message

func (*UpdateEmailRequest) Reset

func (x *UpdateEmailRequest) Reset()

func (*UpdateEmailRequest) String

func (x *UpdateEmailRequest) String() string

type UpdatePasswordRequest

type UpdatePasswordRequest struct {
	NewPassword string `protobuf:"bytes,1,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` // The user's new cleartext password
	// contains filtered or unexported fields
}

Request to update a user's password

func (*UpdatePasswordRequest) Descriptor deprecated

func (*UpdatePasswordRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdatePasswordRequest.ProtoReflect.Descriptor instead.

func (*UpdatePasswordRequest) GetNewPassword

func (x *UpdatePasswordRequest) GetNewPassword() string

func (*UpdatePasswordRequest) ProtoMessage

func (*UpdatePasswordRequest) ProtoMessage()

func (*UpdatePasswordRequest) ProtoReflect

func (x *UpdatePasswordRequest) ProtoReflect() protoreflect.Message

func (*UpdatePasswordRequest) Reset

func (x *UpdatePasswordRequest) Reset()

func (*UpdatePasswordRequest) String

func (x *UpdatePasswordRequest) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL