ryu-js / plugins /gempa.js
randydev's picture
Update plugins/gempa.js
494cdab verified
raw
history blame
1.57 kB
import express from 'express';
import { GempaBumi } from '../lib/scrapper.js';
import { authenticateApiKey, apiLimiter } from '../middleware/midware.js';
const GempaRoutes = express.Router();
/**
* @swagger
* /api/v1/gempa-bumi:
* get:
* summary: Get random earthquake data
* parameters:
* - in: header
* name: x-api-key
* required: true
* description: API key for authentication
* schema:
* type: string
* responses:
* 200:
* description: Success
* content:
* application/json:
* schema:
* type: object
* properties:
* data:
* type: array
* items:
* type: object
* properties:
* id:
* type: string
* magnitude:
* type: number
* location:
* type: string
* time:
* type: string
* format: date-time
*/
GempaRoutes.get('/api/v1/gempa-bumi', authenticateApiKey, apiLimiter, async (req, res) => {
try {
const result = await GempaBumi();
if (result) {
res.json({ result });
} else {
res.status(404).json({ error: "No result found." });
}
} catch (error) {
res.status(500).json({ error: error.message });
}
});
export { GempaRoutes };