mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
refactor(achievements): crush down to much fewer notification types
most work by @CuriousMagpie
This commit is contained in:
@@ -5,75 +5,85 @@ import validator from 'validator';
|
||||
import baseModel from '../libs/baseModel';
|
||||
|
||||
const NOTIFICATION_TYPES = [
|
||||
'DROPS_ENABLED', // unused
|
||||
'REBIRTH_ENABLED',
|
||||
'WON_CHALLENGE',
|
||||
'STREAK_ACHIEVEMENT',
|
||||
'ULTIMATE_GEAR_ACHIEVEMENT',
|
||||
'REBIRTH_ACHIEVEMENT',
|
||||
'NEW_CONTRIBUTOR_LEVEL',
|
||||
// general notifications
|
||||
'CARD_RECEIVED',
|
||||
'CRON',
|
||||
'DROP_CAP_REACHED',
|
||||
'DROPS_ENABLED', // unused
|
||||
'FIRST_DROPS',
|
||||
'GIFT_ONE_GET_ONE',
|
||||
'GROUP_INVITE_ACCEPTED',
|
||||
'GROUP_TASK_APPROVAL',
|
||||
'GROUP_TASK_APPROVED',
|
||||
'GROUP_TASK_ASSIGNED',
|
||||
'GROUP_TASK_CLAIMED',
|
||||
'GROUP_TASK_NEEDS_WORK',
|
||||
'LOGIN_INCENTIVE',
|
||||
'GROUP_INVITE_ACCEPTED',
|
||||
'SCORED_TASK',
|
||||
'BOSS_DAMAGE', // Not used currently but kept to avoid validation errors
|
||||
'GIFT_ONE_GET_ONE',
|
||||
'GUILD_PROMPT',
|
||||
'GUILD_JOINED_ACHIEVEMENT',
|
||||
'CHALLENGE_JOINED_ACHIEVEMENT',
|
||||
'INVITED_FRIEND_ACHIEVEMENT',
|
||||
'CARD_RECEIVED',
|
||||
'NEW_MYSTERY_ITEMS',
|
||||
'UNALLOCATED_STATS_POINTS',
|
||||
'NEW_INBOX_MESSAGE',
|
||||
'NEW_STUFF',
|
||||
'LEVELED_UP', // not in use
|
||||
'LOGIN_INCENTIVE',
|
||||
'NEW_CHAT_MESSAGE',
|
||||
'LEVELED_UP', // Not in use
|
||||
'FIRST_DROPS',
|
||||
'NEW_CONTRIBUTOR_LEVEL',
|
||||
'NEW_INBOX_MESSAGE',
|
||||
'NEW_MYSTERY_ITEMS',
|
||||
'NEW_STUFF',
|
||||
'ONBOARDING_COMPLETE',
|
||||
'ACHIEVEMENT_ALL_YOUR_BASE',
|
||||
'ACHIEVEMENT_BACK_TO_BASICS',
|
||||
'ACHIEVEMENT_JUST_ADD_WATER',
|
||||
'ACHIEVEMENT_LOST_MASTERCLASSER',
|
||||
'ACHIEVEMENT_MIND_OVER_MATTER',
|
||||
'ACHIEVEMENT_DUST_DEVIL',
|
||||
'ACHIEVEMENT_ARID_AUTHORITY',
|
||||
'ACHIEVEMENT_PARTY_UP',
|
||||
'ACHIEVEMENT_PARTY_ON',
|
||||
'ACHIEVEMENT_BEAST_MASTER',
|
||||
'ACHIEVEMENT_MOUNT_MASTER',
|
||||
'ACHIEVEMENT_TRIAD_BINGO',
|
||||
'ACHIEVEMENT_MONSTER_MAGUS',
|
||||
'ACHIEVEMENT_UNDEAD_UNDERTAKER',
|
||||
'ACHIEVEMENT_PRIMED_FOR_PAINTING',
|
||||
'ACHIEVEMENT_PEARLY_PRO',
|
||||
'ACHIEVEMENT_TICKLED_PINK',
|
||||
'ACHIEVEMENT_ROSY_OUTLOOK',
|
||||
'ACHIEVEMENT_BUG_BONANZA',
|
||||
'ACHIEVEMENT_BARE_NECESSITIES',
|
||||
'ACHIEVEMENT_FRESHWATER_FRIENDS',
|
||||
'ACHIEVEMENT_GOOD_AS_GOLD',
|
||||
'ACHIEVEMENT_ALL_THAT_GLITTERS',
|
||||
'ACHIEVEMENT_BONE_COLLECTOR',
|
||||
'ACHIEVEMENT_SKELETON_CREW',
|
||||
'ACHIEVEMENT_SEEING_RED',
|
||||
'ACHIEVEMENT_RED_LETTER_DAY',
|
||||
'ACHIEVEMENT_LEGENDARY_BESTIARY',
|
||||
'ACHIEVEMENT_SEASONAL_SPECIALIST',
|
||||
'ACHIEVEMENT_VIOLETS_ARE_BLUE',
|
||||
'ACHIEVEMENT_WILD_BLUE_YONDER',
|
||||
'ACHIEVEMENT_DOMESTICATED',
|
||||
'ACHIEVEMENT_SHADY_CUSTOMER',
|
||||
'ACHIEVEMENT_SHADE_OF_IT_ALL',
|
||||
'ACHIEVEMENT_ZODIAC_ZOOKEEPER',
|
||||
'ACHIEVEMENT_BIRDS_OF_A_FEATHER',
|
||||
'REBIRTH_ENABLED',
|
||||
'SCORED_TASK',
|
||||
'UNALLOCATED_STATS_POINTS',
|
||||
'WON_CHALLENGE',
|
||||
// achievement notifications
|
||||
'ACHIEVEMENT', // generic achievement notification, details inside `notification.data`
|
||||
'DROP_CAP_REACHED',
|
||||
'CHALLENGE_JOINED_ACHIEVEMENT',
|
||||
'GUILD_JOINED_ACHIEVEMENT',
|
||||
'ACHIEVEMENT_PARTY_ON',
|
||||
'ACHIEVEMENT_PARTY_UP',
|
||||
'INVITED_FRIEND_ACHIEVEMENT',
|
||||
'REBIRTH_ACHIEVEMENT',
|
||||
'STREAK_ACHIEVEMENT',
|
||||
'ULTIMATE_GEAR_ACHIEVEMENT',
|
||||
'ACHIEVEMENT_STABLE',
|
||||
'ACHIEVEMENT_QUESTS',
|
||||
'ACHIEVEMENT_ANIMAL_SET',
|
||||
'ACHIEVEMENT_PET_COLOR',
|
||||
'ACHIEVEMENT_MOUNT_COLOR',
|
||||
// Deprecated notification types. Can be removed once old data is cleaned out
|
||||
'BOSS_DAMAGE', // deprecated
|
||||
'ACHIEVEMENT_ALL_YOUR_BASE', // deprecated
|
||||
'ACHIEVEMENT_BACK_TO_BASICS', // deprecated
|
||||
'ACHIEVEMENT_JUST_ADD_WATER', // deprecated
|
||||
'ACHIEVEMENT_LOST_MASTERCLASSER', // deprecated
|
||||
'ACHIEVEMENT_MIND_OVER_MATTER', // deprecated
|
||||
'ACHIEVEMENT_DUST_DEVIL', // deprecated
|
||||
'ACHIEVEMENT_ARID_AUTHORITY', // deprecated
|
||||
'ACHIEVEMENT_PARTY_UP', // deprecated
|
||||
'ACHIEVEMENT_PARTY_ON', // deprecated
|
||||
'ACHIEVEMENT_BEAST_MASTER', // deprecated
|
||||
'ACHIEVEMENT_MOUNT_MASTER', // deprecated
|
||||
'ACHIEVEMENT_TRIAD_BINGO', // deprecated
|
||||
'ACHIEVEMENT_MONSTER_MAGUS', // deprecated
|
||||
'ACHIEVEMENT_UNDEAD_UNDERTAKER', // deprecated
|
||||
'ACHIEVEMENT_PRIMED_FOR_PAINTING', // deprecated
|
||||
'ACHIEVEMENT_PEARLY_PRO', // deprecated
|
||||
'ACHIEVEMENT_TICKLED_PINK', // deprecated
|
||||
'ACHIEVEMENT_ROSY_OUTLOOK', // deprecated
|
||||
'ACHIEVEMENT_BUG_BONANZA', // deprecated
|
||||
'ACHIEVEMENT_BARE_NECESSITIES', // deprecated
|
||||
'ACHIEVEMENT_FRESHWATER_FRIENDS', // deprecated
|
||||
'ACHIEVEMENT_GOOD_AS_GOLD', // deprecated
|
||||
'ACHIEVEMENT_ALL_THAT_GLITTERS', // deprecated
|
||||
'ACHIEVEMENT_BONE_COLLECTOR', // deprecated
|
||||
'ACHIEVEMENT_SKELETON_CREW', // deprecated
|
||||
'ACHIEVEMENT_SEEING_RED', // deprecated
|
||||
'ACHIEVEMENT_RED_LETTER_DAY', // deprecated
|
||||
'ACHIEVEMENT_LEGENDARY_BESTIARY', // deprecated
|
||||
'ACHIEVEMENT_SEASONAL_SPECIALIST', // deprecated
|
||||
'ACHIEVEMENT_VIOLETS_ARE_BLUE', // deprecated
|
||||
'ACHIEVEMENT_WILD_BLUE_YONDER', // deprecated
|
||||
'ACHIEVEMENT_DOMESTICATED', // deprecated
|
||||
'ACHIEVEMENT_SHADY_CUSTOMER', // deprecated
|
||||
'ACHIEVEMENT_SHADE_OF_IT_ALL', // deprecated
|
||||
'ACHIEVEMENT_ZODIAC_ZOOKEEPER', // deprecated
|
||||
'ACHIEVEMENT_BIRDS_OF_A_FEATHER', // deprecated
|
||||
];
|
||||
|
||||
const { Schema } = mongoose;
|
||||
|
||||
Reference in New Issue
Block a user