package main

import (
	"github.com/labstack/echo"
	"golang.org/x/net/websocket"
	"fmt"
	"encoding/json"
)

func ws(c echo.Context) error {
	//Datenbankverbindung aufbauen
	db := DBinit()

	// Websocket
	websocket.Handler(func(ws *websocket.Conn) {
		defer ws.Close()
		for {
			msg := ""
			err := websocket.Message.Receive(ws, &msg)
			if err != nil {
				c.Logger().Error(err)
			}
			fmt.Println(msg)

			//Daten holen und anzeigen
			var kofi []Kofi
			err = db.OrderBy("KCoins DESC").Find(&kofi)
			if err != nil {
				fmt.Println(err)
			}
			kofiJson, err := json.Marshal(kofi)
			// Wegschicken
			err = websocket.Message.Send(ws, string(kofiJson))
			if err != nil {
				c.Logger().Error(err)
			}
		}

	}).ServeHTTP(c.Response(), c.Request())
	return nil
}