sharedutils/sharedDistribution/sessions.go

64 lines
1.5 KiB
Go
Raw Permalink Normal View History

2023-01-15 12:20:25 +00:00
package sharedDistribution
2023-01-14 21:17:27 +00:00
import (
"time"
)
type SkirdaSessions []SkirdaSession
func (sessions SkirdaSessions) FindSessionById(sessionId string) (SkirdaSession, error) {
for _, session := range sessions {
if session.GetSessionId() == sessionId {
return session, nil
}
}
return sessions[0], nil //TODO: Temp error return
}
func (sessions SkirdaSessions) GetInterfaceAssets() []JSSessionInterface {
assets := []JSSessionInterface{}
for _, session := range sessions {
assets = append(assets, session.GetInterfaceAsset())
}
return assets
}
type SkirdaSession struct {
SkirdaSessionId string
SkirdaGameId string
Args []string
NegativeArgs []string
}
type JSSessionInterface struct {
GameID string `json:"gameId"`
SessionId string `json:"sessionId"`
Expires time.Time `json:"expires"`
Title string `json:"title"`
Icon string `json:"icon"`
Description string `json:"description"`
Backgrounds []string `json:"backgrounds"`
}
func (session SkirdaSession) GetSessionId() string {
return session.SkirdaSessionId
}
func (session SkirdaSession) GetGameId() string {
return session.SkirdaGameId
}
func (session SkirdaSession) GetInterfaceAsset() JSSessionInterface {
// gameId := SkirdaGame.GetSkirdaGameId()
return JSSessionInterface{
GameID: "",
SessionId: "",
Expires: time.Time{},
Title: "Test Session",
Icon: "",
Description: "",
Backgrounds: []string{},
}
}