-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.go
181 lines (160 loc) · 5.38 KB
/
types.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
package types
import (
tv_controller_types "github.com/0187773933/TVController/v1/types"
)
type SpotifyItem struct {
Name string `yaml:"name"`
}
type SpotifyLibrary struct {
Songs map[string]SpotifyItem `yaml:"songs"`
Playlists map[string]SpotifyItem `yaml:"playlists"`
}
type TwitchFollowing struct {
Currated []string `yaml:"currated"`
All []string `yaml:"all"`
}
type TwitchLibrary struct {
Following TwitchFollowing `yaml:"following"`
}
type DisneyItem struct {
Name string `yaml:"name"`
}
type DisneyMovies struct {
Currated map[string]DisneyItem `yaml:"currated"`
}
type DisneyLibrary struct {
Movies DisneyMovies `yaml:"movies"`
}
type YoutubeLiveItem struct {
Name string `yaml:"name"`
Videos []string `yaml:"videos"`
}
type YoutubeSet struct {
Live map[string]YoutubeLiveItem `yaml:"live"`
Normal []string `yaml:"normal"`
Relaxing []string `yaml:"relaxing"`
}
type YouTubeLibrary struct {
Videos YoutubeSet `yaml:"movies"`
Playlists YoutubeSet `yaml:"playlists"`
Following YoutubeSet `yaml:"following"`
}
type VLCLibrary struct {
Videos []string `yaml:"videos"`
}
type HuluEpisode struct {
ID string `yaml:"id"`
Name string `yaml:"name"`
}
type HuluTVShowSeason struct {
Number string `yaml:"number"`
Episodes []HuluEpisode `yaml:"episodes"`
}
type HuluTVShow struct {
Name string `yaml:"name"`
Seasons []HuluTVShowSeason `yaml:"seasons"`
}
type HuluMovie struct {
Name string `yaml:"name"`
}
type HuluLibrary struct {
Movies map[string]HuluMovie `yaml:"movies"`
TV map[string]HuluTVShow `yaml:"tv"`
}
type NetflixEpisode struct {
ID string `yaml:"id"`
Name string `yaml:"name"`
}
type NetflixTVShowSeason struct {
Number string `yaml:"number"`
Episodes []NetflixEpisode `yaml:"episodes"`
}
type NetflixTVShow struct {
Name string `yaml:"name"`
Seasons []NetflixTVShowSeason `yaml:"seasons"`
}
type NetflixMovie struct {
Name string `yaml:"name"`
}
type NetflixLibrary struct {
Movies map[string]NetflixMovie `yaml:"movies"`
TV map[string]NetflixTVShow `yaml:"tv"`
}
type Library struct {
Spotify SpotifyLibrary `yaml:"spotify"`
Twitch TwitchLibrary `yaml:"twitch"`
Disney DisneyLibrary `yaml:"disney"`
YouTube YouTubeLibrary `yaml:"youtube"`
VLC VLCLibrary `yaml:"vlc"`
Hulu HuluLibrary `yaml:"hulu"`
Netflix NetflixLibrary `yaml:"netflix"`
}
// a group of coords:color pairs to verify ui state
type Pixel struct {
X int `yaml:"x"`
Y int `yaml:"y"`
Color string `yaml:"color"` // hex color
}
type APKInfo struct {
Package string `yaml:"package"`
Activities map[string]string `yaml:"activities"`
Pixels map[string]map[string]Pixel `yaml:"pixels"`
}
type ADBConfig struct {
Path string `yaml:"path"`
ConnectionType string `yaml:"connection_type"`
Serial string `yaml:"serial"`
ServerIP string `yaml:"server_ip"`
ServerPort string `yaml:"server_port"`
TimeoutSeconds int `yaml:"timeout_seconds"`
DeviceType string `yaml:"device_type"`
APKS map[string]map[string]APKInfo `yaml:"apks"`
}
type ConfigFile struct {
ServerName string `yaml:"server_name"`
ServerBaseUrl string `yaml:"server_base_url"`
ServerLiveUrl string `yaml:"server_live_url"`
ServerPrivateUrl string `yaml:"server_private_url"`
ServerPublicUrl string `yaml:"server_public_url"`
ServerPort string `yaml:"server_port"`
ServerAPIKey string `yaml:"server_api_key"`
ServerLoginUrlPrefix string `yaml:"server_login_url_prefix"`
ServerCookieName string `yaml:"server_cookie_name"`
ServerCookieSecret string `yaml:"server_cookie_secret"`
ServerCookieAdminSecretMessage string `yaml:"server_cookie_admin_secret_message"`
ServerCookieSecretMessage string `yaml:"server_cookie_secret_message"`
AdminUsername string `yaml:"admin_username"`
AdminPassword string `yaml:"admin_password"`
TimeZone string `yaml:"time_zone"`
SaveFilesPath string `yaml:"save_files_path"`
BoltDBPath string `yaml:"bolt_db_path"`
EncryptionKey string `yaml:"encryption_key"`
RedisAddress string `yaml:"redis_address"`
RedisDBNumber int `yaml:"redis_db_number"`
RedisPassword string `yaml:"redis_password"`
ReStreamServerUrlLocal string `yaml:"restream_server_url_local"`
ReStreamServerUrl string `yaml:"restream_server_url"`
ReStreamServerAPIKey string `yaml:"restream_server_api_key"`
ReStreamServerHLSURLPrefix string `yaml:"restream_server_hls_url_prefix"`
StreamDeckServerUrl string `yaml:"stream_deck_server_url"`
StreamDeckServerAPIKey string `yaml:"stream_deck_server_api_key"`
FireCubeTotalUserProfiles int `yaml:"firecube_total_user_profiles"`
FireCubeUserProfileIndex int `yaml:"firecube_user_profile_index"`
TV tv_controller_types.ConfigFile `yaml:"tv"`
ADB ADBConfig `yaml:"adb"`
DisneyTotalUserProfiles int `yaml:"disney_total_user_profiles"`
DisneyUserProfileIndex int `yaml:"disney_user_profile_index"`
HuluTotalUserProfiles int `yaml:"hulu_total_user_profiles"`
HuluUserProfileIndex int `yaml:"hulu_user_profile_index"`
NetflixTotalUserProfiles int `yaml:"netflix_total_user_profiles"`
NetflixUserProfileIndex int `yaml:"netflix_user_profile_index"`
YouTubeAPIKeys []string `yaml:"youtube_api_keys"`
TwitchUserID string `yaml:"twitch_user_id"`
TwitchClientID string `yaml:"twitch_client_id"`
TwitchClientSecret string `yaml:"twitch_client_secret"`
TwitchOAUTHToken string `yaml:"twitch_oauth_token"`
TwitchAccessToken string `yaml:"twitch_access_token"`
TwitchRefreshToken string `yaml:"twitch_refresh_token"`
BrowserAPIKey string `yaml:"browser_api_key"` // silk browser audio/video player re-auth
Library Library `yaml:"library"`
}