mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-08 11:30:12 +08:00
feat: add get ip endpoint
* rename handler * change rate limit
This commit is contained in:
1 parent
3b9ea9ea50
commit
b9a79eb435
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
|
const { quest_id } = req.body
|
||||||
try {
|
try {
|
||||||
const session = await getOrCreateActiveSession(req.user, quest_id)
|
const session = await getOrCreateActiveSession(req.user, quest_id)
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ router.get('/', (req, res) => {
|
|||||||
res.send('Hello API!')
|
res.send('Hello API!')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
router.get('/ip', (req, res) => {
|
||||||
|
res.json({ ip: req.ip })
|
||||||
|
})
|
||||||
|
|
||||||
router.use('/auth', authRouter)
|
router.use('/auth', authRouter)
|
||||||
router.use('/quests', quests)
|
router.use('/quests', quests)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const router = Router()
|
|||||||
|
|
||||||
router.get('/', sessionController.getSessionList)
|
router.get('/', sessionController.getSessionList)
|
||||||
router.post('/', sessionRateLimit, sessionController.createSession)
|
router.post('/', sessionRateLimit, sessionController.createSession)
|
||||||
router.post('/active', sessionController.getActiveSession)
|
router.post('/active', sessionController.getOrCreateSession)
|
||||||
router.get('/:id', sessionController.getSessionById)
|
router.get('/:id', sessionController.getSessionById)
|
||||||
router.delete('/:id', sessionController.deleteSessionById)
|
router.delete('/:id', sessionController.deleteSessionById)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,6 @@ async function main() {
|
|||||||
const server = http.createServer(app)
|
const server = http.createServer(app)
|
||||||
socketServer(server)
|
socketServer(server)
|
||||||
app.set('trust proxy', true)
|
app.set('trust proxy', true)
|
||||||
app.use(errorHandler)
|
|
||||||
app.use(globalRateLimit)
|
app.use(globalRateLimit)
|
||||||
app.use(sessionMiddleware)
|
app.use(sessionMiddleware)
|
||||||
app.use(passport.session())
|
app.use(passport.session())
|
||||||
@@ -56,6 +55,7 @@ async function main() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
app.use('/api/v1', apiRouter)
|
app.use('/api/v1', apiRouter)
|
||||||
|
app.use(errorHandler)
|
||||||
|
|
||||||
server.listen(config.port, config.host, () => {
|
server.listen(config.port, config.host, () => {
|
||||||
console.log(`Server listening at ${config.baseUrl}`)
|
console.log(`Server listening at ${config.baseUrl}`)
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ import { rateLimit } from 'express-rate-limit'
|
|||||||
|
|
||||||
export default rateLimit({
|
export default rateLimit({
|
||||||
windowMs: 60 * 1000, // 1 minute
|
windowMs: 60 * 1000, // 1 minute
|
||||||
max: 20,
|
max: 100,
|
||||||
})
|
})
|
||||||
@@ -519,6 +519,20 @@ paths:
|
|||||||
description: Invalid request body
|
description: Invalid request body
|
||||||
'401':
|
'401':
|
||||||
description: Unauthorized
|
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:
|
components:
|
||||||
schemas:
|
schemas:
|
||||||
|
|||||||
Reference in new issue
Block a user