File size: 2,541 Bytes
00a912e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
export const EVENTS = {
  // Server policy
  SERVER_AUDIO_PROXY_POLICY: 'server:audio_proxy_policy',
  SERVER_GLOBAL_BACKGROUND: 'server:global_background',

  // Room lifecycle
  ROOM_CREATE: 'room:create',
  ROOM_CREATED: 'room:created',
  ROOM_JOIN: 'room:join',
  ROOM_LEAVE: 'room:leave',
  ROOM_STATE: 'room:state',
  ROOM_REJOIN_TOKEN: 'room:rejoin_token',
  ROOM_USER_JOINED: 'room:user_joined',
  ROOM_USER_LEFT: 'room:user_left',
  ROOM_SETTINGS: 'room:settings',
  ROOM_ERROR: 'room:error',
  ROOM_AUTO_FALLBACK: 'room:auto_fallback',

  // Room discovery
  ROOM_LIST: 'room:list',
  ROOM_LIST_UPDATE: 'room:list_update',

  // Player controls
  PLAYER_PLAY: 'player:play',
  PLAYER_PAUSE: 'player:pause',
  PLAYER_RESUME: 'player:resume',
  PLAYER_SEEK: 'player:seek',
  PLAYER_NEXT: 'player:next',
  PLAYER_PREV: 'player:prev',
  PLAYER_SYNC: 'player:sync',
  PLAYER_SYNC_REQUEST: 'player:sync_request',
  PLAYER_SYNC_RESPONSE: 'player:sync_response',
  PLAYER_SET_MODE: 'player:set_mode',
  PLAYER_TRACK_METADATA_UPDATED: 'player:track_metadata_updated',

  // Queue management
  QUEUE_ADD: 'queue:add',
  QUEUE_REMOVE: 'queue:remove',
  QUEUE_REORDER: 'queue:reorder',
  QUEUE_UPDATE_METADATA: 'queue:update_metadata',
  QUEUE_CLEAR: 'queue:clear',
  QUEUE_UPDATED: 'queue:updated',

  // Chat
  CHAT_MESSAGE: 'chat:message',
  CHAT_HISTORY: 'chat:history',

  // Role management
  ROOM_SET_ROLE: 'room:set_role',
  ROOM_ROLE_CHANGED: 'room:role_changed',

  // Voting
  VOTE_START: 'vote:start',
  VOTE_STARTED: 'vote:started',
  VOTE_CAST: 'vote:cast',
  VOTE_RESULT: 'vote:result',

  // NTP clock synchronisation
  NTP_PING: 'ntp:ping',
  NTP_PONG: 'ntp:pong',

  // Platform authentication
  AUTH_REQUEST_QR: 'auth:request_qr',
  AUTH_QR_GENERATED: 'auth:qr_generated',
  AUTH_CHECK_QR: 'auth:check_qr',
  AUTH_QR_STATUS: 'auth:qr_status',
  AUTH_SET_COOKIE: 'auth:set_cookie',
  AUTH_SET_COOKIE_RESULT: 'auth:set_cookie_result',
  AUTH_LOGOUT: 'auth:logout',
  AUTH_STATUS_UPDATE: 'auth:status_update',
  AUTH_MY_STATUS: 'auth:my_status',
  AUTH_GET_STATUS: 'auth:get_status',
  AUTH_CLAIM_KUGOU_CONCEPT_VIP: 'auth:claim_kugou_concept_vip',
  AUTH_CLAIM_KUGOU_CONCEPT_VIP_RESULT: 'auth:claim_kugou_concept_vip_result',

  // Playlist
  PLAYLIST_GET_MY: 'playlist:get_my',
  PLAYLIST_MY_LIST: 'playlist:my_list',

  // Queue batch
  QUEUE_ADD_BATCH: 'queue:add_batch',

  // Queue insert
  QUEUE_INSERT_AFTER_CURRENT: 'queue:insert_after_current',
} as const

export type EventName = (typeof EVENTS)[keyof typeof EVENTS]