From 63cb4b45d7fc648755e6eb53d7abb9dc5e7b4ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aaron=20D=C3=B6tsch?= <aaron@fsmpi.rwth-aachen.de> Date: Mon, 6 Mar 2023 15:30:43 +0100 Subject: [PATCH] Add used card to money transfers --- .../20230306141823_add_card_to_transfer/migration.sql | 2 ++ prisma/schema.prisma | 1 + src/routes/api/[slug]/+server.js | 2 +- src/routes/api/transactions.js | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 prisma/migrations/20230306141823_add_card_to_transfer/migration.sql diff --git a/prisma/migrations/20230306141823_add_card_to_transfer/migration.sql b/prisma/migrations/20230306141823_add_card_to_transfer/migration.sql new file mode 100644 index 0000000..e3f3acc --- /dev/null +++ b/prisma/migrations/20230306141823_add_card_to_transfer/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "MoneyTransfer" ADD COLUMN "card" TEXT NOT NULL DEFAULT ''; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 576094a..a246311 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -97,4 +97,5 @@ model MoneyTransfer { fromId Int to User @relation("to", fields: [toId], references: [id]) toId Int + card String @default("") } diff --git a/src/routes/api/[slug]/+server.js b/src/routes/api/[slug]/+server.js index cfdcbe6..dffff53 100644 --- a/src/routes/api/[slug]/+server.js +++ b/src/routes/api/[slug]/+server.js @@ -44,7 +44,7 @@ export async function POST(event) { 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); if(!target) return new Response(JSON.stringify({message: "Target not found"}), {headers: {'content-type': 'application/json', 'status': 404}}); - const { from } = await transferMoney(user.id, target.id, data.amount); + const { from } = await transferMoney(user.id, data.card, target.id, data.amount); // 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){ diff --git a/src/routes/api/transactions.js b/src/routes/api/transactions.js index ee1d042..cf729b2 100644 --- a/src/routes/api/transactions.js +++ b/src/routes/api/transactions.js @@ -29,7 +29,7 @@ export async function buyArticles(userId, card, items, noBalance=false) { return { user, itemTransactions }; } -export async function transferMoney(fromId, toId, amount){ +export async function transferMoney(fromId, card, toId, amount){ const [to, from] = await db.$transaction([ db.user.update({ where: { id: toId }, @@ -40,6 +40,7 @@ export async function transferMoney(fromId, toId, amount){ moneyTransfersReceived: { create: { amount, + card, from: { connect: { id: fromId } } } } -- GitLab