From cfc5fa3d5e9036400b33a2835cc284f26a872ad9 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Thu, 13 Feb 2025 16:49:07 +0200 Subject: Users that are no longer members (left/kicked/banned) now get fetched and show their names properly in messages --- internal/server/api/api.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'internal/server/api') diff --git a/internal/server/api/api.go b/internal/server/api/api.go index 6b33ab8..fe5542a 100644 --- a/internal/server/api/api.go +++ b/internal/server/api/api.go @@ -288,6 +288,11 @@ func CreateOrGetUser(ctx context.Context, node *snowflake.Node, pubKey ed25519.P } func CreateNetwork(ctx context.Context, sess *session.Session, request *packet.CreateNetwork) packet.Payload { + // TODO: implement private servers + if !request.IsPublic { + return &ErrNotImplemented + } + name := strings.TrimSpace(request.Name) if name == "" { return &packet.Error{Error: "server name must not be blank"} @@ -1536,3 +1541,22 @@ func GetBlockedUsers(ctx context.Context, sess *session.Session) packet.Payload RemovedBlockingUsers: nil, } } + +func GetUsers(ctx context.Context, sess *session.Session, request *packet.GetUsers) packet.Payload { + if len(request.Users) > packet.MaxUsersInGetUsers { + return &packet.Error{Error: fmt.Sprintf( + "Max users per request may not exceed %v", packet.MaxUsersInGetUsers, + )} + } + + queries := data.New(db) + users, err := queries.GetUsersByIds(ctx, request.Users) + if err != nil { + log.Println("database error 1:", err) + return &ErrInternalError + } + + return &packet.UsersInfo{ + Users: users, + } +} -- cgit v1.3.1