diff --git a/src/middlewares/auth.middleware.ts b/src/middlewares/auth.middleware.ts index 8372e01..3199195 100644 --- a/src/middlewares/auth.middleware.ts +++ b/src/middlewares/auth.middleware.ts @@ -53,13 +53,15 @@ export const testUser: User = { function renderLogin(req: Request, res: Response) { res.status(401) // Unauthorized - if (req.is('application/json')) { + if (req.headers['content-type'] === 'application/json') { res.json({ result: 'nouser', msg: 'You are not logged in', }) + return } else { res.render('login') + return } } diff --git a/src/modules/api/submodules/p2p.ts b/src/modules/api/submodules/p2p.ts index 017a0ec..9fc54f5 100644 --- a/src/modules/api/submodules/p2p.ts +++ b/src/modules/api/submodules/p2p.ts @@ -533,7 +533,7 @@ function setup(data: SubmoduleData): Submodule { } function getNewUsersSince(since: number) { - const users = dbtools.runStatement( + const users: User[] = dbtools.runStatement( userDB, `SELECT * FROM users @@ -774,6 +774,8 @@ function setup(data: SubmoduleData): Submodule { } const newUserCount = dbtools.SelectAll(userDB, 'users').length + // ------------------------------------------------------------------------------------------------------- + const hasNewData = resultData.length > 0 if (!hasNewData) { logger.Log( @@ -996,6 +998,7 @@ function setup(data: SubmoduleData): Submodule { } let hostToLog = remoteHost || 'Unknown host' + let sentUsers = 0 if (remoteHost) { const remotePeerInfo = peers.find((peer) => { return peerToString(peer) === remoteHost @@ -1006,12 +1009,14 @@ function setup(data: SubmoduleData): Submodule { if (remotePublicKey) { // FIXME: sign data? const newUsers = getNewUsersSince(since) + sentUsers = newUsers.length result.encryptedUsers = encrypt( remotePublicKey, JSON.stringify(newUsers) ) + // TODO: count sent user count logger.Log( - `Sending new users to "${remoteHost}" (encrypted)`, + `\tSending new users to "${remoteHost}" (encrypted)`, 'green' ) } else if (remotePeerInfo) { @@ -1045,13 +1050,26 @@ function setup(data: SubmoduleData): Submodule { ? 'all time' : new Date(since).toLocaleString() + // TODO: count sent data logger.Log( - `Sending new data to ${logger.C( + `\tSending new data to ${logger.C( 'blue' )}${hostToLog}${logger.C()} since ${logger.C( 'blue' )}${dateToLog}${logger.C()} ` ) + logger.logTable( + [ + ['Users', 'QDBs', 'Subjs', 'Questions'], + [ + sentUsers, + questionDbsWithNewQuestions.length, + subjects, + questions, + ], + ], + { rowPrefix: '\t' } + ) res.json(result) }) diff --git a/src/server.ts b/src/server.ts index 2d5c1de..636a0c0 100755 --- a/src/server.ts +++ b/src/server.ts @@ -264,7 +264,7 @@ Object.keys(modules).forEach(function (key) { }) app.get('*', (req, res) => { - if (req.is('application/json')) { + if (req.headers['content-type'] === 'application/json') { res.status(404).end() } else { res.status(404).render('404') @@ -272,7 +272,7 @@ app.get('*', (req, res) => { }) app.post('*', (req, res) => { - if (req.is('application/json')) { + if (req.headers['content-type'] === 'application/json') { res.status(404).end() } else { res.status(404).render('404') diff --git a/src/types/basicTypes.ts b/src/types/basicTypes.ts index 64973fc..85452f3 100644 --- a/src/types/basicTypes.ts +++ b/src/types/basicTypes.ts @@ -88,7 +88,6 @@ export interface QuestionDb extends DataFile { export interface User { id: number pw: string - oldCID?: number notes?: string loginCount: number avaiblePWRequests: number