diff --git a/backend-services/friend-service/src/Routes/FriendsRouter.ts b/backend-services/friend-service/src/Routes/FriendsRouter.ts new file mode 100644 index 0000000000000000000000000000000000000000..771e8e3b75e586e2c314334ec6a5ae1bb1ea7421 --- /dev/null +++ b/backend-services/friend-service/src/Routes/FriendsRouter.ts @@ -0,0 +1,38 @@ +import express, { Response } from 'express' +import { FriendManager } from '../Friends/FriendManager' +import { CustomJWTRequest } from '../Middleware/Auth' + +export const FriendsRouter = express.Router() +const friendManager = new FriendManager(); + +/** + * GET '/' + * Returns a string + */ +FriendsRouter.get('/', async (req:CustomJWTRequest, res:Response): Promise<void> => { + const {token} = req + return friendManager.GetFriendIds(token as string).then(result => { + res.status(200).json({result: result}); + }).catch((error: Error) => { + res.status(400).json({error: error}) + }); +}); + +/** + * Delete '/' + * Returns a string + */ + FriendsRouter.delete('/', async (req:CustomJWTRequest, res:Response): Promise<Response> => { + const {user_id, friend_id} = req.body + const {token} = req + + if(token !== user_id){ + return res.status(400).json({error: 'unauthorised'}) + } + + return friendManager.RemoveFriend(user_id, friend_id).then(result => { + return res.sendStatus(200); + }).catch((error: Error) => { + return res.status(400).json({error: error}) + }); +}); \ No newline at end of file