diff options
Diffstat (limited to 'internal/server/api/helpers.go')
| -rw-r--r-- | internal/server/api/helpers.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/internal/server/api/helpers.go b/internal/server/api/helpers.go index 52c8649..d5b2d8c 100644 --- a/internal/server/api/helpers.go +++ b/internal/server/api/helpers.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/kyren223/eko/internal/data" + "github.com/kyren223/eko/internal/packet" "github.com/kyren223/eko/pkg/snowflake" ) @@ -40,3 +41,28 @@ func IsNetworkAdmin(ctx context.Context, queries *data.Queries, userId, networkI isAdmin := userNetwork.IsAdmin && userNetwork.IsMember && !userNetwork.IsBanned return isAdmin, nil } + +func GetSingleNetworkInfo(ctx context.Context, queries *data.Queries, network data.Network) (packet.Payload, error) { + frequencies, err := queries.GetNetworkFrequencies(ctx, network.ID) + if err != nil { + return nil, err + } + + members, err := queries.GetNetworkMembers(ctx, network.ID) + if err != nil { + return nil, err + } + + fullNetwork := packet.FullNetwork{ + Network: network, + Frequencies: frequencies, + Members: members, + Position: -1, + } + + return &packet.NetworksInfo{ + Networks: []packet.FullNetwork{fullNetwork}, + RemoveNetworks: nil, + Set: false, + }, nil +} |
