Add UID to TokenScopes for database purposes.

This commit is contained in:
digimint 2024-06-21 23:24:05 -05:00
parent 04fc85d257
commit 9c6a1e808f
Signed by: digimint
GPG key ID: 947E0031C671B9A0

View file

@ -17,85 +17,92 @@
*/
package unit_ca5.twitch
enum TokenScope:
/**
* Enumeration of all scopes currently supported by the Twitch API
*
* @param uid A unique identifier for each scope. This is used to associate
* tokens with scopes in the database. The ordering of scopes within this enum
* is unimportant, as long as each scope's UID is unique and does not change.
*/
enum TokenScope(val uid: Int):
// API Scopes
case AnalyticsReadExtensions
case AnalyticsReadGames
case AnalyticsReadExtensions extends TokenScope(0x0000)
case AnalyticsReadGames extends TokenScope(0x0001)
case BitsRead
case BitsRead extends TokenScope(0x0010)
case ChannelManageAds
case ChannelReadAds
case ChannelManageBroadcast
case ChannelReadCharity
case ChannelEditCommercial
case ChannelReadEditors
case ChannelManageExtensions
case ChannelReadGoals
case ChannelReadGuestStar
case ChannelManageGuestStar
case ChannelReadHypeTrain
case ChannelManageModerators
case ChannelReadPolls
case ChannelManagePolls
case ChannelReadPredictions
case ChannelManagePredictions
case ChannelManageRaids
case ChannelReadRedemptions
case ChannelManageRedemptions
case ChannelManageSchedule
case ChannelReadStreamKey
case ChannelReadSubscriptions
case ChannelManageVideos
case ChannelReadVIPs
case ChannelManageVIPs
case ChannelManageAds extends TokenScope(0x0020)
case ChannelReadAds extends TokenScope(0x0021)
case ChannelManageBroadcast extends TokenScope(0x0022)
case ChannelReadCharity extends TokenScope(0x0023)
case ChannelEditCommercial extends TokenScope(0x0024)
case ChannelReadEditors extends TokenScope(0x0025)
case ChannelManageExtensions extends TokenScope(0x0026)
case ChannelReadGoals extends TokenScope(0x0027)
case ChannelReadGuestStar extends TokenScope(0x0028)
case ChannelManageGuestStar extends TokenScope(0x0029)
case ChannelReadHypeTrain extends TokenScope(0x002A)
case ChannelManageModerators extends TokenScope(0x002B)
case ChannelReadPolls extends TokenScope(0x002C)
case ChannelManagePolls extends TokenScope(0x002D)
case ChannelReadPredictions extends TokenScope(0x002E)
case ChannelManagePredictions extends TokenScope(0x002F)
case ChannelManageRaids extends TokenScope(0x0030)
case ChannelReadRedemptions extends TokenScope(0x0031)
case ChannelManageRedemptions extends TokenScope(0x0032)
case ChannelManageSchedule extends TokenScope(0x0033)
case ChannelReadStreamKey extends TokenScope(0x0034)
case ChannelReadSubscriptions extends TokenScope(0x0035)
case ChannelManageVideos extends TokenScope(0x0036)
case ChannelReadVIPs extends TokenScope(0x0037)
case ChannelManageVIPs extends TokenScope(0x0038)
case ClipsEdit
case ClipsEdit extends TokenScope(0x0040)
case ModerationRead
case ModerationRead extends TokenScope(0x0050)
case ModeratorManageAnnouncement
case ModeratorManageAutomod
case ModeratorReadAutomodSettings
case ModeratorManageAutomodSettings
case ModeratorManageBannedUsers
case ModeratorReadBlockedTerms
case ModeratorManageBlockedTerms
case ModeratorManageChatMessages
case ModeratorReadChatters
case ModeratorReadFollowers
case ModeratorReadGuestStar
case ModeratorManageGuestStar
case ModeratorReadShieldMode
case ModeratorManageShieldMode
case ModeratorReadShoutouts
case ModeratorManageShoutouts
case ModeratorReadUnbanRequests
case ModeratorManageUnbanRequests
case ModeratorManageAnnouncement extends TokenScope(0x0060)
case ModeratorManageAutomod extends TokenScope(0x0061)
case ModeratorReadAutomodSettings extends TokenScope(0x0062)
case ModeratorManageAutomodSettings extends TokenScope(0x0063)
case ModeratorManageBannedUsers extends TokenScope(0x0064)
case ModeratorReadBlockedTerms extends TokenScope(0x0065)
case ModeratorManageBlockedTerms extends TokenScope(0x0066)
case ModeratorManageChatMessages extends TokenScope(0x0067)
case ModeratorReadChatters extends TokenScope(0x0068)
case ModeratorReadFollowers extends TokenScope(0x0069)
case ModeratorReadGuestStar extends TokenScope(0x006A)
case ModeratorManageGuestStar extends TokenScope(0x006B)
case ModeratorReadShieldMode extends TokenScope(0x006C)
case ModeratorManageShieldMode extends TokenScope(0x006D)
case ModeratorReadShoutouts extends TokenScope(0x006E)
case ModeratorManageShoutouts extends TokenScope(0x006F)
case ModeratorReadUnbanRequests extends TokenScope(0x0070)
case ModeratorManageUnbanRequests extends TokenScope(0x0071)
case UserEdit
case UserEditFollows
case UserReadBlockedUsers
case UserManageBlockedUsers
case UserReadBroadcast
case UserManageChatColor
case UserReadEmail
case UserReadEmotes
case UserReadFollows
case UserReadModeratedChannels
case UserReadSubscriptions
case UserManageWhispers
case UserEdit extends TokenScope(0x0080)
case UserEditFollows extends TokenScope(0x0081)
case UserReadBlockedUsers extends TokenScope(0x0082)
case UserManageBlockedUsers extends TokenScope(0x0083)
case UserReadBroadcast extends TokenScope(0x0084)
case UserManageChatColor extends TokenScope(0x0085)
case UserReadEmail extends TokenScope(0x0086)
case UserReadEmotes extends TokenScope(0x0087)
case UserReadFollows extends TokenScope(0x0088)
case UserReadModeratedChannels extends TokenScope(0x0089)
case UserReadSubscriptions extends TokenScope(0x008A)
case UserManageWhispers extends TokenScope(0x008B)
// Chat and PubSub scopes
case ChannelBot
case ChannelModerate
case ChannelBot extends TokenScope(0x7000)
case ChannelModerate extends TokenScope(0x7001)
case ChatEdit
case ChatRead
case ChatEdit extends TokenScope(0x7010)
case ChatRead extends TokenScope(0x7011)
case UserBot
case UserReadChat
case UserWriteChat
case UserBot extends TokenScope(0x7020)
case UserReadChat extends TokenScope(0x7021)
case UserWriteChat extends TokenScope(0x7022)
case WhispersRead
case WhispersEdit
case WhispersRead extends TokenScope(0x7030)
case WhispersEdit extends TokenScope(0x7031)