From 0a279af852d10ca15fcb710c7319328d2edf2aa5 Mon Sep 17 00:00:00 2001
From: "j.krol"
Date: Sat, 25 Nov 2023 18:26:59 +0100
Subject: [PATCH] Format code with prettier
---
.github/workflows/docker.yml | 50 ++++++------
backend/src/data/users.ts | 2 +-
backend/src/dtos/createMeeting.ts | 6 +-
backend/src/httpServer.ts | 85 ++++++++++++---------
backend/src/index.ts | 2 +-
backend/src/misc/jwt.ts | 7 +-
backend/src/models/User.ts | 2 +-
backend/src/server.ts | 22 +++---
backend/src/socketServer.ts | 19 +++--
compose.yml | 2 +-
frontend/src/components/ProfilePageForm.tsx | 14 +++-
frontend/src/pages/ProfilePage.tsx | 8 +-
frontend/src/services/data.ts | 20 +++--
frontend/src/services/meeting.ts | 40 +++++-----
frontend/src/webSocket/socketConnection.ts | 26 +++----
package-lock.json | 1 -
16 files changed, 165 insertions(+), 141 deletions(-)
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index d458be64..ba78fc28 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -14,30 +14,30 @@ jobs:
contents: write
steps:
- - uses: actions/checkout@v3
- with:
+ - uses: actions/checkout@v3
+ with:
ref: ${{ github.ref }}
- - uses: isbang/compose-action@v1.5.1
- with:
- compose-file: "compose.yml"
-
- - name: Wait for containers to start
- run: |
- sleep 18
- docker run \
- --rm \
- --network mercury-project_default \
- alpine/curl -o /dev/null --retry 3 --retry-connrefused backend:5000
-
- - name: Test the backend
- run: cd backend; npm i && npm run test run
-
- - name: Format files
- run: cd ..; npm i && npm run prettier:fix
-
- - name: Commit changes
- uses: stefanzweifel/git-auto-commit-action@v4
- with:
- commit_message: Apply formatting changes
- branch: ${{ github.head_ref }}
+ - uses: isbang/compose-action@v1.5.1
+ with:
+ compose-file: "compose.yml"
+
+ - name: Wait for containers to start
+ run: |
+ sleep 18
+ docker run \
+ --rm \
+ --network mercury-project_default \
+ alpine/curl -o /dev/null --retry 3 --retry-connrefused backend:5000
+
+ - name: Test the backend
+ run: cd backend; npm i && npm run test run
+
+ - name: Format files
+ run: cd ..; npm i && npm run prettier:fix
+
+ - name: Commit changes
+ uses: stefanzweifel/git-auto-commit-action@v4
+ with:
+ commit_message: Apply formatting changes
+ branch: ${{ github.head_ref }}
diff --git a/backend/src/data/users.ts b/backend/src/data/users.ts
index 27e42688..ed939a6d 100644
--- a/backend/src/data/users.ts
+++ b/backend/src/data/users.ts
@@ -83,4 +83,4 @@ const userData = [
},
];
-export default userData;
\ No newline at end of file
+export default userData;
diff --git a/backend/src/dtos/createMeeting.ts b/backend/src/dtos/createMeeting.ts
index 4e5c33e9..a4976161 100644
--- a/backend/src/dtos/createMeeting.ts
+++ b/backend/src/dtos/createMeeting.ts
@@ -1,4 +1,4 @@
export default interface CreateMeetingDto {
- ownerId: string;
- guestId: string;
-}
\ No newline at end of file
+ ownerId: string;
+ guestId: string;
+}
diff --git a/backend/src/httpServer.ts b/backend/src/httpServer.ts
index 63d4ac10..0b13f724 100644
--- a/backend/src/httpServer.ts
+++ b/backend/src/httpServer.ts
@@ -1,5 +1,5 @@
import { sign, verify } from "jsonwebtoken";
-import {v4} from "uuid";
+import { v4 } from "uuid";
import dotenv from "dotenv";
import servers from "./server";
import driver from "./driver/driver";
@@ -8,7 +8,7 @@ import authRouter from "./routes/authRoute";
import importInitialData from "./data/importData";
import CreateMeetingDto from "./dtos/createMeeting";
-const {app} = servers;
+const { app } = servers;
dotenv.config();
const linkSecret = process.env.LINK_SECRET;
@@ -19,52 +19,65 @@ app.use("/users", usersRouter);
app.use("/auth", authRouter);
app.post("/meeting", async (req, res) => {
- try {
- const {ownerId, guestId} = req.body as CreateMeetingDto;
- const meetingId = v4();
- const session = driver.session();
- const newMeetingRequest = await session.run(`
+ try {
+ const { ownerId, guestId } = req.body as CreateMeetingDto;
+ const meetingId = v4();
+ const session = driver.session();
+ const newMeetingRequest = await session.run(
+ `
MATCH (u1:User) WHERE u1.id=$ownerId
MATCH (u2:User) WHERE u2.id=$guestId
MATCH (u1)-[:IS_FRIENDS_WITH]-(u2)
WHERE NOT (u1)-[:MEETING]-(u2)
CREATE (u1)-[m:MEETING {meetingId: $meetingId}]->(u2)
RETURN m
- `, {ownerId, guestId, meetingId});
- await session.close();
- if (newMeetingRequest.records.length === 0) {
- return res.status(404).json({ status: "error", errors: {message: "Cannot create new meeting"} });
- }
- const token = sign({ownerId, guestId, meetingId}, linkSecret!);
- return res.json({token});
- } catch (err) {
- console.log("Error:", err);
- return res.status(404).json({ status: "error", errors: err as object });
+ `,
+ { ownerId, guestId, meetingId },
+ );
+ await session.close();
+ if (newMeetingRequest.records.length === 0) {
+ return res
+ .status(404)
+ .json({
+ status: "error",
+ errors: { message: "Cannot create new meeting" },
+ });
}
+ const token = sign({ ownerId, guestId, meetingId }, linkSecret!);
+ return res.json({ token });
+ } catch (err) {
+ console.log("Error:", err);
+ return res.status(404).json({ status: "error", errors: err as object });
+ }
});
app.post("/decode", (req, res) => {
- const {token} = req.body as {token: string};
- const decodedData = verify(token, linkSecret!);
- return res.json({decodedData});
+ const { token } = req.body as { token: string };
+ const decodedData = verify(token, linkSecret!);
+ return res.json({ decodedData });
});
app.get("/guest-token/:guestId", async (req, res) => {
- try {
- const guestId = req.params.guestId;
- const session = driver.session();
- const guestRequest = await session.run(`
+ try {
+ const guestId = req.params.guestId;
+ const session = driver.session();
+ const guestRequest = await session.run(
+ `
MATCH (u:User) WHERE u.id=$guestId RETURN u
- `,{guestId});
- await session.close();
- if (guestRequest.records.length === 0) {
- return res.status(404).json({ status: "error", errors: {message: "User does not exist"} });
- }
- const guest = guestRequest.records[0].get(0).properties;
- const token = sign(guest, linkSecret!);
- return res.json({token});
- } catch (err) {
- console.log("Error:", err);
- return res.status(404).json({ status: "error", errors: err as object });
+ `,
+ { guestId },
+ );
+ await session.close();
+ if (guestRequest.records.length === 0) {
+ return res
+ .status(404)
+ .json({ status: "error", errors: { message: "User does not exist" } });
}
-});
\ No newline at end of file
+ const guest = guestRequest.records[0].get(0).properties;
+ const token = sign(guest, linkSecret!);
+ return res.json({ token });
+ } catch (err) {
+ console.log("Error:", err);
+ return res.status(404).json({ status: "error", errors: err as object });
+ }
+});
diff --git a/backend/src/index.ts b/backend/src/index.ts
index 05d5d5bd..1185fadc 100644
--- a/backend/src/index.ts
+++ b/backend/src/index.ts
@@ -1,2 +1,2 @@
import "./httpServer";
-import "./socketServer";
\ No newline at end of file
+import "./socketServer";
diff --git a/backend/src/misc/jwt.ts b/backend/src/misc/jwt.ts
index 7da3d935..6cec57db 100644
--- a/backend/src/misc/jwt.ts
+++ b/backend/src/misc/jwt.ts
@@ -36,11 +36,14 @@ export async function authenticateToken(
}
}
-export async function decodeSocketData(handshakeData: string, linkSecret:string) {
+export async function decodeSocketData(
+ handshakeData: string,
+ linkSecret: string,
+) {
try {
const decodedData = jwt.verify(handshakeData, linkSecret);
return decodedData;
} catch (_e) {
return null;
}
-}
\ No newline at end of file
+}
diff --git a/backend/src/models/User.ts b/backend/src/models/User.ts
index a9c2ae22..2dd85c96 100644
--- a/backend/src/models/User.ts
+++ b/backend/src/models/User.ts
@@ -9,4 +9,4 @@ export default interface User {
password: string;
friend_ids?: number[];
chats?: Chat[];
-}
\ No newline at end of file
+}
diff --git a/backend/src/server.ts b/backend/src/server.ts
index 91a342ac..6ac5a0de 100644
--- a/backend/src/server.ts
+++ b/backend/src/server.ts
@@ -1,4 +1,4 @@
-import express, {Express} from "express";
+import express, { Express } from "express";
import dotenv from "dotenv";
import cors from "cors";
import { Server as SocketServer } from "socket.io";
@@ -8,8 +8,8 @@ import cookieParser from "cookie-parser";
dotenv.config();
const corsOptions = {
- origin: ["http://localhost:5000", "http://localhost:5173"],
- optionsSuccessStatus: 200,
+ origin: ["http://localhost:5000", "http://localhost:5173"],
+ optionsSuccessStatus: 200,
};
const app: Express = express();
@@ -17,16 +17,20 @@ const port: number = 5000;
app.use(cors(corsOptions));
app.use((_req, res, next) => {
- res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE");
- res.header("Access-Control-Allow-Headers", "Content-Type");
- next();
+ res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE");
+ res.header("Access-Control-Allow-Headers", "Content-Type");
+ next();
});
app.use(cookieParser());
app.use(express.json());
const expressServer = createServer(app);
-const io = new SocketServer(expressServer, {cors: {origin: ["http://localhost:5173"]}});
+const io = new SocketServer(expressServer, {
+ cors: { origin: ["http://localhost:5173"] },
+});
-expressServer.listen(port, () => console.log(`HTTP server running on port ${port}`));
+expressServer.listen(port, () =>
+ console.log(`HTTP server running on port ${port}`),
+);
-export default {expressServer, io, app}
\ No newline at end of file
+export default { expressServer, io, app };
diff --git a/backend/src/socketServer.ts b/backend/src/socketServer.ts
index f32941ee..2353eb57 100644
--- a/backend/src/socketServer.ts
+++ b/backend/src/socketServer.ts
@@ -1,18 +1,17 @@
import servers from "./server";
import dotenv from "dotenv";
import { Socket } from "socket.io";
-import {decodeSocketData} from "./misc/jwt";
-const {io, app} = servers;
+import { decodeSocketData } from "./misc/jwt";
+const { io, app } = servers;
dotenv.config();
const linkSecret = process.env.LINK_SECRET;
io.on("connection", (socket: Socket) => {
- const handshakeData = socket.handshake.auth.jwt;
- const decodedData = decodeSocketData(handshakeData, linkSecret!);
- if (!decodedData) {
- socket.disconnect();
- return;
- }
-
-});
\ No newline at end of file
+ const handshakeData = socket.handshake.auth.jwt;
+ const decodedData = decodeSocketData(handshakeData, linkSecret!);
+ if (!decodedData) {
+ socket.disconnect();
+ return;
+ }
+});
diff --git a/compose.yml b/compose.yml
index 19e7279f..bc34700a 100644
--- a/compose.yml
+++ b/compose.yml
@@ -16,7 +16,7 @@ services:
build: ./frontend
ports:
- 5173:80
-
+
backend:
build: ./backend
env_file:
diff --git a/frontend/src/components/ProfilePageForm.tsx b/frontend/src/components/ProfilePageForm.tsx
index a57863d6..f949e7ae 100644
--- a/frontend/src/components/ProfilePageForm.tsx
+++ b/frontend/src/components/ProfilePageForm.tsx
@@ -94,10 +94,16 @@ function ProfilePageForm(props: ProfilePageFormProps) {
Friends:{" "}
- {props.friends.map(f => -
-
{f.first_name} {f.last_name}
-
- )}
+ {props.friends.map((f) => (
+ -
+
+ {f.first_name} {f.last_name}
+
+
+
+ ))}
diff --git a/frontend/src/pages/ProfilePage.tsx b/frontend/src/pages/ProfilePage.tsx
index 4d6092b2..d27ee273 100644
--- a/frontend/src/pages/ProfilePage.tsx
+++ b/frontend/src/pages/ProfilePage.tsx
@@ -38,9 +38,13 @@ function ProfilePage() {
useEffect(() => {
const fetchFriends = async () => {
- const friendsResponse = await dataService.fetchData(`/users/${userId}/friends`,"GET",{});
+ const friendsResponse = await dataService.fetchData(
+ `/users/${userId}/friends`,
+ "GET",
+ {},
+ );
setFriends(friendsResponse.friends);
- }
+ };
fetchFriends();
}, []);
diff --git a/frontend/src/services/data.ts b/frontend/src/services/data.ts
index f70f3cca..113b1470 100644
--- a/frontend/src/services/data.ts
+++ b/frontend/src/services/data.ts
@@ -1,18 +1,16 @@
class DataService {
-
private url: string = "http://localhost:5000";
-
+
async fetchData(endpoint: string, method: string, options = {}) {
- try {
- const response = await fetch(this.url + endpoint, { ...options, method });
- const data = await response.json();
- return data;
- } catch (error) {
- console.error("Error ocurred during fetch data:", error);
- throw error;
- }
+ try {
+ const response = await fetch(this.url + endpoint, { ...options, method });
+ const data = await response.json();
+ return data;
+ } catch (error) {
+ console.error("Error ocurred during fetch data:", error);
+ throw error;
+ }
}
-
}
export default new DataService();
diff --git a/frontend/src/services/meeting.ts b/frontend/src/services/meeting.ts
index 5d545121..4a7a1904 100644
--- a/frontend/src/services/meeting.ts
+++ b/frontend/src/services/meeting.ts
@@ -1,26 +1,24 @@
class MeetingService {
-
- private url: string = "http://localhost:5000";
+ private url: string = "http://localhost:5000";
- async createMeetingWithToken(ownerId: string, guestId: string) {
- const endpoint = this.url + "/meeting"
- try {
- const response = await fetch(endpoint, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ ownerId, guestId }),
- });
- const data = await response.json();
- const {token} = data;
- return token;
- } catch (error) {
- console.error("Error ocurred during fetch data:", error);
- throw error;
- }
+ async createMeetingWithToken(ownerId: string, guestId: string) {
+ const endpoint = this.url + "/meeting";
+ try {
+ const response = await fetch(endpoint, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({ ownerId, guestId }),
+ });
+ const data = await response.json();
+ const { token } = data;
+ return token;
+ } catch (error) {
+ console.error("Error ocurred during fetch data:", error);
+ throw error;
}
-
+ }
}
-export default new MeetingService();
\ No newline at end of file
+export default new MeetingService();
diff --git a/frontend/src/webSocket/socketConnection.ts b/frontend/src/webSocket/socketConnection.ts
index 3856b8d0..b6c89a39 100644
--- a/frontend/src/webSocket/socketConnection.ts
+++ b/frontend/src/webSocket/socketConnection.ts
@@ -1,17 +1,17 @@
import { io, Socket } from "socket.io-client";
let socket: Socket;
-const socketConnection = (jwt: string)=>{
- if(socket && socket.connected){
- return socket;
- }else{
- socket = io('http://localhost:5000',{
- auth: {
- jwt
- }
- });
- return socket;
- }
-}
+const socketConnection = (jwt: string) => {
+ if (socket && socket.connected) {
+ return socket;
+ } else {
+ socket = io("http://localhost:5000", {
+ auth: {
+ jwt,
+ },
+ });
+ return socket;
+ }
+};
-export default socketConnection;
\ No newline at end of file
+export default socketConnection;
diff --git a/package-lock.json b/package-lock.json
index 68463422..3969da7c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,6 @@
"": {
"name": "mercury-project",
"version": "1.0.0",
- "license": "ISC",
"dependencies": {
"prettier": "^3.1.0"
}