github.com/timoth-y/kicksware-api/order-service@v0.0.0-20201002192818-87b546a7ae5a/api/gRPC/gateway.go (about)

     1  package gRPC
     2  
     3  import (
     4  	"crypto/rsa"
     5  
     6  	"github.com/timoth-y/kicksware-api/user-service/core/model"
     7  	"google.golang.org/grpc"
     8  
     9  	"github.com/timoth-y/kicksware-api/order-service/api/gRPC/proto"
    10  )
    11  
    12  func ProvideRemoteSetup(handler *Handler) func(server *grpc.Server) {
    13  	return func(server *grpc.Server) {
    14  		proto.RegisterOrderServiceServer(server, handler)
    15  	}
    16  }
    17  
    18  func (h *Handler) ProvideAccessRoles() map[string][]model.UserRole {
    19  	roleMap := make(map[string][]model.UserRole)
    20  
    21  	regularAccess := []model.UserRole{ model.Guest, model.Regular, model.Admin }
    22  	userAccess := []model.UserRole{ model.Regular, model.Admin }
    23  	adminAccess := []model.UserRole{ model.Admin }
    24  
    25  	roleMap["/proto.OrderService/GetOrders"] = regularAccess
    26  	roleMap["/proto.OrderService/CountOrders"] = regularAccess
    27  	roleMap["/proto.OrderService/AddOrders"] = userAccess
    28  	roleMap["/proto.OrderService/EditOrders"] = adminAccess
    29  	roleMap["/proto.OrderService/DeleteOrders"] = adminAccess
    30  
    31  
    32  	return roleMap
    33  }
    34  
    35  func (h *Handler) ProvideAuthKey() *rsa.PublicKey {
    36  	return h.auth.PublicKey()
    37  }