v1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Overview

Package v1 is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	PermissionsService_RegisterPermissions_FullMethodName = "/authorization.service.api.v1.PermissionsService/RegisterPermissions"
	PermissionsService_GetPermissions_FullMethodName      = "/authorization.service.api.v1.PermissionsService/GetPermissions"
	PermissionsService_ListPermissions_FullMethodName     = "/authorization.service.api.v1.PermissionsService/ListPermissions"
	PermissionsService_DeletePermissions_FullMethodName   = "/authorization.service.api.v1.PermissionsService/DeletePermissions"
)

Variables

View Source
var (
	PermissionOp_name = map[int32]string{
		0: "PERMISSION_OP_UNSPECIFIED",
		1: "PERMISSION_OP_WRITE",
		2: "PERMISSION_OP_DELETE",
	}
	PermissionOp_value = map[string]int32{
		"PERMISSION_OP_UNSPECIFIED": 0,
		"PERMISSION_OP_WRITE":       1,
		"PERMISSION_OP_DELETE":      2,
	}
)

Enum value maps for PermissionOp.

View Source
var File_v1_api_proto protoreflect.FileDescriptor
View Source
var File_v1_messages_proto protoreflect.FileDescriptor
View Source
var File_v1_permissions_proto protoreflect.FileDescriptor
View Source
var PermissionsService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "authorization.service.api.v1.PermissionsService",
	HandlerType: (*PermissionsServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterPermissions",
			Handler:    _PermissionsService_RegisterPermissions_Handler,
		},
		{
			MethodName: "GetPermissions",
			Handler:    _PermissionsService_GetPermissions_Handler,
		},
		{
			MethodName: "ListPermissions",
			Handler:    _PermissionsService_ListPermissions_Handler,
		},
		{
			MethodName: "DeletePermissions",
			Handler:    _PermissionsService_DeletePermissions_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/permissions.proto",
}

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

Functions

func RegisterPermissionsServiceHandler

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

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

func RegisterPermissionsServiceHandlerClient

func RegisterPermissionsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PermissionsServiceClient) error

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

func RegisterPermissionsServiceHandlerFromEndpoint

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

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

func RegisterPermissionsServiceHandlerServer

func RegisterPermissionsServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PermissionsServiceServer) error

RegisterPermissionsServiceHandlerServer registers the http handlers for service PermissionsService to "mux". UnaryRPC :call PermissionsServiceServer 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 RegisterPermissionsServiceHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.

func RegisterPermissionsServiceServer

func RegisterPermissionsServiceServer(s grpc.ServiceRegistrar, srv PermissionsServiceServer)

Types

type DeletePermissionsRequest

type DeletePermissionsRequest struct {
	ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePermissionsRequest) Descriptor deprecated

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

Deprecated: Use DeletePermissionsRequest.ProtoReflect.Descriptor instead.

func (*DeletePermissionsRequest) GetServiceId

func (x *DeletePermissionsRequest) GetServiceId() string

func (*DeletePermissionsRequest) ProtoMessage

func (*DeletePermissionsRequest) ProtoMessage()

func (*DeletePermissionsRequest) ProtoReflect

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

func (*DeletePermissionsRequest) Reset

func (x *DeletePermissionsRequest) Reset()

func (*DeletePermissionsRequest) String

func (x *DeletePermissionsRequest) String() string

type DeletePermissionsResponse

type DeletePermissionsResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePermissionsResponse) Descriptor deprecated

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

Deprecated: Use DeletePermissionsResponse.ProtoReflect.Descriptor instead.

func (*DeletePermissionsResponse) GetSuccess

func (x *DeletePermissionsResponse) GetSuccess() bool

func (*DeletePermissionsResponse) ProtoMessage

func (*DeletePermissionsResponse) ProtoMessage()

func (*DeletePermissionsResponse) ProtoReflect

func (*DeletePermissionsResponse) Reset

func (x *DeletePermissionsResponse) Reset()

func (*DeletePermissionsResponse) String

func (x *DeletePermissionsResponse) String() string

type GetPermissionsRequest

type GetPermissionsRequest struct {
	ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	Version   string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPermissionsRequest) Descriptor deprecated

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

Deprecated: Use GetPermissionsRequest.ProtoReflect.Descriptor instead.

func (*GetPermissionsRequest) GetServiceId

func (x *GetPermissionsRequest) GetServiceId() string

func (*GetPermissionsRequest) GetVersion

func (x *GetPermissionsRequest) GetVersion() string

