From 141f6997c71fa9253cf9ee8e1b873be2a1d68121 Mon Sep 17 00:00:00 2001 From: "sergi.roberti" Date: Fri, 24 May 2024 10:02:58 +0200 Subject: [PATCH] Add func HasRoleInOrg --- auth.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/auth.go b/auth.go index d69323f..1318c4a 100644 --- a/auth.go +++ b/auth.go @@ -74,6 +74,14 @@ func GetOrgsServiceFilter(ctx context.Context, role Role, service Service) []str return user.GetOrgsServiceFilter(role, &service) } +func HasRoleInOrg(ctx context.Context, org string, role Role, service *Service) bool { + user, _ := ctx.Value(activeUser).(*User) + orgsBearer := user.GetOrgsServiceFilter(role, service) + + return Contains(orgsBearer, org) + +} + func GetOrgs(ctx context.Context, role Role) []string { user, _ := ctx.Value(activeUser).(*User) return user.GetOrgs(role) @@ -189,6 +197,15 @@ func ContextCopyUser(parent, background context.Context) context.Context { return background } +func Contains(a []string, e string) bool { + for _, x := range a { + if x == e { + return true + } + } + return false +} + type contextKey struct{} var activeUser = contextKey{}