diff --git a/src/routes/api/[slug]/+server.js b/src/routes/api/[slug]/+server.js index 2aea31c697627371788975ddf118289d6b4e4010..a7dcebbc28ca9c89057cb636a9fcc24d74b1f8be 100644 --- a/src/routes/api/[slug]/+server.js +++ b/src/routes/api/[slug]/+server.js @@ -62,9 +62,12 @@ export async function POST(event) { const user = event.locals.user; if(user.id == data.target) return new Response(JSON.stringify({message: "Can't transfer to yourself"}), {headers: {'content-type': 'application/json', 'status': 400}}); if(user.balance < data.amount) return new Response(JSON.stringify({message: "Not enough balance"}), {headers: {'content-type': 'application/json', 'status': 400}}); - const target = await getUserById(data.target); + const target = await getUserById(data.target, false, true); if(!target) return new Response(JSON.stringify({message: "Target not found"}), {headers: {'content-type': 'application/json', 'status': 404}}); const { from } = await transferMoney(user.id, user.card, target.id, data.amount); + // no need to await + sendNotification(user, NotificationType.SEND_TRANSFER, {amount: data.amount, balanceBefore: user.balance, balanceAfter: user.balance - data.amount, receiver: {name: target.name, id: target.id}}); + sendNotification(target, NotificationType.RECEIVE_TRANSFER, {amount: data.amount, balanceBefore: target.balance, balanceAfter: target.balance + data.amount, sender: {name: user.name, id: user.id}}); // don't return the to-user, because it contains the target's information return new Response(JSON.stringify(from), {headers: {'content-type': 'application/json', 'status': 200}}); }catch(e){