Skip to content

Commit 28810f9

Browse files
authored
Merge pull request #213 from twitchdev/shoutouts-ga
EventSub Shoutouts GA
2 parents 46d6a37 + f0d8950 commit 28810f9

File tree

30 files changed

+199
-75
lines changed

30 files changed

+199
-75
lines changed

cmd/events.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/twitchdev/twitch-cli/internal/events"
1313
"github.com/twitchdev/twitch-cli/internal/events/mock_wss_server"
1414
"github.com/twitchdev/twitch-cli/internal/events/trigger"
15+
"github.com/twitchdev/twitch-cli/internal/events/types"
1516
"github.com/twitchdev/twitch-cli/internal/events/verify"
1617
"github.com/twitchdev/twitch-cli/internal/util"
1718
)
@@ -55,9 +56,9 @@ var triggerCmd = &cobra.Command{
5556
Short: "Creates mock events that can be forwarded to a local webserver for event testing.",
5657
Long: fmt.Sprintf(`Creates mock events that can be forwarded to a local webserver for event testing.
5758
Supported:
58-
%s`, events.ValidTriggers()),
59+
%s`, types.AllEventTopics()),
5960
Args: cobra.MaximumNArgs(1),
60-
ValidArgs: events.ValidTriggers(),
61+
ValidArgs: types.AllEventTopics(),
6162
Run: triggerCmdRun,
6263
Example: `twitch event trigger subscribe`,
6364
Aliases: []string{
@@ -70,9 +71,9 @@ var verifyCmd = &cobra.Command{
7071
Short: "Mocks the subscription verification event. Can be forwarded to a local webserver for testing.",
7172
Long: fmt.Sprintf(`Mocks the subscription verification event that can be forwarded to a local webserver for testing.
7273
Supported:
73-
%s`, events.ValidTriggers()),
74+
%s`, types.AllEventTopics()),
7475
Args: cobra.MaximumNArgs(1),
75-
ValidArgs: events.ValidTriggers(),
76+
ValidArgs: types.AllEventTopics(),
7677
Run: verifyCmdRun,
7778
Example: `twitch event verify-subscription subscribe`,
7879
Aliases: []string{

internal/events/cmd_helpers.go

+3-14
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,9 @@
22
// SPDX-License-Identifier: Apache-2.0
33
package events
44

5-
import "sort"
6-
7-
func ValidTriggers() []string {
8-
names := []string{}
9-
10-
for name, enabled := range triggerSupported {
11-
if enabled == true {
12-
names = append(names, name)
13-
}
14-
}
15-
sort.Strings(names)
16-
17-
return names
18-
}
5+
import (
6+
"sort"
7+
)
198

209
func ValidTransports() []string {
2110
names := []string{}

internal/events/cmd_helpers_test.go

-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,6 @@ import (
88
"github.com/twitchdev/twitch-cli/test_setup"
99
)
1010

11-
func TestValidTriggers(t *testing.T) {
12-
a := test_setup.SetupTestEnv(t)
13-
14-
t1 := ValidTriggers()
15-
a.NotEmpty(t1)
16-
}
17-
1811
func TestValidTransports(t *testing.T) {
1912
a := test_setup.SetupTestEnv(t)
2013

internal/events/event.go

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ type MockEvent interface {
4747
// Returns whether a given event supports a supplied transport
4848
ValidTransport(transport string) bool
4949

50+
// Returns
51+
GetAllTopicsByTransport(transport string) []string
52+
5053
// Returns the string of the topic
5154
GetTopic(transport string, trigger string) string
5255

internal/events/models.go

-47
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,6 @@
22
// SPDX-License-Identifier: Apache-2.0
33
package events
44

5-
var triggerSupported = map[string]bool{
6-
"add-moderator": true,
7-
"add-redemption": true,
8-
"add-reward": true,
9-
"ban": true,
10-
"charity-donate": true,
11-
"charity-progress": true,
12-
"charity-start": true,
13-
"charity-stop": true,
14-
"cheer": true,
15-
"drop": true,
16-
"follow": true,
17-
"gift": true,
18-
"goal-begin": true,
19-
"goal-end": true,
20-
"goal-progress": true,
21-
"grant": true,
22-
"hype-train-begin": true,
23-
"hype-train-end": true,
24-
"hype-train-progress": true,
25-
"poll-begin": true,
26-
"poll-progress": true,
27-
"poll-end": true,
28-
"prediction-begin": true,
29-
"prediction-progress": true,
30-
"prediction-lock": true,
31-
"prediction-end": true,
32-
"raid": true,
33-
"remove-moderator": true,
34-
"remove-reward": true,
35-
"revoke": true,
36-
"shield-mode-begin": true,
37-
"shield-mode-end": true,
38-
"shoutout-create": true,
39-
"shoutout-received": true,
40-
"stream-change": true,
41-
"streamdown": true,
42-
"streamup": true,
43-
"subscribe": true,
44-
"transaction": true,
45-
"unban": true,
46-
"unsubscribe": true,
47-
"update-redemption": true,
48-
"update-reward": true,
49-
"user-update": true,
50-
}
51-
525
var transportSupported = map[string]bool{
536
"websub": false,
547
"eventsub": true,

internal/events/types/authorization/authorization.go

+7
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ func (e Event) ValidTrigger(t string) bool {
108108
func (e Event) GetTopic(transport string, trigger string) string {
109109
return triggerMapping[transport][trigger]
110110
}
111+
func (e Event) GetAllTopicsByTransport(transport string) []string {
112+
allTopics := []string{}
113+
for _, topic := range triggerMapping[transport] {
114+
allTopics = append(allTopics, topic)
115+
}
116+
return allTopics
117+
}
111118
func (e Event) GetEventSubAlias(t string) string {
112119
// check for aliases
113120
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/ban/ban.go

+7
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@ func (e Event) ValidTrigger(t string) bool {
131131
func (e Event) GetTopic(transport string, trigger string) string {
132132
return triggerMapping[transport][trigger]
133133
}
134+
func (e Event) GetAllTopicsByTransport(transport string) []string {
135+
allTopics := []string{}
136+
for _, topic := range triggerMapping[transport] {
137+
allTopics = append(allTopics, topic)
138+
}
139+
return allTopics
140+
}
134141
func (e Event) GetEventSubAlias(t string) string {
135142
// check for aliases
136143
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/channel_points_redemption/redemption_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@ func (e Event) ValidTrigger(t string) bool {
131131
func (e Event) GetTopic(transport string, trigger string) string {
132132
return triggerMapping[transport][trigger]
133133
}
134+
func (e Event) GetAllTopicsByTransport(transport string) []string {
135+
allTopics := []string{}
136+
for _, topic := range triggerMapping[transport] {
137+
allTopics = append(allTopics, topic)
138+
}
139+
return allTopics
140+
}
134141
func (e Event) GetEventSubAlias(t string) string {
135142
// check for aliases
136143
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/channel_points_reward/reward_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ func (e Event) ValidTrigger(t string) bool {
144144
func (e Event) GetTopic(transport string, trigger string) string {
145145
return triggerMapping[transport][trigger]
146146
}
147+
func (e Event) GetAllTopicsByTransport(transport string) []string {
148+
allTopics := []string{}
149+
for _, topic := range triggerMapping[transport] {
150+
allTopics = append(allTopics, topic)
151+
}
152+
return allTopics
153+
}
147154
func (e Event) GetEventSubAlias(t string) string {
148155
// check for aliases
149156
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/charity/charity_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,13 @@ func (e Event) ValidTrigger(trigger string) bool {
219219
func (e Event) GetTopic(transport string, trigger string) string {
220220
return triggerMapping[transport][trigger]
221221
}
222+
func (e Event) GetAllTopicsByTransport(transport string) []string {
223+
allTopics := []string{}
224+
for _, topic := range triggerMapping[transport] {
225+
allTopics = append(allTopics, topic)
226+
}
227+
return allTopics
228+
}
222229
func (e Event) GetEventSubAlias(t string) string {
223230
// check for aliases
224231
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/cheer/cheer_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,13 @@ func (e Event) ValidTrigger(t string) bool {
116116
func (e Event) GetTopic(transport string, trigger string) string {
117117
return triggerMapping[transport][trigger]
118118
}
119+
func (e Event) GetAllTopicsByTransport(transport string) []string {
120+
allTopics := []string{}
121+
for _, topic := range triggerMapping[transport] {
122+
allTopics = append(allTopics, topic)
123+
}
124+
return allTopics
125+
}
119126
func (e Event) GetEventSubAlias(t string) string {
120127
// check for aliases
121128
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/drop/drop.go

+7
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ func (e Event) ValidTrigger(t string) bool {
124124
func (e Event) GetTopic(transport string, trigger string) string {
125125
return triggerMapping[transport][trigger]
126126
}
127+
func (e Event) GetAllTopicsByTransport(transport string) []string {
128+
allTopics := []string{}
129+
for _, topic := range triggerMapping[transport] {
130+
allTopics = append(allTopics, topic)
131+
}
132+
return allTopics
133+
}
127134
func (e Event) GetEventSubAlias(t string) string {
128135
// check for aliases
129136
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/extension_transaction/transaction_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@ func (e Event) ValidTrigger(t string) bool {
131131
func (e Event) GetTopic(transport string, trigger string) string {
132132
return triggerMapping[transport][trigger]
133133
}
134+
func (e Event) GetAllTopicsByTransport(transport string) []string {
135+
allTopics := []string{}
136+
for _, topic := range triggerMapping[transport] {
137+
allTopics = append(allTopics, topic)
138+
}
139+
return allTopics
140+
}
134141
func (e Event) GetEventSubAlias(t string) string {
135142
// check for aliases
136143
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/follow/follow_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ func (e Event) ValidTrigger(trigger string) bool {
103103
func (e Event) GetTopic(transport string, trigger string) string {
104104
return triggerMapping[transport][trigger]
105105
}
106+
func (e Event) GetAllTopicsByTransport(transport string) []string {
107+
allTopics := []string{}
108+
for _, topic := range triggerMapping[transport] {
109+
allTopics = append(allTopics, topic)
110+
}
111+
return allTopics
112+
}
106113
func (e Event) GetEventSubAlias(t string) string {
107114
// check for aliases
108115
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/gift/channel_gift.go

+7
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,13 @@ func (e Event) ValidTrigger(t string) bool {
121121
func (e Event) GetTopic(transport string, trigger string) string {
122122
return triggerMapping[transport][trigger]
123123
}
124+
func (e Event) GetAllTopicsByTransport(transport string) []string {
125+
allTopics := []string{}
126+
for _, topic := range triggerMapping[transport] {
127+
allTopics = append(allTopics, topic)
128+
}
129+
return allTopics
130+
}
124131
func (e Event) GetEventSubAlias(t string) string {
125132
// check for aliases
126133
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/goal/goal_event.go

+8
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ func (e Event) GetTopic(transport string, trigger string) string {
143143
return triggerMapping[transport][trigger]
144144
}
145145

146+
func (e Event) GetAllTopicsByTransport(transport string) []string {
147+
allTopics := []string{}
148+
for _, topic := range triggerMapping[transport] {
149+
allTopics = append(allTopics, topic)
150+
}
151+
return allTopics
152+
}
153+
146154
func (e Event) GetEventSubAlias(t string) string {
147155
// check for aliases
148156
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/hype_train/hype_train_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,13 @@ func (e Event) ValidTrigger(t string) bool {
150150
func (e Event) GetTopic(transport string, trigger string) string {
151151
return triggerMapping[transport][trigger]
152152
}
153+
func (e Event) GetAllTopicsByTransport(transport string) []string {
154+
allTopics := []string{}
155+
for _, topic := range triggerMapping[transport] {
156+
allTopics = append(allTopics, topic)
157+
}
158+
return allTopics
159+
}
153160
func (e Event) GetEventSubAlias(t string) string {
154161
// check for aliases
155162
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/moderator_change/moderator_change_event.go

+7
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,13 @@ func (e Event) ValidTrigger(t string) bool {
105105
func (e Event) GetTopic(transport string, trigger string) string {
106106
return triggerMapping[transport][trigger]
107107
}
108+
func (e Event) GetAllTopicsByTransport(transport string) []string {
109+
allTopics := []string{}
110+
for _, topic := range triggerMapping[transport] {
111+
allTopics = append(allTopics, topic)
112+
}
113+
return allTopics
114+
}
108115
func (e Event) GetEventSubAlias(t string) string {
109116
// check for aliases
110117
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/poll/poll.go

+7
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ func (e Event) ValidTrigger(t string) bool {
144144
func (e Event) GetTopic(transport string, trigger string) string {
145145
return triggerMapping[transport][trigger]
146146
}
147+
func (e Event) GetAllTopicsByTransport(transport string) []string {
148+
allTopics := []string{}
149+
for _, topic := range triggerMapping[transport] {
150+
allTopics = append(allTopics, topic)
151+
}
152+
return allTopics
153+
}
147154

148155
func intPointer(i int) *int {
149156
return &i

internal/events/types/prediction/prediction.go

+7
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,13 @@ func (e Event) ValidTrigger(t string) bool {
169169
func (e Event) GetTopic(transport string, trigger string) string {
170170
return triggerMapping[transport][trigger]
171171
}
172+
func (e Event) GetAllTopicsByTransport(transport string) []string {
173+
allTopics := []string{}
174+
for _, topic := range triggerMapping[transport] {
175+
allTopics = append(allTopics, topic)
176+
}
177+
return allTopics
178+
}
172179

173180
func intPointer(i int) *int {
174181
return &i

internal/events/types/raid/raid.go

+7
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,13 @@ func (e Event) ValidTrigger(t string) bool {
104104
func (e Event) GetTopic(transport string, trigger string) string {
105105
return triggerMapping[transport][trigger]
106106
}
107+
func (e Event) GetAllTopicsByTransport(transport string) []string {
108+
allTopics := []string{}
109+
for _, topic := range triggerMapping[transport] {
110+
allTopics = append(allTopics, topic)
111+
}
112+
return allTopics
113+
}
107114
func (e Event) GetEventSubAlias(t string) string {
108115
// check for aliases
109116
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/shield_mode/shield_mode.go

+7
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,13 @@ func (e Event) ValidTrigger(trigger string) bool {
114114
func (e Event) GetTopic(transport string, trigger string) string {
115115
return triggerMapping[transport][trigger]
116116
}
117+
func (e Event) GetAllTopicsByTransport(transport string) []string {
118+
allTopics := []string{}
119+
for _, topic := range triggerMapping[transport] {
120+
allTopics = append(allTopics, topic)
121+
}
122+
return allTopics
123+
}
117124
func (e Event) GetEventSubAlias(t string) string {
118125
// check for aliases
119126
for trigger, topic := range triggerMapping[models.TransportEventSub] {

internal/events/types/shoutout/shoutout.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,13 @@ func (e Event) ValidTrigger(trigger string) bool {
154154
func (e Event) GetTopic(transport string, trigger string) string {
155155
return triggerMapping[transport][trigger]
156156
}
157+
func (e Event) GetAllTopicsByTransport(transport string) []string {
158+
allTopics := []string{}
159+
for _, topic := range triggerMapping[transport] {
160+
allTopics = append(allTopics, topic)
161+
}
162+
return allTopics
163+
}
157164
func (e Event) GetEventSubAlias(t string) string {
158165
// check for aliases
159166
for trigger, topic := range triggerMapping[models.TransportEventSub] {
@@ -165,5 +172,5 @@ func (e Event) GetEventSubAlias(t string) string {
165172
}
166173

167174
func (e Event) SubscriptionVersion() string {
168-
return "beta"
175+
return "1"
169176
}

0 commit comments

Comments
 (0)