From 9f1008336dab69777519ca90d4221215dac23840 Mon Sep 17 00:00:00 2001 From: wancat Date: Thu, 22 Feb 2024 20:44:47 +0800 Subject: [PATCH] refactor: routes and index.js --- .eslintrc.js | 5 ----- server/package.json | 1 + .../src/api/routes/{authRouter.js => authRouter.ts} | 10 ++++++---- .../routes/{commandRouter.js => commandRouter.ts} | 0 server/src/api/routes/{index.js => index.ts} | 13 ------------- .../api/routes/{questRouter.js => questRouter.ts} | 0 .../routes/{sessionRouter.js => sessionRouter.ts} | 0 .../src/api/routes/{userRouter.js => userRouter.ts} | 0 server/src/{index.js => index.ts} | 8 +------- yarn.lock | 11 +++++++++++ 10 files changed, 19 insertions(+), 29 deletions(-) rename server/src/api/routes/{authRouter.js => authRouter.ts} (87%) rename server/src/api/routes/{commandRouter.js => commandRouter.ts} (100%) rename server/src/api/routes/{index.js => index.ts} (81%) rename server/src/api/routes/{questRouter.js => questRouter.ts} (100%) rename server/src/api/routes/{sessionRouter.js => sessionRouter.ts} (100%) rename server/src/api/routes/{userRouter.js => userRouter.ts} (100%) rename server/src/{index.js => index.ts} (94%) diff --git a/.eslintrc.js b/.eslintrc.js index ebd79cc..afc6b85 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -60,11 +60,6 @@ module.exports = { tsx: 'never', }, ], - 'lines-between-class-members': [ - 'error', - 'always', - { exceptAfterSingleLine: true }, - ], }, overrides: [ { diff --git a/server/package.json b/server/package.json index f2e95a5..c6383ad 100644 --- a/server/package.json +++ b/server/package.json @@ -57,6 +57,7 @@ "@types/passport-local": "^1.0.38", "@types/passport-oauth2": "^1.4.15", "@types/source-map-support": "^0", + "@types/swagger-ui-express": "^4.1.6", "@types/validator": "^13.11.9", "concurrently": "^8.2.2", "jest": "^29.6.1", diff --git a/server/src/api/routes/authRouter.js b/server/src/api/routes/authRouter.ts similarity index 87% rename from server/src/api/routes/authRouter.js rename to server/src/api/routes/authRouter.ts index 2aa0319..956a4c6 100644 --- a/server/src/api/routes/authRouter.js +++ b/server/src/api/routes/authRouter.ts @@ -1,4 +1,4 @@ -import { Router } from 'express' +import { Router, Request, Response } from 'express' import passport from 'passport' import enabledMethods from '../../auth/passport.js' @@ -25,7 +25,7 @@ router.post( authenticateRateLimit, loginValidators, passport.authenticate('local', { failureMessage: true }), - (req, res) => { + (req: Request, res: Response) => { res.json({ message: 'success' }) } ) @@ -34,8 +34,10 @@ router.post('/register', authenticateRateLimit, registerValidators, register) router.post('/logout', logout) -router.get('/check-username', checkUsernameValidators, (req, res) => - res.json({ available: true }) +router.get( + '/check-username', + checkUsernameValidators, + (req: Request, res: Response) => res.json({ available: true }) ) router.get('/check-session', checkSession) diff --git a/server/src/api/routes/commandRouter.js b/server/src/api/routes/commandRouter.ts similarity index 100% rename from server/src/api/routes/commandRouter.js rename to server/src/api/routes/commandRouter.ts diff --git a/server/src/api/routes/index.js b/server/src/api/routes/index.ts similarity index 81% rename from server/src/api/routes/index.js rename to server/src/api/routes/index.ts index cc79728..1ced879 100644 --- a/server/src/api/routes/index.js +++ b/server/src/api/routes/index.ts @@ -1,7 +1,5 @@ import { Router } from 'express' import passport from 'passport' -import lusca from 'lusca' -import cookieParser from 'cookie-parser' import sessions from './sessionRouter.js' import quests from './questRouter.js' import commands from './commandRouter.js' @@ -12,7 +10,6 @@ import config from '../../config.js' import leaderboardController from '../controllers/leaderboardController.js' const router = Router() -router.use(cookieParser()) if (!config.isProduction) { router.get('/', (req, res) => { res.send('Hello API!') @@ -31,16 +28,6 @@ router.use( ) router.use('/auth', authRouter) router.use('/sessions', authRequired, sessions) -router.use( - lusca({ - csrf: { - cookie: { name: '_csrf' }, - header: 'x-csrf-token', - secret: config.secret, - }, - hsts: { maxAge: 31536000, includeSubDomains: true, preload: true }, - }) -) router.use('/quests', quests) router.use('/users', userRouter) diff --git a/server/src/api/routes/questRouter.js b/server/src/api/routes/questRouter.ts similarity index 100% rename from server/src/api/routes/questRouter.js rename to server/src/api/routes/questRouter.ts diff --git a/server/src/api/routes/sessionRouter.js b/server/src/api/routes/sessionRouter.ts similarity index 100% rename from server/src/api/routes/sessionRouter.js rename to server/src/api/routes/sessionRouter.ts diff --git a/server/src/api/routes/userRouter.js b/server/src/api/routes/userRouter.ts similarity index 100% rename from server/src/api/routes/userRouter.js rename to server/src/api/routes/userRouter.ts diff --git a/server/src/index.js b/server/src/index.ts similarity index 94% rename from server/src/index.js rename to server/src/index.ts index 67c102f..3ed074d 100644 --- a/server/src/index.js +++ b/server/src/index.ts @@ -62,13 +62,7 @@ async function main() { app.use(globalRateLimit) app.use(sessionMiddleware) app.use(passport.session()) - app.use( - '/api-docs', - swaggerUI.serve, - swaggerUI.setup(swaggerDocument, { - withCredentials: true, - }) - ) + app.use('/api-docs', swaggerUI.serve, swaggerUI.setup(swaggerDocument)) app.use(express.json()) app.get('/', (req, res) => { diff --git a/yarn.lock b/yarn.lock index c306744..f42df08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1734,6 +1734,16 @@ __metadata: languageName: node linkType: hard +"@types/swagger-ui-express@npm:^4.1.6": + version: 4.1.6 + resolution: "@types/swagger-ui-express@npm:4.1.6" + dependencies: + "@types/express": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10c0/b7d10d04e70a4e35b0b98bed9ecebb51c0c9bddcb56f7132022b6022c58d643b05a7fe97e792cd6dc8d2c5d952ef173922db56137642a74b464d704fc3c8962b + languageName: node + linkType: hard + "@types/triple-beam@npm:^1.3.2": version: 1.3.5 resolution: "@types/triple-beam@npm:1.3.5" @@ -8632,6 +8642,7 @@ __metadata: "@types/passport-local": "npm:^1.0.38" "@types/passport-oauth2": "npm:^1.4.15" "@types/source-map-support": "npm:^0" + "@types/swagger-ui-express": "npm:^4.1.6" "@types/validator": "npm:^13.11.9" bcrypt: "npm:^5.1.1" commander: "npm:^11.0.0"