1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import express, { Application, Request, Response } from 'express';
- import path from 'path';
- import bodyParser from 'body-parser';
- import cors from 'cors';
- import { errorHandler } from './src/middleware/ErrorHandler';
- import keycloak from './src/middleware/Keycloak';
- import { config } from './config/config';
- import provinceRoutes from './src/routes/admin/ProvinceRoute';
- import cityRoutes from './src/routes/admin/CityRoute';
- import vendorRoutes from './src/routes/admin/VendorRoute';
- import hospitalRoutes from './src/routes/admin/HospitalRoute';
- import salesHospitalRoutes from './src/routes/sales/HospitalRoute';
- import areaRoutes from './src/routes/sales/AreaRoute';
- import CategoryRoutes from './src/routes/admin/CategoryRoute';
- import ScheduleVisitationRoutes from './src/routes/admin/ScheduleVisitationRoute';
- import ScheduleVisitationForSalesRoutes from './src/routes/sales/ScheduleVisitationRoute';
- import salesRoutes from './src/routes/admin/SalesRoute';
- import userAreaRoutes from './src/routes/admin/UserAreaRoute';
- import './src/utils/Scheduler';
- import "./src/utils/ScheduleNotification";
- const app: Application = express();
- const whitelist = [
- "http://localhost:3006",
- "https://radar-dev.farmagitechs.co.id"
- ];
- var corsOptions = {
- origin: function (origin: any, callback: any) {
- if (!origin || whitelist.indexOf(origin) !== -1) {
- callback(null, true)
- } else {
- callback(new Error('Not allowed by CORS'))
- }
- }
- }
- app.use(cors(corsOptions));
- app.use(bodyParser.json());
- app.use(keycloak.middleware());
- app.use(express.json());
- app.use('/storage/', express.static(path.join(__dirname, 'storage/')));
- const apiV1 = express.Router();
- apiV1.use('/province', provinceRoutes);
- apiV1.use('/sales', salesRoutes);
- apiV1.use('/user-area', userAreaRoutes);
- apiV1.use('/city', cityRoutes);
- apiV1.use('/hospital', hospitalRoutes);
- apiV1.use('/hospital-area', salesHospitalRoutes);
- apiV1.use('/vendor', vendorRoutes);
- apiV1.use('/area', areaRoutes);
- apiV1.use('/category', CategoryRoutes);
- apiV1.use('/schedule-visitation', ScheduleVisitationRoutes);
- apiV1.use('/schedule-sales', ScheduleVisitationForSalesRoutes);
- app.get('', (req: Request, res: Response) => {
- res.send('Selamat Datang di API Radar Farmagitechs');
- });
- app.use('/v1/api', apiV1);
- app.use(errorHandler);
- app.listen(config.port, () => {
- console.log(`Server started on port ${config.port}`);
- });
|