index.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import express, { Application, Request, Response } from 'express';
  2. import path from 'path';
  3. import bodyParser from 'body-parser';
  4. import cors from 'cors';
  5. import { errorHandler } from './src/middleware/ErrorHandler';
  6. import keycloak from './src/middleware/Keycloak';
  7. import { config } from './config/config';
  8. import provinceRoutes from './src/routes/admin/ProvinceRoute';
  9. import cityRoutes from './src/routes/admin/CityRoute';
  10. import vendorRoutes from './src/routes/admin/VendorRoute';
  11. import hospitalRoutes from './src/routes/admin/HospitalRoute';
  12. import salesHospitalRoutes from './src/routes/sales/HospitalRoute';
  13. import areaRoutes from './src/routes/sales/AreaRoute';
  14. import CategoryRoutes from './src/routes/admin/CategoryRoute';
  15. import './src/utils/Scheduler';
  16. const app: Application = express();
  17. const whitelist = [
  18. "http://localhost:3006",
  19. "https://radar-dev.farmagitechs.co.id"
  20. ];
  21. var corsOptions = {
  22. origin: function (origin: any, callback: any) {
  23. if (whitelist.indexOf(origin) !== -1) {
  24. callback(null, true)
  25. } else {
  26. callback(new Error('Not allowed by CORS'))
  27. }
  28. }
  29. }
  30. app.use(cors(corsOptions));
  31. app.use(bodyParser.json());
  32. app.use(keycloak.middleware());
  33. app.use(express.json());
  34. app.use('/storage/', express.static(path.join(__dirname, 'storage/')));
  35. const apiV1 = express.Router();
  36. apiV1.use('/province', provinceRoutes);
  37. apiV1.use('/city', cityRoutes);
  38. apiV1.use('/hospital', hospitalRoutes);
  39. apiV1.use('/hospital-area', salesHospitalRoutes);
  40. apiV1.use('/vendor', vendorRoutes);
  41. apiV1.use('/area', areaRoutes);
  42. apiV1.use('/category', CategoryRoutes);
  43. app.get('', (req: Request, res: Response) => {
  44. res.send('Selamat Datang di API Radar Farmagitechs');
  45. });
  46. app.use('/v1/api', apiV1);
  47. app.use(errorHandler);
  48. app.listen(config.port, () => {
  49. console.log(`Server started on port ${config.port}`);
  50. });