add db models, refactor json models, add references in migrations

This commit is contained in:
lbenedar
2026-04-06 16:40:49 +03:00
parent a16edb9b61
commit 095dac5db7
28 changed files with 709 additions and 259 deletions

View File

@@ -1,6 +1,7 @@
package foundry
import (
"database/sql"
"errors"
"fmt"
"io"
@@ -10,6 +11,7 @@ import (
"strconv"
"strings"
data "gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/models/db"
"gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/requests"
"gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/types"
"github.com/gorilla/websocket"
@@ -47,8 +49,7 @@ type Foundry struct {
isAuth bool
logger *slog.Logger
// db db.DB
models data.Models
config requests.Config
ws *webSocketUtil
}
@@ -110,6 +111,17 @@ func (foundry *Foundry) StartListen() error {
var err error
for {
select {
// case msg, ok := <-foundry.ws.channels.Msg():
// if !ok {
// time.Sleep(5 * time.Microsecond)
// continue
// }
// var foundryState *json_model.FoundryState
// foundryState, err = json_model.ParseSetupModel(msg.ToByteSlice())
// if err != nil {
// return nil
// }
// foundry.models.FoundryState.Insert(foundryState)
case err = <-wsChannels.Err():
var foundryErr *FoundryError
if errors.As(err, &foundryErr) {
@@ -205,6 +217,10 @@ func (foundry *Foundry) SetLogger(slogger *slog.Logger) {
foundry.ws.logger = slogger
}
func (foundry *Foundry) CreateNewDataModels(db *sql.DB) {
foundry.models = data.NewModels(db)
}
// /**
// * Poll the server to see if a World has become active, and automatically refresh if so.
// * @returns {Promise<void>}