sharedutils/utils/session/sessionUtils.go

77 lines
1.9 KiB
Go

package sessionUtils
import (
"encoding/json"
"time"
gamesModels "git.gregbrzezinski.com/Skirda/skirdagoutils/models/games"
sessionsModels "git.gregbrzezinski.com/Skirda/skirdagoutils/models/sessions"
)
func ConvertServerSessionsToJSON(s sessionsModels.Session) []byte {
s_json, err := json.Marshal(s)
_ = err //TODO: Check Errors
return s_json
}
func FindSessionByID(sessionId string, sessions []sessionsModels.Session) sessionsModels.Session {
for _, session := range sessions {
if session.SessionId == sessionId {
return session
}
}
return sessionsModels.Session{ //TODO: Return Errors
SessionId: sessionId,
GameId: "",
Assets: gamesModels.GameInterfaceAssets{},
Expires: time.Time{},
Arguments: []gamesModels.Argument{},
}
}
func GetJSSessionInterface(s sessionsModels.Session) sessionsModels.JSSessionInterface {
newInterface := sessionsModels.JSSessionInterface{ //TODO: If session icon empty - use game icon
GameID: s.GameId,
SessionId: s.SessionId,
Expires: time.Time{},
Title: s.Assets.Title,
Icon: s.Assets.Icon,
Description: s.Assets.Description,
Backgrounds: []string{}, //TODO: Complete
}
return newInterface
}
var FakeSessions = sessionsModels.Sessions{ //TODO: Move to front
Sessions: []sessionsModels.Session{
{
GameId: "garrysmod",
SessionId: "gmod-test",
// Icon: "",
// Title: "Regular Skirda Gmod server",
// Status: "Super fake session",
// Version: "",
Expires: time.Time{},
Arguments: []gamesModels.Argument{
{
Body: "+connect",
Value: "127.0.0.1:27015",
},
},
},
{
// GameId: "half-lide-1",
// Title: "Half-Life 1 МЯСО",
// Status: "Retro shit",
Expires: time.Time{},
},
{
GameId: "minecraft",
// Title: "Test 3",
// Status: "Testing session",
// Version: "1.54.7",
Expires: time.Time{},
},
},
}