Skip to content

Commit 3ff5cfe

Browse files
author
Tom Softreck
committed
Release version 0.1.3
### Added - Changes in api/index.js - Changes in api/routes/file.js - Changes in api/routes/project.js - Changes in api/routes/session.js - Changes in kill.sh - Changes in services/git-service.js - Changes in services/session-service.js - Changes in services/storage-service.js
1 parent 2460c27 commit 3ff5cfe

13 files changed

+139
-1
lines changed

CHANGELOG.md

100644100755
+12
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.1.3] - 2025-04-05
6+
7+
### Added
8+
- Changes in api/index.js
9+
- Changes in api/routes/file.js
10+
- Changes in api/routes/project.js
11+
- Changes in api/routes/session.js
12+
- Changes in kill.sh
13+
- Changes in services/git-service.js
14+
- Changes in services/session-service.js
15+
- Changes in services/storage-service.js
16+
517
## [0.1.2] - 2025-04-05
618

719
### Added

Dockerfile

100644100755
File mode changed.

README.md

100644100755
File mode changed.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

codebase/services/session-service.js

Whitespace-only changes.

kill.sh

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
#sudo lsof -i tcp:80
4+
#sudo lsof -i tcp:3010
5+
#sudo lsof -i tcp:3020
6+
# kill -9 $(lsof -t -i tcp:80)
7+
8+
9+
# Function to kill processes on a specific port
10+
kill_port() {
11+
local port=$1
12+
echo "Checking port $port..."
13+
14+
PIDS=$(sudo lsof -t -i tcp:$port -s tcp:listen)
15+
if [ -n "$PIDS" ]; then
16+
echo "Killing processes on port $port: $PIDS"
17+
echo "$PIDS" | sudo xargs kill
18+
echo "Processes on port $port have been terminated."
19+
else
20+
echo "No processes found listening on port $port"
21+
fi
22+
}
23+
24+
# Display current status before killing
25+
echo "Current processes on specified ports:"
26+
sudo lsof -i tcp:80
27+
sudo lsof -i tcp:3010
28+
sudo lsof -i tcp:3020
29+
30+
echo -e "\nProceeding to kill processes on ports 80, 3010, and 3020...\n"
31+
32+
# Kill processes on each specified port
33+
kill_port 80
34+
kill_port 3010
35+
kill_port 3020
36+
37+
echo -e "\nOperation completed."

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"jsonwebtoken": "^9.0.2",
2121
"memorystore": "^1.6.7",
2222
"morgan": "^1.10.0",
23-
"multer": "^2.0.0",
23+
"multer": "^1.4.5-lts.1",
2424
"nanoid": "^3.3.6",
2525
"simple-git": "^3.22.0",
2626
"uuid": "^9.0.1",
File renamed without changes.

services/session-service.js

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
// codebase/services/session-service.js
2+
const crypto = require('crypto');
3+
4+
// In-memory storage for session data and share tokens
5+
let sessionStore = {};
6+
let shareTokens = {};
7+
8+
// Get session store
9+
const getSessionStore = () => {
10+
return sessionStore;
11+
};
12+
13+
// Save session data
14+
const saveSessionData = (sessionId, data) => {
15+
sessionStore[sessionId] = {
16+
...sessionStore[sessionId],
17+
...data,
18+
updatedAt: new Date().toISOString()
19+
};
20+
21+
return sessionStore[sessionId];
22+
};
23+
24+
// Get session data
25+
const getSessionData = (sessionId) => {
26+
return sessionStore[sessionId] || null;
27+
};
28+
29+
// Delete session data
30+
const deleteSessionData = (sessionId) => {
31+
if (sessionStore[sessionId]) {
32+
delete sessionStore[sessionId];
33+
return true;
34+
}
35+
36+
return false;
37+
};
38+
39+
// Create a share token for a session
40+
const createShareToken = (sessionId) => {
41+
// Generate a random token
42+
const token = crypto.randomBytes(32).toString('hex');
43+
44+
// Store the token with session ID and expiration time (7 days)
45+
shareTokens[token] = {
46+
sessionId,
47+
createdAt: new Date().toISOString(),
48+
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()
49+
};
50+
51+
return token;
52+
};
53+
54+
// Get session from share token
55+
const getSessionFromShareToken = (token) => {
56+
const tokenData = shareTokens[token];
57+
58+
if (!tokenData) {
59+
return null;
60+
}
61+
62+
// Check if token has expired
63+
if (new Date(tokenData.expiresAt) < new Date()) {
64+
delete shareTokens[token];
65+
return null;
66+
}
67+
68+
return tokenData;
69+
};
70+
71+
// Delete share token
72+
const deleteShareToken = (token) => {
73+
if (shareTokens[token]) {
74+
delete shareTokens[token];
75+
return true;
76+
}
77+
78+
return false;
79+
};
80+
81+
module.exports = {
82+
getSessionStore,
83+
saveSessionData,
84+
getSessionData,
85+
deleteSessionData,
86+
createShareToken,
87+
getSessionFromShareToken,
88+
deleteShareToken
89+
};
File renamed without changes.

0 commit comments

Comments
 (0)