From bad60b37d0fe3100f3898bfd6a860ea4aa87256f Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Mon, 13 Jan 2025 18:38:17 +0200 Subject: [PATCH] Added frequency propagation on the server-side and fixed a bug where permission 3 would be valid even though it's not --- internal/server/api/api.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/server/api/api.go b/internal/server/api/api.go index df29448..588e81f 100644 --- a/internal/server/api/api.go +++ b/internal/server/api/api.go @@ -329,7 +329,7 @@ func CreateFrequency(ctx context.Context, sess *session.Session, request *packet return &packet.Error{Error: err} } - if request.Perms < 0 || request.Perms > packet.PermMax { + if request.Perms < 0 || request.Perms >= packet.PermMax { return &packet.Error{Error: fmt.Sprintf( "exceeded allowed perms value: 0 <= perms < %v", packet.PermMax, )} @@ -347,11 +347,11 @@ func CreateFrequency(ctx context.Context, sess *session.Session, request *packet return &ErrInternalError } - return &packet.FrequenciesInfo{ + return NetworkPropagate(ctx, sess, request.Network, &packet.FrequenciesInfo{ RemovedFrequencies: nil, Frequencies: []data.Frequency{frequency}, Network: request.Network, - } + }) } func SwapFrequencies(ctx context.Context, sess *session.Session, request *packet.SwapFrequencies) packet.Payload { @@ -379,11 +379,11 @@ func SwapFrequencies(ctx context.Context, sess *session.Session, request *packet return &ErrInternalError } - return &packet.SwapFrequencies{ + return NetworkPropagate(ctx, sess, request.Network, &packet.SwapFrequencies{ Network: request.Network, Pos1: request.Pos1, Pos2: request.Pos2, - } + }) } func DeleteFrequency(ctx context.Context, sess *session.Session, request *packet.DeleteFrequency) packet.Payload { @@ -402,7 +402,7 @@ func DeleteFrequency(ctx context.Context, sess *session.Session, request *packet // Authentication isAdmin, err := IsNetworkAdmin(ctx, queries, sess.ID(), frequency.NetworkID) if err == sql.ErrNoRows { - return &packet.Error{Error: "either user or network don't exist"} + return &ErrPermissionDenied // User not in network } if err != nil { log.Println("database error 2:", err) @@ -428,11 +428,11 @@ func DeleteFrequency(ctx context.Context, sess *session.Session, request *packet return &ErrInternalError } - return &packet.FrequenciesInfo{ + return NetworkPropagate(ctx, sess, frequency.NetworkID, &packet.FrequenciesInfo{ RemovedFrequencies: []snowflake.ID{frequency.ID}, Frequencies: nil, Network: frequency.NetworkID, - } + }) } func DeleteNetwork(ctx context.Context, sess *session.Session, request *packet.DeleteNetwork) packet.Payload {