From 67203c59718365cee4dd9020cb189a08f6cc7141 Mon Sep 17 00:00:00 2001 From: gitGnome Date: Mon, 27 Apr 2026 18:03:10 +0200 Subject: [PATCH] add hub message --- packages/httpRequest/hubs.go | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/packages/httpRequest/hubs.go b/packages/httpRequest/hubs.go index 1426ebf..167f40e 100644 --- a/packages/httpRequest/hubs.go +++ b/packages/httpRequest/hubs.go @@ -1,10 +1,11 @@ package httpRequest import ( + "go-socket/packages/Enums/WsEventType" + "go-socket/packages/cache" "net/http" "time" - "go-socket/packages/convertions" "go-socket/packages/types" "go-socket/packages/wsServer" @@ -105,12 +106,6 @@ func HandleChannelSendMessage(response http.ResponseWriter, request *http.Reques return } - channelId, err := convertions.StringToUuid(request.FormValue("channelid")) - if err != nil { - http.Error(response, "invalid channelid", http.StatusBadRequest) - return - } - msgContent := request.FormValue("msgContent") attachedFile := request.FormValue("attachedFile") @@ -119,13 +114,7 @@ func HandleChannelSendMessage(response http.ResponseWriter, request *http.Reques return } - // TODO add check in future - // if attachedFile != "" && !strings.HasPrefix(attachedFile, conn.Id.String()+"/") { - // http.Error(response, "invalid attachedFile", http.StatusBadRequest) - // return - // } - - channel, err := getHubChannelIfValidWithResponseOnFail(ctx, response, hub, hubUser, request.FormValue("hubid")) + channel, err := getHubChannelIfValidWithResponseOnFail(ctx, response, hub, hubUser, request.FormValue("channelid")) if err != nil { return } @@ -140,8 +129,23 @@ func HandleChannelSendMessage(response http.ResponseWriter, request *http.Reques continue } - targetUser, ok := + message := &types.Message{ + Id: uuid.New(), + AttachedFile: "", + Content: msgContent, + Sender: user.Id, + Receiver: channel.Id, + CreatedAt: time.Now(), + } - wsServer.WsSendMessageCloseIfTimeout() + targetUser, err := cache.GetUserById(id) + if err != nil { + // todo Add to postgres in future + continue + } + wsServer.WsSendMessageCloseIfTimeout(targetUser, types.WsEventMessage{ + Type: WsEventType.HubMessage, + Event: message, + }) } }