Files
opencloud/ocis-pkg/roles/util.go
2021-10-14 15:56:19 +02:00

23 lines
518 B
Go

package roles
import (
"context"
"encoding/json"
"github.com/owncloud/ocis/ocis-pkg/middleware"
"go-micro.dev/v4/metadata"
)
// ReadRoleIDsFromContext extracts roleIDs from the metadata context and returns them as []string
func ReadRoleIDsFromContext(ctx context.Context) (roleIDs []string, ok bool) {
roleIDsJSON, ok := metadata.Get(ctx, middleware.RoleIDs)
if !ok {
return nil, false
}
err := json.Unmarshal([]byte(roleIDsJSON), &roleIDs)
if err != nil {
return nil, false
}
return roleIDs, true
}