mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
allows players to send gems to each other; other minor related changes - fixes https://github.com/HabitRPG/habitrpg/issues/7227
This commit is contained in:
@@ -124,13 +124,14 @@
|
||||
"invalidTypeEquip": "\"type\" must be one of 'equipped', 'pet', 'mount', 'costume'.",
|
||||
"cannotDeleteActiveAccount": "You have an active subscription, cancel your plan before deleting your account.",
|
||||
"messageRequired": "A message is required.",
|
||||
"toUserIDRequired": "A toUserId is required",
|
||||
"toUserIDRequired": "A User ID is required",
|
||||
"gemAmountRequired": "A number of gems is required",
|
||||
"notAuthorizedToSendMessageToThisUser": "Can't send message to this user.",
|
||||
"privateMessageGiftIntro": "Hello <%= receiverName %>, <%= senderName %> has sent you ",
|
||||
"privateMessageGiftGemsMessage": "<%= gemAmount %> gems! ",
|
||||
"privateMessageGiftSubscriptionMessage": "<%= numberOfMonths %> months of subscription! ",
|
||||
"cannotSendGemsToYourself": "Cannot send gems to yourself. Try a subscription instead.",
|
||||
"notEnoughGemsToSend": "Amount must be within 0 and your current number of gems.",
|
||||
"badAmountOfGemsToSend": "Amount must be within 1 and your current number of gems.",
|
||||
"mustPurchaseToSet": "Must purchase <%= val %> to set it on <%= key %>.",
|
||||
"typeRequired": "Type is required",
|
||||
"keyRequired": "Key is required",
|
||||
|
||||
@@ -79,7 +79,7 @@ describe('POST /members/transfer-gems', () => {
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('notEnoughGemsToSend'),
|
||||
message: t('badAmountOfGemsToSend'),
|
||||
});
|
||||
});
|
||||
|
||||
@@ -92,7 +92,7 @@ describe('POST /members/transfer-gems', () => {
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('notEnoughGemsToSend'),
|
||||
message: t('badAmountOfGemsToSend'),
|
||||
});
|
||||
});
|
||||
|
||||
@@ -105,7 +105,7 @@ describe('POST /members/transfer-gems', () => {
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('notEnoughGemsToSend'),
|
||||
message: t('badAmountOfGemsToSend'),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ habitrpg
|
||||
};
|
||||
|
||||
$scope.sendGift = function (uuid, gift) {
|
||||
Members.transferGems(message, uuid, $scope.gift.gems.amount)
|
||||
Members.transferGems($scope.gift.message, uuid, $scope.gift.gems.amount)
|
||||
.then(function (response) {
|
||||
Notification.text('Gift sent!')
|
||||
$rootScope.User.sync();
|
||||
|
||||
@@ -63,7 +63,7 @@ angular.module('habitrpg')
|
||||
function transferGems (message, toUserId, gemAmount) {
|
||||
return $http({
|
||||
method: 'POST',
|
||||
url: apiV3Prefix + '/members/send-private-message',
|
||||
url: apiV3Prefix + '/members/transfer-gems',
|
||||
data: {
|
||||
message: message,
|
||||
toUserId: toUserId,
|
||||
|
||||
@@ -297,6 +297,7 @@ api.sendPrivateMessage = {
|
||||
*
|
||||
* @apiParam {String} message Body parameter The message
|
||||
* @apiParam {UUID} toUserId Body parameter The toUser _id
|
||||
* @apiParam {Integer} gemAmount Body parameter The number of gems to send
|
||||
*
|
||||
* @apiSuccess {Object} data An empty Object
|
||||
*/
|
||||
@@ -307,6 +308,7 @@ api.transferGems = {
|
||||
async handler (req, res) {
|
||||
req.checkBody('message', res.t('messageRequired')).notEmpty();
|
||||
req.checkBody('toUserId', res.t('toUserIDRequired')).notEmpty().isUUID();
|
||||
req.checkBody('gemAmount', res.t('gemAmountRequired')).notEmpty().isInt();
|
||||
|
||||
let validationErrors = req.validationErrors();
|
||||
if (validationErrors) throw validationErrors;
|
||||
@@ -324,7 +326,7 @@ api.transferGems = {
|
||||
let amount = gemAmount / 4;
|
||||
|
||||
if (!amount || amount <= 0 || sender.balance < amount) {
|
||||
throw new NotAuthorized(res.t('notEnoughGemsToSend'));
|
||||
throw new NotAuthorized(res.t('badAmountOfGemsToSend'));
|
||||
}
|
||||
|
||||
receiver.balance += amount;
|
||||
|
||||
Reference in New Issue
Block a user