/
model.go
49 lines (41 loc) · 1.49 KB
/
model.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package provider
import "github.com/gofiber/fiber/v2"
type Router struct {
Name string
BasePath string
Routes []Route
Middlewares []fiber.Handler
}
type Route struct {
Path string
Method string
HandlerFunc fiber.Handler
Middlewares []fiber.Handler
}
type GameLaunchHeaders struct {
SessionKey string `reqHeader:"X-Player-Token" validate:"required"`
}
type GameLaunchRequest struct {
LaunchConfig map[string]interface{} `json:"launchConfig,omitempty"`
Currency string `json:"currency" validate:"required"`
ProviderGameID string `json:"providerGameId" validate:"required"`
PlayerID string `json:"playerId" validate:"required"`
Casino string `json:"casino,omitempty"`
Country string `json:"country,omitempty"`
Language string `json:"language,omitempty"`
SessionIP string `json:"sessionIp,omitempty"`
}
type GameLaunchResponse struct {
GameURL string `json:"gameUrl"`
}
type GameRoundRenderRequest struct {
GameRoundID string
CasinoID string
}
// ProviderService Contains Provider exposed features
type ProviderService interface {
// GameLaunch returns url to game session
GameLaunch(*fiber.Ctx, *GameLaunchRequest, *GameLaunchHeaders) (string, error)
// GetGameRoundRender Returns url where a specific game round result is rendered to be viewed
GetGameRoundRender(*fiber.Ctx, GameRoundRenderRequest) (string, error)
}