the browser-facing portion of osu!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 61 lines 1.4 kB view raw
1// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2// See the LICENCE file in the repository root for full licence text. 3 4import Ruleset from './ruleset'; 5 6interface UserGroupEventBase { 7 actor?: { 8 id: number; 9 name: string; 10 } | { 11 id: null; 12 name: null; 13 }; 14 created_at: string; 15 group_id: number; 16 group_name: string; 17 hidden: boolean; 18 id: number; 19} 20 21interface GroupAddOrRemoveEvent extends UserGroupEventBase { 22 type: 'group_add' | 'group_remove'; 23 user_id: null; 24 user_name: null; 25} 26 27interface GroupRenameEvent extends UserGroupEventBase { 28 previous_group_name: string; 29 type: 'group_rename'; 30 user_id: null; 31 user_name: null; 32} 33 34interface UserAddEvent extends UserGroupEventBase { 35 playmodes: Ruleset[] | null; 36 type: 'user_add'; 37 user_id: number; 38 user_name: string; 39} 40 41interface UserAddOrRemovePlaymodesEvent extends UserGroupEventBase { 42 playmodes: Ruleset[]; 43 type: 'user_add_playmodes' | 'user_remove_playmodes'; 44 user_id: number; 45 user_name: string; 46} 47 48interface UserRemoveOrSetDefaultEvent extends UserGroupEventBase { 49 type: 'user_remove' | 'user_set_default'; 50 user_id: number; 51 user_name: string; 52} 53 54type UserGroupEventJson = 55 | GroupAddOrRemoveEvent 56 | GroupRenameEvent 57 | UserAddEvent 58 | UserAddOrRemovePlaymodesEvent 59 | UserRemoveOrSetDefaultEvent; 60 61export default UserGroupEventJson;