mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 13:17:24 +01:00
* upgrade stripe module * switch stripe api to latest version * fix api version in tests * start upgrading client and server * client: switch to redirect * implement checkout session creation for gems, start implementing webhooks * stripe: start refactoring one time payments * working gems and gift payments * start adding support for subscriptions * stripe: migrate subscriptions and fix cancelling sub * allow upgrading group plans * remove console.log statements * group plans: upgrade from static page / create new one * fix #11885, correct group plan modal title * silence more stripe webhooks * fix group plans redirects * implement editing payment method * start cleaning up code * fix(stripe): update in-code docs, fix eslint issues * subscriptions tests * remove and skip old tests * skip integration tests * fix client build * stripe webhooks: throw error if request fails * subscriptions: correctly pass groupId * remove console.log * stripe: add unit tests for one time payments * wip: stripe checkout tests * stripe createCheckoutSession unit tests * stripe createCheckoutSession unit tests * stripe createCheckoutSession unit tests (editing card) * fix existing webhooks tests * add new webhooks tests * add more webhooks tests * fix lint * stripe integration tests * better error handling when retrieving customer from stripe * client: remove unused strings and improve error handling * payments: limit gift message length (server) * payments: limit gift message length (client) * fix redirects when payment is cancelled * add back "subUpdateCard" string * fix redirects when editing a sub card, use proper names for products, check subs when gifting
40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
export const MAX_HEALTH = 50;
|
|
export const MAX_LEVEL = 100;
|
|
export const MAX_STAT_POINTS = MAX_LEVEL;
|
|
export const ATTRIBUTES = ['str', 'int', 'con', 'per'];
|
|
export const MAX_INCENTIVES = 500;
|
|
|
|
export const TAVERN_ID = '00000000-0000-4000-A000-000000000000';
|
|
export const LARGE_GROUP_COUNT_MESSAGE_CUTOFF = 5000;
|
|
export const MAX_SUMMARY_SIZE_FOR_GUILDS = 250;
|
|
export const MAX_SUMMARY_SIZE_FOR_CHALLENGES = 250;
|
|
export const MIN_SHORTNAME_SIZE_FOR_CHALLENGES = 3;
|
|
export const MAX_MESSAGE_LENGTH = 3000;
|
|
|
|
export const MAX_GIFT_MESSAGE_LENGTH = 200;
|
|
|
|
export const CHAT_FLAG_LIMIT_FOR_HIDING = 2; // hide posts that have this many flags
|
|
export const CHAT_FLAG_FROM_MOD = 5; // a flag from a moderator counts as this many flags
|
|
// a shadow-muted user's post starts with this many flags
|
|
export const CHAT_FLAG_FROM_SHADOW_MUTE = 10;
|
|
// @TODO use those constants to replace hard-coded numbers
|
|
|
|
export const SUPPORTED_SOCIAL_NETWORKS = [
|
|
{ key: 'facebook', name: 'Facebook' },
|
|
{ key: 'google', name: 'Google' },
|
|
{ key: 'apple', name: 'Apple' },
|
|
];
|
|
|
|
export const GUILDS_PER_PAGE = 30; // number of guilds to return per page when using pagination
|
|
|
|
export const PARTY_LIMIT_MEMBERS = 30;
|
|
|
|
export const MINIMUM_PASSWORD_LENGTH = 8;
|
|
|
|
export const TRANSFORMATION_DEBUFFS_LIST = {
|
|
snowball: 'salt',
|
|
spookySparkles: 'opaquePotion',
|
|
shinySeed: 'petalFreePotion',
|
|
seafoam: 'sand',
|
|
};
|