Aleksandr Saitgalin 1823f658c6 update user and group in a transaction when creating a group. fixes #12124 (#13730)
* fix #12124

add a transaction for updating user and group
so the user doesn't lose gems when saving the group fails

* use mongoose transaction helper

use the helper instead of manually commiting/aborting
to deal with transient transaction errors

* increase timeout and add console.log outputs

add some logging to a failing test

* Revert "increase timeout and add console.log outputs"

This reverts commit 0c36aaa55f.

* add a test for gems when guild creation fails

test the transaction in createGroup()
make sure user keeps the gems if group.save() rejects

* fix(test): try suggested delay from PR discussion

Co-authored-by: SabreCat <sabe@habitica.com>
2022-04-29 16:47:17 -05:00
2017-10-12 16:44:28 +02:00
2021-10-05 15:02:37 -04:00
2022-04-28 15:54:09 -04:00
2022-03-14 15:06:57 -05:00
2019-10-02 20:09:26 +02:00
2020-11-30 20:02:06 +01:00
2016-09-07 08:44:57 -05:00
2019-10-08 22:57:22 +02:00
2020-04-08 18:44:30 +02:00
2020-11-30 20:02:06 +01:00
2019-10-18 16:52:21 +02:00
2020-05-05 20:31:33 +02:00
2020-04-28 09:17:46 +05:30
2016-05-23 13:58:31 +02:00

Habitica Build Status Code Climate Bountysource

Habitica is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.

We need more programmers! Your assistance will be greatly appreciated. The wiki pages below and the additional pages they link to will tell you how to get started on contributing code and where you can go to seek further help or ask questions:

Habitica's code is licensed as described at https://github.com/HabitRPG/habitica/blob/develop/LICENSE

Found a bug? Please report it to admin email rather than creating an issue (an admin will advise you if a new issue is necessary; usually it is not).

Have any questions about Habitica or its community? See the links in the habitica.com website's Help menu or drop in to Guilds > Tavern Chat to ask questions or chat socially!

S
Description
A habit tracker app which treats your goals like a Role Playing Game.
Readme 1.9 GiB
Languages
JavaScript 51.7%
Vue 23.8%
CSS 23.7%
SCSS 0.7%