Merge branch 'rate-commitment' of github.com:Discreetly/server into rate-commitment

This commit is contained in:
Tanner Shaw
2023-08-23 14:39:18 -05:00
3 changed files with 24 additions and 22 deletions

8
package-lock.json generated
View File

@@ -17,7 +17,7 @@
"body-parser": "^1.20.2",
"cors": "^2.8.5",
"discreetly-claimcodes": "^1.1.5",
"discreetly-interfaces": "^0.1.35",
"discreetly-interfaces": "^0.1.37",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-basic-auth": "^1.2.1",
@@ -3469,9 +3469,9 @@
"integrity": "sha512-pQueoGtBJk/FrTfGzepjqYfTLaymS+4t11byI4OcfjWQOagRsD7dtavGcowTVQ7Ib/vjKna5T+71WcgWZaAWuA=="
},
"node_modules/discreetly-interfaces": {
"version": "0.1.35",
"resolved": "https://registry.npmjs.org/discreetly-interfaces/-/discreetly-interfaces-0.1.35.tgz",
"integrity": "sha512-483vYSdwQ3+jPcHJoP3VEeFpfwGNgfFqjIKy/W1sSFZIAzyztTj534jeF9TwXAJqrP5I/3UbEm596NrCuyH3iw==",
"version": "0.1.37",
"resolved": "https://registry.npmjs.org/discreetly-interfaces/-/discreetly-interfaces-0.1.37.tgz",
"integrity": "sha512-qUbUcmckpuiFggVfkQqDA7e56qhMEp7X8Ug9xbU/xG6P5rQK7PewqCDYUixXJFfby3RHByGNju9xPOtv1FsW0g==",
"dependencies": {
"poseidon-lite": "^0.2.0",
"rlnjs": "^3.1.4"

View File

@@ -31,7 +31,7 @@
"body-parser": "^1.20.2",
"cors": "^2.8.5",
"discreetly-claimcodes": "^1.1.5",
"discreetly-interfaces": "^0.1.35",
"discreetly-interfaces": "^0.1.37",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-basic-auth": "^1.2.1",
@@ -68,4 +68,4 @@
"ts-node": "^10.9.1",
"typescript": "^5.1.6"
}
}
}

View File

@@ -12,7 +12,8 @@ import {
createRoom,
createSystemMessages
} from '../data/db';
import { RoomI } from 'discreetly-interfaces';
import { MessageI, RoomI } from 'discreetly-interfaces';
import { RLNFullProof } from 'rlnjs';
const prisma = new PrismaClient();
@@ -44,10 +45,7 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) {
.then((room: RoomI) => {
if (!room) {
// This is set as a timeout to prevent someone from trying to brute force room ids
setTimeout(
() => res.status(500).json({ error: 'Internal Server Error' }),
1000
);
setTimeout(() => res.status(500).json({ error: 'Internal Server Error' }), 1000);
} else {
const {
roomId,
@@ -92,11 +90,7 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) {
['/rooms/:idc', '/api/rooms/:idc'],
asyncHandler(async (req: Request, res: Response) => {
try {
pp(
String(
'Express: fetching rooms by identityCommitment ' + req.params.idc
)
);
pp(String('Express: fetching rooms by identityCommitment ' + req.params.idc));
res.status(200).json(await getRoomsByIdentity(req.params.idc));
} catch (error) {
console.error(error);
@@ -116,9 +110,7 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) {
const parsedBody: JoinData = req.body as JoinData;
if (!parsedBody.code || !parsedBody.idc) {
res
.status(400)
.json({ message: '{code: string, idc: string} expected' });
res.status(400).json({ message: '{code: string, idc: string} expected' });
}
const { code, idc } = parsedBody;
console.debug('Invite Code:', code);
@@ -210,9 +202,21 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) {
},
where: {
roomId: id
},
select: {
id: false,
message: true,
messageId: true,
proof: true,
roomId: true,
timeStamp: true
}
})
.then((messages) => {
messages.map((message: MessageI) => {
message.timeStamp = new Date(message.timeStamp as Date).toString();
message.proof = JSON.parse(message.proof as string) as RLNFullProof;
});
pp('Express: fetching messages for room ' + id);
res.status(200).json(messages);
})
@@ -311,9 +315,7 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) {
asyncHandler(async (req: Request, res: Response) => {
const { roomId } = req.params;
const { message } = req.body as { message: string };
pp(
String('Express: sending system message: ' + message + ' to ' + roomId)
);
pp(String('Express: sending system message: ' + message + ' to ' + roomId));
try {
await createSystemMessages(message, roomId);
res.status(200).json({ message: 'Message sent to room ' + roomId });