SHAGRAM 1.0
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
"shagram/internal/db"
|
||||
"shagram/internal/websocket"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -12,7 +14,7 @@ var upgrader = gws.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool { return true },
|
||||
}
|
||||
|
||||
func WebSocketHandler(hub *websocket.Hub) gin.HandlerFunc {
|
||||
func WebSocketHandler(hub *websocket.Hub, database *db.DB) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
roomID := c.Param("room")
|
||||
room := hub.GetOrCreateRoom(roomID)
|
||||
@@ -37,6 +39,13 @@ func WebSocketHandler(hub *websocket.Hub) gin.HandlerFunc {
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
_, err = database.Exec(`
|
||||
INSERT INTO messages (room_id, user, text)
|
||||
VALUES (?, ?, ?)`, roomID, "user", msg["text"])
|
||||
if err != nil {
|
||||
log.Printf("Save message error: %v", err)
|
||||
}
|
||||
|
||||
message := []byte(msg["text"])
|
||||
room.Broadcast(message)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user