Commit Graph

64 Commits

Author SHA1 Message Date
Phillip Thelen 6e43d4dc79 Add Transaction log for gem and hourglass changes (#13589)
* Log all gem transactions to database

* Also store hourglass transactions

* Fix tests

* Display transaction history in hall of heroes for admins

* add tests to new API call

* hide transaction settings tab for non admins

* fix(lint): remove console

* fix(lint): various automatic corrections

* fix(transactions): use enum expected pluralizations

* fix api unit tests

* fix lint

* fix failing test

* Fix minor inconsistencies

* Log all gem transactions to database

* Also store hourglass transactions

* Fix tests

* Display transaction history in hall of heroes for admins

* add tests to new API call

* hide transaction settings tab for non admins

* fix(lint): remove console

* fix(lint): various automatic corrections

* fix(transactions): use enum expected pluralizations

* fix api unit tests

* fix lint

* Fix minor inconsistencies

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2022-01-31 15:36:15 -06:00
abigley d11810677c Fixed issue with mystery sets, pets, and mounts staying pinned in the rewards column after purchasing. Added logic to look up item info and remove from pinned list by path. (#13701) 2022-01-21 15:10:50 -06:00
Sabe Jones 40bf664f20 chore(analytics): various updates to analytics tracking 2021-08-30 16:21:05 -05:00
KoRnoliX b3cfcab5fb Fix negative quest scroll number on bundle purchase (#13415) 2021-08-26 16:22:00 -05:00
Matteo Pagliazzi 3d5630d5a2 chore: update sub-deps and fix lint 2020-07-01 18:20:18 +02:00
Frank Maximus ea44af0929 buyMysterySet records every item in Amplitude. (#12197)
* buyMysterySet records every item in Amplitude.

Record only the mysterySet

Fixes: #11705

* buyMysterySet records every item in Amplitude.

Extend unit test

Fixes: #11705
2020-05-19 16:39:48 +02:00
Alys aeba14f2e9 update API's monthly Gem cap messages to use the friendly website version (#12150)
* allow subscribers to buy their final monthly gem

* replace old montly Gem cap messages with friendlier new ones
2020-05-02 21:49:38 +02:00
Sabe Jones bb9912de89 fix(analytics): problems 2020-03-30 15:38:41 -05:00
Sabe Jones bd8e67a2ea Adventure Guide Prep (#11883)
* WIP(adventure): prereqs

* WIP(drops): new modal

* WIP(adventure): analytics fixes etc

* feat(adventure): random egg+potion on 2nd task

* fix(lint): noworkies

* fix(modal): correctly construct classes

* fix(tests): expectations and escape

* fix(first-drops): address comments

* fix(first-drops): don't give random drops until first drops

* fix(drops): remove more Level 3 references

* refactor(drops): no need for cloning

* refactor(drops): unnecessary export

* fix(first-drops): force sync

* fix(first-drops): move to server

* fix(first-drops): escape in case we get here with >0 items

* fix(lint): line length

* fix(pet-food): remove unused string
2020-03-07 13:03:13 -06:00
Alec Brickner 966bcf8010 Ensure first-time purchases are synced (#11915)
* Ensure first-time purchases are synced

* whitespace commit to trigger tests

* Undo whitespace commit

* more whitespace

* remove the whitespace
2020-03-02 21:34:23 +01:00
agentx999 bad148148c Enchanted Armoire immediately updates XP stat in header (fixes #11827) (#11884)
* sync user if Armoire gives XP

* user can level up from Armoire

* remove XP amount from Armoire XP notification
2020-02-24 22:19:48 +01:00
Phillip Thelen 0b57c0a22d Unify behaviour for shops (#11829)
* Change price for basilist and dustbunnies

* return correct unlockCondition for moon quests

* Fix basilist not being buyable
2020-02-20 13:24:43 -06:00
Sabe Jones ee9eb3f78a Merge branch 'release' into sabrecat/timetrav-bgs 2020-01-21 14:58:51 -06:00
Sabe Jones 0fd3e42fb2 fix(timetrav): pinning, mobile order 2020-01-16 10:06:36 -06:00
Matteo Pagliazzi e4ba2bfc7e Merge pull request #11637 from Xaz16/trigger-vue-reactivity-for-user
Trigger vue reactivity for user
2020-01-14 13:00:07 +01:00
Sabe Jones e8edc9669a WIP(timetrav): buy BG with Hourglass 2020-01-03 12:50:13 -06:00
Xaz16 4b4cc61031 Fix: remove unnecessary reassignments 2019-12-26 22:47:14 +03:00
Matteo Pagliazzi 8f5a0cfe79 Onboarding guide and initial achievements refactoring (#11536)
* add achievements to user

* add placeholder strings

* add to achievements to common script

* add onboarding achievements category

* add notifications

* more notifications

* award achievements

* wip notification panel

* add achievements icons and copy

* do not count onboarding tasks for the created task achievement

* add notes

* sprites, fixes and completion status and reward

* add onboarding panel

* add toggle

* fix toggle size

* fix tests

* fix typo

* add notification

* start adding modal

* fix remove button positionin, timeout, progress bar

* modal + fixes

* disable broken social links from level up modal

* change toggle icon color on hover

* add border bottom to onboarding guide panel

* add collapse animation

* expanded onboarding on first open

* onboarding: flip toggle colors

* onboarding: show progress bar all the time

* onboarding: fix panel closing on click

* onboarding modal: add close icon and fix padding

* wip: add migration for existing users

* fix titles in guide

* fix achievements copy

* do not award completed task achievement when direction is down

* start implementing new achievements

* start migrating client

* remove social links from achievements modals

* prevent skipping tutorial + fix achievement notification

* sync fixes

* start redesign achievement modal

* misc fixes to achievements, polish generic achievement modal and hatched pet modal

* add special badge for onboarding

* fix badge condition

* modals fixes

* hatched pet modal: add close icon

* fix badge typo

* fix justin button

* new scrolling behavior for dropdowns

* fix strings capitalization

* add common tests

* add api unit tests

* add date check

* achievements modal polishing

* typos

* add toggle for achievements categories

* typo

* fix test

* fix edit avatar modal cannot be closed

* finish migration and correct launch date

* fix migration

* migration fixes

* fix tests
2019-12-16 17:20:47 +01:00
Xaz16 2c0da084ea Fix: reassign object for user.items.quest to trigger change in vue view 2019-12-15 22:18:26 +03:00
Xaz16 6e183c3927 Fix: reassign object for user.items.food to trigger change in vue view 2019-12-15 22:14:40 +03:00
Xaz16 dec0488b08 Fix: reassign object for user.items.mounts to trigger change in vue view 2019-12-15 20:26:53 +03:00
Xaz16 3e476c4f52 Fix: reassign object for items.pets to trigger change in vue view 2019-12-15 20:05:11 +03:00
Xaz16 9cbdf0df42 Fix: reassign object for user.items.gear.owned to trigger change in vue view 2019-12-15 19:57:07 +03:00
Matteo Pagliazzi ce4729f069 fixes and start client 2019-10-10 22:15:58 +02:00
Matteo Pagliazzi e0e9811ab6 lint common 2019-10-09 20:08:36 +02:00
Matteo Pagliazzi 0c27fb24a5 start fixing commong 2019-10-09 16:51:17 +02:00
Matteo Pagliazzi 621787915c start upgrading eslint 2019-10-08 16:57:10 +02:00
Matteo Pagliazzi 90c917f69e fix duplicates in code 2019-10-08 15:05:48 +02:00
cheng-shiqi ca7399f6c1 Repair negative quest scrolls on (gem)purchase (#11399)
* Fix: Reset negative quest scrolls number to zero on purchase(gem)

* Refactor: rename website/common/script/ops/buy/buyQuest.js to website/common/script/ops/buy/buyQuestGold.js and update related files

* Test: add two tests related to negative quest scrolls
2019-10-06 17:06:02 +02:00
Matteo Pagliazzi 17c7a2bad1 fix common tests 2019-10-03 16:27:44 +02:00
Matteo Pagliazzi cca5b8492b fix exports 2019-10-01 17:53:48 +02:00
negue 3aa2e30815 Purchase API Refactoring: Mounts [Hourglass] (#10482)
* AbstractGemItemOperation - BuyQuestWithGemOperation

* fix purchase
2019-09-20 16:52:15 +02:00
Sabe Jones fc841d0ad4 Hourglass Quest (#11325)
* feat(content): Hourglass Quest

* fix(hourglasses): NaN from undefined

* fix(quests): sanity check for negative scrolls

* fix(hourglasses): don't show quantity selection for binary items

* fix(route): validate number, use body not params

* test(timetrav): add quest tests
2019-08-29 15:22:12 -04:00
Sabe Jones 6f7cd96e9f Improved number validation (#11131)
* fix(purchasing): more number validation

* test(purchasing): add error cases
Also refactor NaN check and create client mixin

* fix(purchasing): cover "purchase" cases
2019-04-23 15:19:49 -05:00
Matteo Pagliazzi 0b8ce63c76 WIP: Improve User model performances (#10832)
* wip: define items as mixed objects

* add default owned gear

* mark modified

* more mark modified

* more mark modified

* more mark modified

* more mark modified

* fix common tests

* fix common tests

* update mongoose

* add itemsUtils

* use new util function in hall controller

* add tests for items utils

* update website/server to mark all items as modified

* start updating common code

* update login incentives

* update unlock

* remove changes to package-lock.json

* remove changes to package.json
2019-04-01 19:24:18 +02:00
Sabe Jones 4d1b239231 Track specific items dropped by Armoire (#10977)
* feat(analytics): track specific items dropped by Armoire

* fix(lint): remove console log

* fix(analytics): address test failures

* fix(analytics): add missed if block

* fix(analytics): seriously tho actually fix
2019-02-10 19:30:49 +01:00
Sabe Jones df860c9401 fix(quests): repair negative quest scrolls on purchase (#10953) 2019-01-26 18:46:52 +01:00
negue e2c5b9058b more checks on the item.klass, also added the specialClass checks (#10859) 2018-11-22 14:35:34 +01:00
negue eca7382545 prevent buying market gear if class doesn't match (#10818)
* prevent buying market gear if class doesn't match

* add test
2018-11-12 21:32:54 +01:00
Sabe Jones c78b5ecf7c Analytics: More / improved tracking (#10608)
* WIP(analytics): add / improve tracking

* fix(groups): revert attempt at tracking on group model

* fix(analytics): track questing based on user data

* each buy-operation now has a getItemType method - typo getItemKey - removed unneeded overrides
2018-08-20 14:13:22 -05:00
Matteo Pagliazzi e7944b3d98 iOS push notifications, use node-apn (#10517)
* fixing typos in comments. yes, I am that kind of nerd

* replacing push-notify with node-apn in deps and in pushNotifications.js

* updating calling code and tests to use node-apn

* updating APN configs to new format

* migrating team ID and key ID to config.json

* update code to use env variables and add correct topic
2018-07-12 12:56:15 +02:00
negue d9b573b430 AbstractGemItemOperation - BuyQuestWithGemOperation (#10476) 2018-06-28 12:37:21 +02:00
Brian Fenton ac90a40be5 Api quest restrictions - no purchase/start without fulfilling eligibility requirements (#10387)
* removing duplicate translation key

* fixing typos

* extracting quest prerequisite check. adding check for previous quest completion, if required

* fixing (undoing) static change, adding tests

* more typos

* correcting test failures

* honoring quest prerequisites in quest invite API call. updating format of il8n string replacement arg

* no longer using apiError, use translate method instead (msg key was not defined)

* adding @apiError to docblock as requested in issue

* removing checks on quest invite method. small window of opportunity/low risk
2018-05-27 16:41:56 +02:00
negue 3d39718048 Purchase API Refactoring: Spells [Gold] (#10305)
* convert buySpell operation

* remove purchaseWithSpell - change purchaseType 'special' to 'spells' - fix lint

* fix tests

* rollback 'spells' to 'special'
2018-05-18 17:00:39 +02:00
Sabe Jones bbbd1f9f73 Merge branch 'release' into develop 2018-05-08 18:41:13 +00:00
Alys 8470f16f4f allow subscribers to buy their final monthly gem (#10331) 2018-05-07 15:20:28 +02:00
negue c26696a9eb moving developer-only strings to api/common messages (#10258)
* move translatable string to apiMessages

* use apiMessages instead of res.t for groupIdRequired / keepOrRemove

* move pageMustBeNumber to apiMessages

* change apimessages

* move missingKeyParam to apiMessages

* move more strings to apiMessages

* fix lint

* revert lodash imports to fix tests

* fix webhook test

* fix test

* rollback key change of `keepOrRemove`

* remove unneeded `req.language` param

*  extract more messages from i18n

* add missing `missingTypeParam` message

* Split api- and commonMessages

* fix test

* fix sanity

* merge messages to an object, rename commonMessage to errorMessage

* apiMessages -> apiError, commonMessages -> errorMessage, extract messages to separate objects

* fix test

* module.exports
2018-05-04 16:00:19 -05:00
negue 4f963e99dc Purchase API Refactoring: Gems [Gold] (#10271)
* remove `keyRequired` - change to `missingKeyParam` - i18n-string

* extract & convert buyGemsOperation

* fix lint
2018-04-27 19:29:26 +02:00
SabreCat 9f06d78db6 Revert "moving developer-only strings to api messages (#10188)"
This reverts commit a42cb0e3ab. Testing hypothesis that this was causing Staging to break.
2018-04-15 17:09:15 +00:00
negue a42cb0e3ab moving developer-only strings to api messages (#10188)
* move translatable string to apiMessages

* use apiMessages instead of res.t for groupIdRequired / keepOrRemove

* move pageMustBeNumber to apiMessages

* change apimessages

* move missingKeyParam to apiMessages

* move more strings to apiMessages

* fix lint

* revert lodash imports to fix tests

* fix webhook test

* fix test

* rollback key change of `keepOrRemove`

* remove unneeded `req.language` param

*  extract more messages from i18n

* add missing `missingTypeParam` message
2018-04-14 16:13:13 +02:00