func (*GetPermissionsRequest) ProtoMessage

func (*GetPermissionsRequest) ProtoMessage()

func (*GetPermissionsRequest) ProtoReflect

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

func (*GetPermissionsRequest) Reset

func (x *GetPermissionsRequest) Reset()

func (*GetPermissionsRequest) String

func (x *GetPermissionsRequest) String() string

type GetPermissionsResponse

type GetPermissionsResponse struct {
	ServiceId    string                 `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	ServiceName  string                 `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	Permissions  *structpb.Struct       `protobuf:"bytes,3,opt,name=permissions,proto3" json:"permissions,omitempty"`
	Version      string                 `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	RegisteredAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=registered_at,json=registeredAt,proto3" json:"registered_at,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPermissionsResponse) Descriptor deprecated

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

Deprecated: Use GetPermissionsResponse.ProtoReflect.Descriptor instead.

func (*GetPermissionsResponse) GetPermissions

func (x *GetPermissionsResponse) GetPermissions() *structpb.Struct

func (*GetPermissionsResponse) GetRegisteredAt

func (x *GetPermissionsResponse) GetRegisteredAt() *timestamppb.Timestamp

func (*GetPermissionsResponse) GetServiceId

func (x *GetPermissionsResponse) GetServiceId() string

func (*GetPermissionsResponse) GetServiceName

func (x *GetPermissionsResponse) GetServiceName() string

func (*GetPermissionsResponse) GetVersion

func (x *GetPermissionsResponse) GetVersion() string

func (*GetPermissionsResponse) ProtoMessage

func (*GetPermissionsResponse) ProtoMessage()

func (*GetPermissionsResponse) ProtoReflect

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

func (*GetPermissionsResponse) Reset

func (x *GetPermissionsResponse) Reset()

func (*GetPermissionsResponse) String

func (x *GetPermissionsResponse) String() string

type ListPermissionsRequest

type ListPermissionsRequest struct {
	PageSize  int32  `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListPermissionsRequest) Descriptor deprecated

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

Deprecated: Use ListPermissionsRequest.ProtoReflect.Descriptor instead.

func (*ListPermissionsRequest) GetPageSize

func (x *ListPermissionsRequest) GetPageSize() int32

func (*ListPermissionsRequest) GetPageToken

func (x *ListPermissionsRequest) GetPageToken() string

func (*ListPermissionsRequest) ProtoMessage

func (*ListPermissionsRequest) ProtoMessage()

func (*ListPermissionsRequest) ProtoReflect

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

func (*ListPermissionsRequest) Reset

func (x *ListPermissionsRequest) Reset()

func (*ListPermissionsRequest) String

func (x *ListPermissionsRequest) String() string

type ListPermissionsResponse

type ListPermissionsResponse struct {
	Permissions   []*GetPermissionsResponse `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
	NextPageToken string                    `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListPermissionsResponse) Descriptor deprecated

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

Deprecated: Use ListPermissionsResponse.ProtoReflect.Descriptor instead.

func (*ListPermissionsResponse) GetNextPageToken

func (x *ListPermissionsResponse) GetNextPageToken() string

func (*ListPermissionsResponse) GetPermissions

func (x *ListPermissionsResponse) GetPermissions() []*GetPermissionsResponse

func (*ListPermissionsResponse) ProtoMessage

func (*ListPermissionsResponse) ProtoMessage()

func (*ListPermissionsResponse) ProtoReflect

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

func (*ListPermissionsResponse) Reset

func (x *ListPermissionsResponse) Reset()

func (*ListPermissionsResponse) String

func (x *ListPermissionsResponse) String() string

type PermissionOp added in v1.0.0

type PermissionOp int32

Enum for operation types; includes unspecified zero value

const (
	PermissionOp_PERMISSION_OP_UNSPECIFIED PermissionOp = 0 // Zero value to notice when an operation wasn't explicitly set
	PermissionOp_PERMISSION_OP_WRITE       PermissionOp = 1
	PermissionOp_PERMISSION_OP_DELETE      PermissionOp = 2
)

func (PermissionOp) Descriptor added in v1.0.0

func (PermissionOp) Enum added in v1.0.0

func (x PermissionOp) Enum() *PermissionOp

func (PermissionOp) EnumDescriptor deprecated added in v1.0.0

func (PermissionOp) EnumDescriptor() ([]byte, []int)

Deprecated: Use PermissionOp.Descriptor instead.

func (PermissionOp) Number added in v1.0.0

