diff options
Diffstat (limited to 'internal/server/api/helpers.go')
| -rw-r--r-- | internal/server/api/helpers.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/server/api/helpers.go b/internal/server/api/helpers.go index 909e232..52c8649 100644 --- a/internal/server/api/helpers.go +++ b/internal/server/api/helpers.go @@ -1,7 +1,11 @@ package api import ( + "context" "strings" + + "github.com/kyren223/eko/internal/data" + "github.com/kyren223/eko/pkg/snowflake" ) const hex = "0123456789abcdefABCDEF" @@ -23,3 +27,16 @@ func isValidHexColor(color string) (bool, string) { return true, "" } + +func IsNetworkAdmin(ctx context.Context, queries *data.Queries, userId, networkId snowflake.ID) (bool, error) { + userNetwork, err := queries.GetUserNetwork(ctx, data.GetUserNetworkParams{ + UserID: userId, + NetworkID: networkId, + }) + if err != nil { + return false, err + } + + isAdmin := userNetwork.IsAdmin && userNetwork.IsMember && !userNetwork.IsBanned + return isAdmin, nil +} |
