59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
/**
|
|
* Data Service - Combined live and historical data ingestion
|
|
*/
|
|
import { createLogger } from '@stock-bot/logger';
|
|
import { loadEnvVariables } from '@stock-bot/config';
|
|
import { Hono } from 'hono';
|
|
import { serve } from '@hono/node-server';
|
|
|
|
// Load environment variables
|
|
loadEnvVariables();
|
|
|
|
const app = new Hono();
|
|
const logger = createLogger('data-service');
|
|
const PORT = parseInt(process.env.DATA_SERVICE_PORT || '3002');
|
|
logger.info(`Data Service starting on port ${PORT}`);
|
|
// Health check endpoint
|
|
app.get('/health', (c) => {
|
|
return c.json({
|
|
service: 'data-service',
|
|
status: 'healthy',
|
|
timestamp: new Date().toISOString()
|
|
});
|
|
});
|
|
|
|
// API routes
|
|
app.get('/api/live/:symbol', async (c) => {
|
|
const symbol = c.req.param('symbol');
|
|
logger.info('Live data request', { symbol });
|
|
|
|
// TODO: Implement live data fetching
|
|
return c.json({
|
|
symbol,
|
|
message: 'Live data endpoint - not implemented yet'
|
|
});
|
|
});
|
|
|
|
app.get('/api/historical/:symbol', async (c) => {
|
|
const symbol = c.req.param('symbol');
|
|
const from = c.req.query('from');
|
|
const to = c.req.query('to');
|
|
|
|
logger.info('Historical data request', { symbol, from, to });
|
|
|
|
// TODO: Implement historical data fetching
|
|
return c.json({
|
|
symbol,
|
|
from,
|
|
to,
|
|
message: 'Historical data endpoint - not implemented yet'
|
|
});
|
|
});
|
|
|
|
// Start server
|
|
serve({
|
|
fetch: app.fetch,
|
|
port: PORT,
|
|
});
|
|
|
|
logger.info(`Data Service started on port ${PORT}`);
|