func (PermissionOp) String added in v1.0.0

func (x PermissionOp) String() string

func (PermissionOp) Type added in v1.0.0

type PermissionOperation added in v1.0.0

type PermissionOperation struct {
	Op       PermissionOp `protobuf:"varint,1,opt,name=op,proto3,enum=authorization.service.api.v1.PermissionOp" json:"op,omitempty"` // write, delete, replace, ...
	Subject  string       `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`                                       // "type:id" e.g. "user:u2"
	Relation string       `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"`                                     // relation name e.g. "viewer", "owner"
	Object   string       `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"`                                         // "type:id" e.g. "invoice:inv-1"
	// contains filtered or unexported fields
}

Single operation that maps to one or more OpenFGA tuple writes/deletes

func (*PermissionOperation) Descriptor deprecated added in v1.0.0

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

Deprecated: Use PermissionOperation.ProtoReflect.Descriptor instead.

func (*PermissionOperation) GetObject added in v1.0.0

func (x *PermissionOperation) GetObject() string

func (*PermissionOperation) GetOp added in v1.0.0

func (x *PermissionOperation) GetOp() PermissionOp

func (*PermissionOperation) GetRelation added in v1.0.0

func (x *PermissionOperation) GetRelation() string

func (*PermissionOperation) GetSubject added in v1.0.0

func (x *PermissionOperation) GetSubject() string

func (*PermissionOperation) ProtoMessage added in v1.0.0

func (*PermissionOperation) ProtoMessage()

func (*PermissionOperation) ProtoReflect added in v1.0.0

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

func (*PermissionOperation) Reset added in v1.0.0

func (x *PermissionOperation) Reset()

func (*PermissionOperation) String added in v1.0.0

func (x *PermissionOperation) String() string

type PermissionUpdateEnvelope added in v1.0.0

type PermissionUpdateEnvelope struct {
	Version        string                 `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`                      // payload schema version
	Service        string                 `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`                      // service slug/name
	MessageId      string                 `protobuf:"bytes,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // reference to this message to be used in case of errors
	IdempotencyKey string                 `protobuf:"bytes,4,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"`
	EventTime      *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`                   // business time of the event (producer)
	IngestionTime  *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=ingestion_time,json=ingestionTime,proto3" json:"ingestion_time,omitempty"`       // populated by Cerberus listener at ingestion
	CorrelationId  *string                `protobuf:"bytes,7,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"` // optional trace/correlation id
	Operations     []*PermissionOperation `protobuf:"bytes,8,rep,name=operations,proto3" json:"operations,omitempty"`                                  // list of atomic operations to apply
	// contains filtered or unexported fields
}

Permission update event published by federated services to <service>.permissions

func (*PermissionUpdateEnvelope) Descriptor deprecated added in v1.0.0

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

Deprecated: Use PermissionUpdateEnvelope.ProtoReflect.Descriptor instead.

func (*PermissionUpdateEnvelope) GetCorrelationId added in v1.0.0

func (x *PermissionUpdateEnvelope) GetCorrelationId() string

func (*PermissionUpdateEnvelope) GetEventTime added in v1.0.0

func (x *PermissionUpdateEnvelope) GetEventTime() *timestamppb.Timestamp

func (*PermissionUpdateEnvelope) GetIdempotencyKey added in v1.0.0

func (x *PermissionUpdateEnvelope) GetIdempotencyKey() string

func (*PermissionUpdateEnvelope) GetIngestionTime added in v1.0.0

func (x *PermissionUpdateEnvelope) GetIngestionTime() *timestamppb.Timestamp

func (*PermissionUpdateEnvelope) GetMessageId added in v1.0.0

func (x *PermissionUpdateEnvelope) GetMessageId() string

func (*PermissionUpdateEnvelope) GetOperations added in v1.0.0

func (x *PermissionUpdateEnvelope) GetOperations() []*PermissionOperation

func (*PermissionUpdateEnvelope) GetService added in v1.0.0

func (x *PermissionUpdateEnvelope) GetService() string

func (*PermissionUpdateEnvelope) GetVersion added in v1.0.0

func (x *PermissionUpdateEnvelope) GetVersion() string

func (*PermissionUpdateEnvelope) ProtoMessage added in v1.0.0

func (*PermissionUpdateEnvelope) ProtoMessage()

func (*PermissionUpdateEnvelope) ProtoReflect added in v1.0.0

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

func (*PermissionUpdateEnvelope) Reset added in v1.0.0

