mirror of
https://github.com/Kyren223/eko.git
synced 2026-08-29 10:51:31 +00:00
Added frequency propagation on the server-side and fixed a bug where
permission 3 would be valid even though it's not
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user