add hub message
This commit is contained in:
@@ -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,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user