func (x *PermissionUpdateEnvelope) Reset()

func (*PermissionUpdateEnvelope) String added in v1.0.0

func (x *PermissionUpdateEnvelope) String() string

type PermissionsServiceClient

type PermissionsServiceClient interface {
	// RegisterPermissions registers or updates permissions for a service
	RegisterPermissions(ctx context.Context, in *RegisterPermissionsRequest, opts ...grpc.CallOption) (*RegisterPermissionsResponse, error)
	// GetPermissions retrieves permissions for a service
	GetPermissions(ctx context.Context, in *GetPermissionsRequest, opts ...grpc.CallOption) (*GetPermissionsResponse, error)
	// ListPermissions lists all registered permissions
	ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error)
	// DeletePermissions removes permissions for a service
	DeletePermissions(ctx context.Context, in *DeletePermissionsRequest, opts ...grpc.CallOption) (*DeletePermissionsResponse, error)
}

PermissionsServiceClient is the client API for PermissionsService 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 PermissionsServiceServer

type PermissionsServiceServer interface {
	// RegisterPermissions registers or updates permissions for a service
	RegisterPermissions(context.Context, *RegisterPermissionsRequest) (*RegisterPermissionsResponse, error)
	// GetPermissions retrieves permissions for a service
	GetPermissions(context.Context, *GetPermissionsRequest) (*GetPermissionsResponse, error)
	// ListPermissions lists all registered permissions
	ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error)
	// DeletePermissions removes permissions for a service
	DeletePermissions(context.Context, *DeletePermissionsRequest) (*DeletePermissionsResponse, error)
	// contains filtered or unexported methods
}

PermissionsServiceServer is the server API for PermissionsService service. All implementations must embed UnimplementedPermissionsServiceServer for forward compatibility.

type RegisterPermissionsRequest

type RegisterPermissionsRequest struct {
	ServiceId   string           `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	ServiceName string           `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	Permissions *structpb.Struct `protobuf:"bytes,3,opt,name=permissions,proto3" json:"permissions,omitempty"`
	Version     string           `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterPermissionsRequest) Descriptor deprecated

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

Deprecated: Use RegisterPermissionsRequest.ProtoReflect.Descriptor instead.

func (*RegisterPermissionsRequest) GetPermissions

func (x *RegisterPermissionsRequest) GetPermissions() *structpb.Struct

func (*RegisterPermissionsRequest) GetServiceId

func (x *RegisterPermissionsRequest) GetServiceId() string

func (*RegisterPermissionsRequest) GetServiceName

func (x *RegisterPermissionsRequest) GetServiceName() string

func (*RegisterPermissionsRequest) GetVersion

func (x *RegisterPermissionsRequest) GetVersion() string

func (*RegisterPermissionsRequest) ProtoMessage

func (*RegisterPermissionsRequest) ProtoMessage()

func (*RegisterPermissionsRequest) ProtoReflect

func (*RegisterPermissionsRequest) Reset

func (x *RegisterPermissionsRequest) Reset()

func (*RegisterPermissionsRequest) String

func (x *RegisterPermissionsRequest) String() string

type RegisterPermissionsResponse

type RegisterPermissionsResponse struct {
	Id           string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	RegisteredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=registered_at,json=registeredAt,proto3" json:"registered_at,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterPermissionsResponse) Descriptor deprecated

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

Deprecated: Use RegisterPermissionsResponse.ProtoReflect.Descriptor instead.

func (*RegisterPermissionsResponse) GetId

func (*RegisterPermissionsResponse) GetRegisteredAt

func (x *RegisterPermissionsResponse) GetRegisteredAt() *timestamppb.Timestamp

func (*RegisterPermissionsResponse) ProtoMessage

func (*RegisterPermissionsResponse) ProtoMessage()

func (*RegisterPermissionsResponse) ProtoReflect

func (*RegisterPermissionsResponse) Reset

func (x *RegisterPermissionsResponse) Reset()

func (*RegisterPermissionsResponse) String

func (x *RegisterPermissionsResponse) String() string

type UnimplementedPermissionsServiceServer

type UnimplementedPermissionsServiceServer struct{}

UnimplementedPermissionsServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedPermissionsServiceServer) DeletePermissions

func (UnimplementedPermissionsServiceServer) GetPermissions

func (UnimplementedPermissionsServiceServer) ListPermissions

func (UnimplementedPermissionsServiceServer) RegisterPermissions

type UnsafePermissionsServiceServer

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

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

Jump to

Keyboard shortcuts

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