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:
Alys
2016-05-14 05:58:40 -04:00
parent 4dd7c29baf
commit 2e078f4776
5 changed files with 11 additions and 8 deletions

View File

@@ -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",

View File

@@ -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'),
});
});

View File

@@ -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();

View File

@@ -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,

View File

@@ -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;