import 'reflect-metadata';
import { createApp } from './app';
import { initializeDatabase } from './models/index';
import { seedTimezones } from './seeds/seedTimezones';
import { env } from './config/env';
import { warmUpProducer } from './config/kafka';

async function main() {
  await initializeDatabase();
  console.log('Database connected');
  await seedTimezones();
  warmUpProducer();

  const app = createApp();
  app.listen(env.PORT, () => {
    console.log(`API running on http://localhost:${env.PORT}`);
  });
}

main().catch((err) => {
  console.error('Failed to start server:', err);
  process.exit(1);
});
