add user and pass for world to env variables

This commit is contained in:
lbenedar
2026-04-27 13:14:17 +03:00
parent fd65631be1
commit 4bb4b04004
11 changed files with 161 additions and 36 deletions

View File

@@ -10,30 +10,28 @@ import (
"gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/types"
)
func (tr *FoundryTransport) FillDBWithFoundryData() {
func (tr *FoundryTransport) FillDBWithFoundryData() error {
now := time.Now()
setupExist, err := db.HasSetup(tr.DB)
if err != nil {
tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode}
return
return err
}
if !setupExist {
err := tr.InsertSetupToDB()
if err != nil {
tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode}
return
return err
}
}
err = tr.InitWorldsData()
if err != nil {
tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode}
return
return err
}
tr.Logger.Info("Initialization has been successful", "elapsed_time", time.Since(now).String())
return nil
}
func (tr *FoundryTransport) InsertSetupToDB() error {
@@ -66,8 +64,8 @@ func (tr *FoundryTransport) InitWorldsData() error {
for i := range tr.InitWorlds {
initWorld := tr.InitWorlds[i]
if !slices.Contains(worldNames, initWorld) {
tr.Logger.Warn("World name does not exist in database or have been already inserted. Skip!", "world_name", initWorld)
if !slices.Contains(worldNames, initWorld.Name) {
tr.Logger.Warn("World name does not exist in database or have been already inserted. Skip!", "world_name", initWorld.Name)
continue
}
@@ -84,14 +82,21 @@ func (tr *FoundryTransport) InitWorldsData() error {
return nil
}
func (tr *FoundryTransport) InitWorldData(worldName string) error {
tr.Logger.Debug("Launching world...", "world_name", worldName)
err := tr.LaunchWorld(worldName)
func (tr *FoundryTransport) InitWorldData(worldData types.WorldData) error {
tr.Logger.Debug("Launching world...", "world_name", worldData.Name)
err := tr.LaunchWorld(worldData.Name)
if err != nil {
return err
}
err = tr.ConnectToWorld()
if worldData.UserId == "" {
worldData.UserId, err = tr.GetUserId(worldData.Username)
if err != nil {
return err
}
}
err = tr.ConnectToWorld(worldData.UserId, worldData.UserPass)
if err != nil {
return err
}