refactor foundry lib structure; add transport classes for db,http,websocket; add action interface instead of multiple function that accepts action classes; add changing foundry status on websocket responses
This commit is contained in:
30
internal/foundry/actions/shutdown.go
Normal file
30
internal/foundry/actions/shutdown.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package actions
|
||||
|
||||
import (
|
||||
"gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/transport"
|
||||
"gitea.local.lab/Lbenedar/foundry_helper_service/internal/foundry/types"
|
||||
)
|
||||
|
||||
type WsShutdownMsg struct {
|
||||
World string `json:"world"`
|
||||
UserId *string `json:"userId,omitempty"`
|
||||
}
|
||||
|
||||
func (msg WsShutdownMsg) Action(tr *transport.FoundryTransport, status *types.FoundryStatus) error {
|
||||
if status.IsActive != false {
|
||||
newStatus, err := tr.Http.GetStatus()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
status.Update(newStatus)
|
||||
tr.Logger.Info("Status has been changed", "status", status)
|
||||
}
|
||||
|
||||
if tr.IsDbInit {
|
||||
return nil
|
||||
}
|
||||
tr.IsDbInit = true
|
||||
|
||||
go tr.FillDBWithFoundryData()
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user