mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-06 03:20:13 +08:00
feat: add get ip endpoint
* rename handler * change rate limit
This commit is contained in:
1 parent
1d2ad733ed
commit
55b61dbcab
6 files changed
+22
-4
No files matched your search
@@ -86,7 +86,7 @@ export async function deleteSessionById(req, res) {
|
||||
}
|
||||
}
|
||||
|
||||
export async function getActiveSession(req, res) {
|
||||
export async function getOrCreateSession(req, res) {
|
||||
const { quest_id } = req.body
|
||||
try {
|
||||
const session = await getOrCreateActiveSession(req.user, quest_id)
|
||||
|
||||
@@ -12,6 +12,10 @@ router.get('/', (req, res) => {
|
||||
res.send('Hello API!')
|
||||
})
|
||||
|
||||
router.get('/ip', (req, res) => {
|
||||
res.json({ ip: req.ip })
|
||||
})
|
||||
|
||||
router.use('/auth', authRouter)
|
||||
router.use('/quests', quests)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ const router = Router()
|
||||
|
||||
router.get('/', sessionController.getSessionList)
|
||||
router.post('/', sessionRateLimit, sessionController.createSession)
|
||||
router.post('/active', sessionController.getActiveSession)
|
||||
router.post('/active', sessionController.getOrCreateSession)
|
||||
router.get('/:id', sessionController.getSessionById)
|
||||
router.delete('/:id', sessionController.deleteSessionById)
|
||||
|
||||
|
||||
+1
-1
@@ -38,7 +38,6 @@ async function main() {
|
||||
const server = http.createServer(app)
|
||||
socketServer(server)
|
||||
app.set('trust proxy', true)
|
||||
app.use(errorHandler)
|
||||
app.use(globalRateLimit)
|
||||
app.use(sessionMiddleware)
|
||||
app.use(passport.session())
|
||||
@@ -56,6 +55,7 @@ async function main() {
|
||||
})
|
||||
|
||||
app.use('/api/v1', apiRouter)
|
||||
app.use(errorHandler)
|
||||
|
||||
server.listen(config.port, config.host, () => {
|
||||
console.log(`Server listening at ${config.baseUrl}`)
|
||||
|
||||
@@ -2,5 +2,5 @@ import { rateLimit } from 'express-rate-limit'
|
||||
|
||||
export default rateLimit({
|
||||
windowMs: 60 * 1000, // 1 minute
|
||||
max: 20,
|
||||
max: 100,
|
||||
})
|
||||
@@ -519,6 +519,20 @@ paths:
|
||||
description: Invalid request body
|
||||
'401':
|
||||
description: Unauthorized
|
||||
/ip:
|
||||
get:
|
||||
summary: Get client IP address
|
||||
responses:
|
||||
'200':
|
||||
description: IP address
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
ip:
|
||||
type: string
|
||||
example: '127.0.0.1'
|
||||
|
||||
components:
|
||||
schemas:
|
||||
|
||||
Reference in new issue
Block a user