diff --git a/gameUtils/sessionTypes.go b/gameUtils/sessionTypes.go new file mode 100644 index 0000000..7606e7c --- /dev/null +++ b/gameUtils/sessionTypes.go @@ -0,0 +1,29 @@ +package gameUtils + +import ( + "time" +) + +type Session struct { + SessionId string + GameId string + Icon string + Title string + Status string + Version string + Expires time.Time + Arguments []Argument +} + +type Sessions struct { + Sessions []Session +} + +type JSSessionInterface struct { + GameID string `json:"gameId"` + Icon string `json:"icon"` + Title string `json:"title"` + Status string `json:"status"` + Version string `json:"version"` + Expires time.Time `json:"expires"` +} diff --git a/gameUtils/sessionUtils.go b/gameUtils/sessionUtils.go new file mode 100644 index 0000000..fcfd8aa --- /dev/null +++ b/gameUtils/sessionUtils.go @@ -0,0 +1,55 @@ +package gameUtils + +import ( + "encoding/json" + "time" +) + +func ConvertServerSessionsToJSON(s Session) []byte { + s_json, err := json.Marshal(s) + _ = err //TODO: Check Errors + return s_json +} + +var FakeSessions = Sessions{ + Sessions: []Session{ + { + GameId: "garrysmod", + SessionId: "gmod-test", + Icon: "", + Title: "Regular Skirda Gmod server", + Status: "Super fake session", + Version: "", + Expires: time.Time{}, + Arguments: []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{}, + }, + }, +} + +func FindSessionByID(sessionId string, sessions []Session) Session { + for _, session := range sessions { + if session.SessionId == sessionId { + return session + } + } + var temp Session = Session{} + return temp +}