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 }