From d0a94e8b4982ed8937defaea1939b71805214ffe Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Wed, 16 Apr 2025 21:13:34 +0530 Subject: Returning the friend object upon new friendship --- package.json | 2 +- src/controller/friend.ts | 16 +++++++++++++--- src/service/friend.ts | 7 +++++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index fc5203c..8112ccf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "financer", - "version": "0.1.1", + "version": "0.2.0", "description": "Pocket Money Tracker", "main": "dist/index.js", "scripts": { diff --git a/src/controller/friend.ts b/src/controller/friend.ts index a73d3d1..f528858 100644 --- a/src/controller/friend.ts +++ b/src/controller/friend.ts @@ -19,6 +19,7 @@ import { Request, Response } from "express"; import { getFriendToken } from "../util/auth"; import { friend, unfriend, list } from "../service/friend"; import jwt from "jsonwebtoken"; +import {readById} from "../service/user"; const friendRequest = async (req: Request, res: Response) => { try { @@ -55,12 +56,21 @@ const addFriend = async (req: Request, res: Response) => { } else { try { // @ts-ignore - const _ = await friend(claims.userId, req.userId); - res.status(200).json({ message: "success" }); + const f = await friend(claims.userId, req.userId); + // @ts-ignore + delete f["password"]; + // @ts-ignore + delete f["refreshTokenVersion"]; + // @ts-ignore + delete f["createdAt"]; + // @ts-ignore + delete f["updatedAt"]; + + res.status(200).json({ friend: f }); } catch (error) { // @ts-ignore if (error.code == "P2002") { - res.status(409).json({ error: "Already friends" }); + res.status(409).json({error: "Already friends"}); } else { res.status(500).json({ error: "Internal Server Error" }); console.error(error); diff --git a/src/service/friend.ts b/src/service/friend.ts index 6986858..8b5ab38 100644 --- a/src/service/friend.ts +++ b/src/service/friend.ts @@ -16,10 +16,11 @@ */ import prisma from "../util/prisma"; +import { readById } from "./user"; const friend = async (userId: Number, friendId: Number) => { - // will return error P2002 if already friends - return prisma.friend.createMany({ + // will throw error P2002 if already friends + await prisma.friend.createMany({ data: [ // @ts-ignore { userId: userId, friendId: friendId }, @@ -28,6 +29,8 @@ const friend = async (userId: Number, friendId: Number) => { { userId: friendId, friendId: userId } ] }) + + return readById(userId); } const unfriend = async (userId: Number, friendId: Number) => { -- cgit v1.2.3