From 30bbdad4ef99449f29f412d0b770e4b9f76ede42 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 28 Mar 2025 17:49:09 -0600 Subject: refactor: move authorizers into authz package --- pkg/rpc/ability_handler.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pkg/rpc/ability_handler.go (limited to 'pkg/rpc/ability_handler.go') diff --git a/pkg/rpc/ability_handler.go b/pkg/rpc/ability_handler.go new file mode 100644 index 0000000..a881b41 --- /dev/null +++ b/pkg/rpc/ability_handler.go @@ -0,0 +1,20 @@ +package rpc + +import ( + context "context" + "net/http" + + "github.com/xlgmokha/x/pkg/x" + "gitlab.com/mokhax/spike/pkg/authz" +) + +type AbilityHandler struct { + authorizer authz.Authorizer + UnimplementedAbilityServer +} + +func (h *AbilityHandler) Allowed(ctx context.Context, req *AllowRequest) (*AllowReply, error) { + // TODO:: Replace http.Request with authz.Request + request := x.Must(http.NewRequestWithContext(ctx, req.Permission, req.Resource, nil)) + return &AllowReply{Result: h.authorizer.Authorize(request)}, nil +} -- cgit v1.2.3