Commit Graph

135 Commits

Author SHA1 Message Date
Matteo Pagliazzi
28f2e9c356 API v3 [WIP] (#6144)
* Fixed more tests

* Added tags into user service

* Added api-v3 auth urls

* v3: fix package.json

* v3: fix package.json

* Fixed auth tests. Updated Authctrl response

* v3: remove newrelic config file in favour of env variables

* v3: upgrade some deps

* switch from Q to Bluebird

* v3 fix tests with deferred

* Removed extra consoles.log. Changed data.data to res.data

* v3 fix tests and use coroutines instead of regenerator

* v3: fix tests

* v3: do not await a non promise

* v3: q -> bluebird

* Changed id param for registration response

* Updated party query and create

* Ensured login callback happens after user sync

* Add challenges to groups. Fixed isMemberOfGuild check

* Updated party and group tests

* Fixed cron test

* return user.id and send analytics event before changing page

* fix trailing spaces

* disable redirects

* Api v3 party tavern fixes (#7191)

* Added check if user is in party before query

* Cached party query. Prevented party request when user is not in party. Updated Party create with no invites

* Update tavern ctrl to use new promise

* v3: misc fixes

* Api v3 task fixes (#7193)

* Update task view to use _id

* Added try catch to user service ops calls

* v3 client: saving after syncing is complete

* Fixed test broken by part sync change (#7195)

* v3: fix todo scoring and try to fix production testing problem

* revert changes to mongoose config

* mongoose: increase keepAlive

* test mongoose fix

* fix: Only apply captureStackTrace if it exists on the error object

* v3: fix reminders with no startDate

* mongoose: use options

* chore(): rename website/src -> website/server and website/public -> website/client (#7199)

* v3 fix GET /groups: return an error only if an invalid type is supplied not when there are 0 results (#7203)

* [API v3] Fix calls to user.ops and deleting tags (#7204)

* v3: fixes calls to user.ops from views and deleting tags

* v3: fix tests that use user._statsComputed

* Api v3 fixes continued (#7205)

* Added timzeone offset back

* Added APIToken back to settings page

* Fixed fetch recent messages for party

* Fixed returning group description

* Fixed check if user is member of challenge

* Fixed party members appearing in header

* Updated get myGroups param to include public groups. Fixed isMemberOf group

* Fixed hourglass purchase

* Fixed challenge addding tasks on first creating

* Updated tests to accomidate new changes

* fix: Correct checklist on client

Closes #7207

* fix: Pin eslint to 2.9

* minor improvements to cron code for clarity; fix inaccurate comments; add TODOs for rest-in-inn actions

* fix: Add missing type param to equip call

closes #7212

* rename and reword pubChalsMinPrize to reflect that it's only for Tavern challenges

* allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227

* fix tests for /members/transfer-gems

* fix: Set gems sent notification as translatable string

* chore: Remove unusued variable

* fix: Remove requirement on message paramter in transfer-gems

* add a missing variable declaration

* chore: clarify comments on cron code

* fix: Correct client request from habitrpg -> tavern

* update apidoc URL in package.json

Closes #7222

* Fixed start party by invites

* Updated spell casting to v3

* Fixed adding and removing tags on tasks

* Fixed page reload on settings change

* Fixed battle monsters with friends button

* Loaded completed todos when done is clicked

* chore: Reinstate floating version number for eslint

babel-eslint regression fixed

* Fixed reload tests

* change "an user" to "a user" in comments and text (no code changes) (#7257)

* fix: Alert user that drops were recieved

* remove userServices.js from karma.conf - it's been moved to website/client/js/services

* feat: Create debug update user route

* fix: Correct set cron debug function

* feat: Add make admin button to debug menu

* lint: Add missing semicolons in test

* fix: Temporarilly comment out udpate user debug route

* v3: fix _tmp for crit and streakBonus

* v3: execute all actions when leaving a solo party

* v3 client: fix group not found when leaving party

* v3 migration: fix challenge prize

* v3 cron: only save modified tasks

* v3: add CHALLENGE_TASK_NOT_FOUND to valid broken reasons

* v3: fix tasks chart

* v3 client: fix ability to leave challenge

* v3 client: fix filtering by tag and correctly show tag tooltip

* v3 common: fix tags tests

* v3 client: support unlinking not found challenges tasks

* v3: disable Bluebird warning for missing return, fixes #7269

* feat: Separate out update-user into set-cron and make-admin debug routes

* chore: Disable make admin debug route for v3 prod testing

* v3: misc fixes

* v3: misc fixes

* v3: fix adding multiple tasks

* Fixed join/leave button updates

* Queried only user groups to be available when creating challenges

* Fixed bulk add tasks to challenge

* Synced challenge tasks after leave and join.

* Fixed default selected group

* Fixed challenge member info. Fixed challenge winner selection

* Fixed deleting challenge tasks

* Fixed particiapting filter

* v3 client: fix casting spells

* v3: do not log sensitive data

* v3: always save user when casting spell

* v3: always save user when casting spell

* v3: more fixes for spells

* fix typos and missing information in apidocs - fixes https://github.com/HabitRPG/habitrpg/issues/7277 (#7282)

* v3: add TODO for client side spells

* feat: Add modify inventory debug menu

* Fixed viewing user progress on challenge

* Updated tests

* fix: Fix quest progress button

* fix incorrect Armoire test; remove unneeded param details from apidocs; disambiguate health potion

* v3: fix stealth casting

* v3: fix tasks saving and selection for rebirth reroll and reset (server-only)

* v3: fix auto allocation

* v3 client: misc fixes

* rename buyPotion and buy-potion to buyHealthPotion and buy-health-potion; fix apidoc param error

* Added delete for saved challenge task

* Fixed member modal on front page

* adjust text in apidocs for errors / clarity / consistency / standard terminology (no code changes) (#7298)

* fix bug in Rebirth test, add new tests, adjust apidocs (#7293)

* Updated task model to allow setting streak (#7306)

* fix: Correct missing * in apidoc comments

* Api v3 challenge fixes (#7287)

* Fixed join/leave button updates

* Queried only user groups to be available when creating challenges

* Fixed bulk add tasks to challenge

* Synced challenge tasks after leave and join.

* Fixed default selected group

* Fixed challenge member info. Fixed challenge winner selection

* Fixed deleting challenge tasks

* Fixed particiapting filter

* Fixed viewing user progress on challenge

* Updated tests

* Added delete for saved challenge task

* v3: fix sorting

* [API v3] add CRON_SAFE_MODE (#7286)

* add CRON_SAFE_MODE to example config file, fix some bugs, add an unrelated low-priority TODO

* create CRON_SAFE_MODE to disable parts of cron for use after extended outage - fixes https://github.com/HabitRPG/habitrpg/issues/7161

* fix a bug with CRON_SAFE_MODE, remove duplicated code, remove completed TODO comment

* fix check for CRON_SAFE_MODE

* v3 client: fix typo

* adjust debug menu Modify Inventory: hungrier pets, fewer Special items, "Hide" buttons

* completed To-Dos: return the 30 most recent instead of 30 oldest (#7318)

* v3 migration: fix createdAt date

* adjust locales text, key names, and files for Rebirth, Reset, and Fortify / ReRoll for consistency with existing strings (#7321)

* v3: fix unlinking multiple tasks

* v3 fix releasing pets

* v3: fix authenticating with apiUrl

* v3: fix typo

* v3 fix client tests for unlinking

* v3 client: do not show start quest button when quest is active

* v3 client: fix ability to send cards

* v3 client: fix misc challenge issues

* v3: fix notifications

* v3 client: more user friendly errors

* v3 client: only load completed todos once

* v3 client: fix tests

* v3: move TAVERN_ID to common code

* fix: Provide default type and text for new task creation in score route

* fix: Provide default history [] for habit in score route

* fix: Add _legacyId prop to tasks to support non-uuid identifiers

* chore: Change v3 migration to use _legacyId instead of legacyId

* fix: check for _legacyId in tasks if id does not exist

* refactor: Extract out finding task by id or _legacyId into a function

* Api v3 party quest fixes (#7341)

* Fix display of add challenge message when group challenges are empty

* Fixed forced quest start to update quest without reload

* Fixed needing to reload when accepting party invite

* Fix group leave and join reload

* Fixed leave current party and join another

* Updated party tests

* v3 client: remove console.log statement

* v3: misc fixes

* v3 client: fix predicatbale random

* v3: info about API v3

* v3: update footer with links to developer resources

* v3: support party invitation from email

* v3 client: fix chat flagging

* fix: Correct get tasks route to properly get todos (#7349)

* move locales strings from api-v3.json to other locales files (#7347)

* move locales strings from api-v3.json: authentication strings -> front.json

* move locales strings from api-v3.json: authentication strings -> tasks.json

* move locales strings from api-v3.json: authentication strings -> groups.json

* move locales strings from api-v3.json: authentication strings -> challenge.json

* move locales strings from api-v3.json: authentication strings -> groups.json (again)

* move locales strings from api-v3.json: authentication strings -> quests.json

* move locales strings from api-v3.json: authentication strings -> subscriber.json

* move locales strings from api-v3.json: authentication strings -> spells.json

* move locales strings from api-v3.json: authentication strings -> character.json

* move locales strings from api-v3.json: authentication strings -> groups.json (PMs)

* move locales strings from api-v3.json: authentication strings -> npc.json

* move locales strings from api-v3.json: authentication strings -> pets.json

* move locales strings from api-v3.json: authentication strings -> miscellaneous

* move locales strings from api-v3.json: authentication strings -> contrib.json and settings.json

* move locales strings from api-v3.json: delete unused string (invalidTasksOwner), delete api-v3.json, whitespace cleanup

* v3 client: fix sticky header

* v3: remove unused code

* v3 client: correctly redirect after inviting

* Removed v2 calls from views (#7351)

* v3: fix tests for challenge export

* v3: fallbackto authWithHeaders if wuthWithSession or authWithUrl fails

* Added force cache update when fetching new messages (#7360)

* v3: fetch whole user when booting from group tto avoid issues with pre save hook expecting all data

* v3: misc fixes for payments

* v3: limit fields of challenge tasks that can be updated

* fix(tests): never connect to NODE_DB_URI for tests

* Added new route for setting last cron and updated front end

* v3: fix iap url

* v3: fix build and ios IAP

* Changed route to user set custom day start

* v3: iap accessible under /api/v3, fixes to spells and groups invitations

* v3: correctly use v3 routes in client

* remove XP, GP when unticking a Daily with a completed checklist - fixes https://github.com/HabitRPG/habitrpg/issues/7246

* use natural language for error message about skills on challenge tasks (#7336), fix other gramatical error

* Updated ui when user rejects a guild invite (#7368)

* feat: complete custom day start route

Closes #7363

* fix: Correct spelling of healAll skill

fix: Correct sprite name of healAll skill

* fix: Change all instances of spookDust -> spookySparkles

* add dateCreated to all tasks; add empty challenge object to tasks that don't have one (#7386)

* add plumilla to artists for Tangle Tree in Bailey message

* Fixed quest drop modal (#7377)

* Fixed quest drop modal

* Fixed broken party test

* [API v3] Maintenance Mode (#7367)

* WIP(maintenance): maintenance

* WIP(maintenance): working locale features

* fix(maintenance): don't translate info page target

* WIP(maintenance): start adding info page

* fix(maintenance): linting

* feat: Add container to maintenance info page

* fix(maintenance): add config.json edits
Also DRY variables for main vs info pages

* fix(maintenance): linting

* refactor(maintenance): further slim down variables

* refactor: Remove unnecessary variables

* fix: Correct string interpolation in maintenace view

* feat: Dynamically add time to maintenance pages

* maintenance mode: do not connect to mongodb

* fix(maintenance): clean up timezones etc.

* fix(maintenance): remove unneeded sprite

* Tavern party challenges invites fix (#7394)

* Added challenges and invitations to party

* Loaded tavern challenges

* Updated group and quest services tests

* v3: implement automatic syncing if user is not up to date

* Removed unnecessary fields when updating groups and challenges (#7395)

* v3: do not saved populated user

* v3: correctly return user subset

* Chained party promises together (#7396)

* v3: $w -> splitWhitespace

* use bluebird

* use babel polyfill

* migration: fix items

* update links for v3

* Updated shortname validation to support multiple browsers

* Docs changes (#7401)

* chore: Clarify transfer-gems documentation

* chore: Clarify api status route documentation

* chore: Mark webhooks as BETA

* Added tags update route. Added sort to user service (#7381)

* Added tags update route. Added sort to user service

* Change update tasks route to reorder tasks

* Fixed linting issue

* Changed params for reorder tags route

* Fixed not found tag and added test

* Added password confirmation when deleteing account (#7402)

* fix production logging

* feat(commit): push

* empty commit

* feat(maintenance): post-downtime news & awards (#7406)

* fix exporting avatar

* second attempt at fixing exporting avatar

* fix production logging

* s3: convert moment to date instance

* fix avatar sharing and caching (30 minutes)

* fix: Correct missing parameter

Closes #7433

* fix: Validate challenge shortname on server

* adjust text strings - fixes https://github.com/HabitRPG/habitrpg/issues/5631 and also Short Name -> Tag Name
2016-05-23 13:58:31 +02:00
Sabe Jones
7f11e766c3 Sabrecat/glasses chairs (#7182)
* feat(customization): new chairs, eyeglass sprites

* feat(avatar): finish glasses implementation

* fix(test): include glasses in base equipment
2016-05-10 16:07:46 -05:00
Blade Barringer
10936d9a4d chore: Switch to custom eslint-config 2016-04-15 09:03:59 -05:00
Blade Barringer
f33469609c Adjust sprite task to not include wheelchair images in the customize-option handling 2016-03-24 07:57:50 -05:00
Blade Barringer
17d2efb822 refactor: Organize protractor setup 2016-03-13 16:41:57 -05:00
Blade Barringer
0b65292e4b test: Update protractor to v3 and use mocha 2016-03-13 09:51:01 -05:00
Matteo Pagliazzi
bb6f0f4252 split user.fns 2016-03-08 18:58:39 +01:00
Blade Barringer
511b003ec5 Merge pull request #6811 from crookedneighbor/upgrade_babel
chore: upgrade babel to v6
2016-03-04 08:36:08 -06:00
Blade Barringer
9447a6ce10 feat: pre-compile babel when used in production 2016-03-04 07:44:22 -06:00
Blade Barringer
b61cfefc30 fix: fix issue where build would fail but exit as if oy passed 2016-03-03 21:05:06 -06:00
Blade Barringer
0406142e0e chore: upgrade babel to v6 2016-03-02 21:36:27 -06:00
Blade Barringer
c96ddaeebe refactor: Remove unused common script src files 2016-03-01 08:49:25 -06:00
Matt Harrington
46e13fecad TEST_DB_URI env override 2016-02-25 00:08:24 +00:00
Alys
f631712a45 deemphasise the warning that spritesheets might be too large for mobile safari - ref https://github.com/HabitRPG/habitrpg/pull/6683#issuecomment-185462180 2016-02-18 18:52:09 +10:00
Kristian Tashkov
5b740b1a11 Fix setting of environment variables in gulp test tasks in Windows
See this stackoverflow link for why this is necessary
http://stackoverflow.com/questions/27084392/code-coverage-for-mocha-in-windows-7/27193866#27193866
2016-01-18 16:55:15 -06:00
Blade Barringer
79f2dc6b1a tests: Update gulp task to use npm scripts 2016-01-18 11:10:22 -06:00
Blade Barringer
8a19a84f3f lint(tests): Add e2e tests to linter 2016-01-06 20:52:24 -06:00
Blade Barringer
262d04e14c lint(tests): Re-enable inting for api tests 2016-01-02 18:27:27 -06:00
Blade Barringer
0d75d5b541 lint: Move test eslint rules to .eslintrc in test directory 2015-12-31 15:46:47 -06:00
Blade Barringer
b3050e5a67 chore(dependency): Upgrade lodash from v2 to v3 2015-12-29 07:45:03 -06:00
Blade Barringer
e5c9924141 lint: Ignore rule for one-var in tests 2015-12-26 08:13:45 -06:00
Blade Barringer
9a76e7a62c chore(gulp): Add convience task for starting up a test server. 2015-11-21 09:33:29 -06:00
Blade Barringer
a6fb5790e5 refactor(gulp): Dry out linting task 2015-11-20 07:56:59 -06:00
Blade Barringer
776faddb34 (chore): lint test/common files 2015-11-19 20:27:39 -06:00
Blade Barringer
5947dcf68b (chore): Add lint:watch task 2015-11-18 17:23:33 -06:00
Blade Barringer
22c8a24d15 Move test specific eslint rules to eslint task 2015-11-18 08:50:03 -06:00
Blade Barringer
553548046f Add linting for tests 2015-11-17 23:14:49 -06:00
Blade Barringer
8f9224c2ae Adjust error handling for test task. 2015-11-16 12:23:09 -06:00
Blade Barringer
7a865b5c2a Correct test output agregator 2015-11-16 12:04:09 -06:00
Blade Barringer
a127bb8711 Switch to babel-core form babel.
Babel includes the CLI, which we don't need.
2015-11-15 08:59:57 -06:00
Blade Barringer
2e16bade2b Add lint task to test command. 2015-11-15 08:28:16 -06:00
Blade Barringer
5be9b88cc6 Add babel compiler to mocha.opts 2015-11-15 08:24:19 -06:00
Blade Barringer
6f11054994 Add trailing comma 2015-11-15 08:10:54 -06:00
Blade Barringer
351172d178 Correct common test command to compile with babel. 2015-11-14 21:52:59 -06:00
Blade Barringer
c3b4f03c35 Add linting for common files 2015-11-14 07:49:48 -06:00
Blade Barringer
7ec9687774 Add linting from api-v3 2015-11-14 07:40:05 -06:00
Blade Barringer
7559f14f4d Remove coffee from files 2015-11-11 20:40:26 -06:00
Blade Barringer
25ae2e4252 Move browserify task to gulp 2015-11-11 20:32:17 -06:00
Blade Barringer
6b7a757459 Run tests in sequence 2015-11-09 12:47:56 -06:00
Blade Barringer
88f8a2a375 Swap out gulp-clean for rimraf 2015-11-07 19:09:51 -06:00
Blade Barringer
6ed3ba36ae Refactor task helper for unit and integration tests. 2015-11-03 21:21:16 -06:00
Blade Barringer
0923077f2f Correct task. 2015-11-03 08:49:10 -06:00
Blade Barringer
b71f1f7862 Extract mocha function into taskHelper 2015-11-03 08:41:16 -06:00
Blade Barringer
8c95de0835 Move api tests to v2 namespace 2015-11-03 08:31:20 -06:00
Matteo Pagliazzi
ed0e4c6d20 Reorganize files under /src, separate express app in two apps, one for api v1 and v2 and the other \
for the upcoming api v3

Reorganize files under /src, separate express app in two apps, one for api v1 and v2 and the other for the upcoming api v3

move api v2 routes in a separate folder, rename apiv1 file for better readability, remove auth routes for api v1

move api-v2 controllers in subdirectory

move unorganized files to /libs

fix gulp requires and separate server in old (api v1 and v2) and new (api v3) app

fix require paths

fix require paths

fix require paths

put api v1 back

Reorganize files under /src and separate express app in one for api v1 and v2 and the other for v3
2015-11-02 17:43:32 +01:00
Blade Barringer
f13641b6a9 Add NODE_ENV to test server startup 2015-10-27 08:00:33 -05:00
Blade Barringer
829b1253fb Revert nodemon change for tests and log errors if they arise 2015-10-25 11:10:10 -05:00
Blade Barringer
7fe2a19bc5 Adjust start server task to use nodemon to recover from syntax errors 2015-10-25 09:54:09 -05:00
Blade Barringer
45afc9f3fb Only start up server in tests if it is not already running. 2015-10-25 09:19:42 -05:00
Blade Barringer
e456bdb2ae Revert npm bin command 2015-10-23 17:35:45 -05:00