package transport import ( "gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/requests" "gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/temp_models/db" "gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/temp_models/json" "gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/types" ) func (tr *FoundryTransport) FillDBWithFoundryData() { err := tr.InitSetupData() if err != nil { tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode} return } // idState, err := tr.Models.FoundryState.GetIdByType(db.SetupState) // if err != nil { // tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode} // return // } // err = tr.InitWorldsData(idState) // if err != nil { // tr.ReadChan.Err() <- &types.FoundryError{Direction: types.WriterCode, Err: err, Type: types.DbCode} // return // } } func (tr *FoundryTransport) InitSetupData() error { db.DeleteAll(tr.DB) db.DeleteAllSeq(tr.DB) for k := range requests.PathToSetupState { err := tr.InsertJsonDataToDB(k) if err != nil { return err } } return nil } func (tr *FoundryTransport) InsertJsonDataToDB(statePath string) error { _, ok1 := requests.PathToSetupState[statePath] _, ok2 := requests.PathToWorldState[statePath] if !ok1 && !ok2 { return ErrorStateTypeNotExist } msgJson, err := tr.GetJsonData(statePath) if err != nil { return err } foundryStateJson, err := json.ParseSetup(msgJson) if err != nil { return err } tr.Logger.Info("Setup data received") var foundryStateDb db.Setup foundryStateJson.ToDB(&foundryStateDb) err = foundryStateDb.Insert(tr.DB) if err != nil { return err } return nil } // func (tr *FoundryTransport) InitWorldsData(idState int64) error { // worlds, err := tr.Models.FoundryState.GetWorlds(idState) // if err != nil { // return err // } // tr.Logger.Debug("Worlds", "len", len(worlds)) // for i := range worlds { // worldName := worlds[i].TextId // tr.InitWorldData(worldName) // _, err = tr.Http.PostReturnToSetup() // if err != nil { // return err // } // } // return nil // } // func (tr *FoundryTransport) InitWorldData(worldName string) error { // tr.Logger.Debug("World name", "name", worldName) // err := tr.LaunchWorld(worldName) // if err != nil { // return err // } // for k := range requests.PathToWorldState { // err := tr.InsertJsonDataToDB(k) // if err != nil { // return err // } // } // return nil // }