Browse Source

Merge branch 'development'

pearlgw 3 weeks ago
parent
commit
ad4fc50da3

+ 17 - 16
index.ts

@@ -1,7 +1,7 @@
1 1
 import express, { Application, Request, Response } from 'express';
2
-import cors from 'cors';
3 2
 import path from 'path';
4 3
 import bodyParser from 'body-parser';
4
+import cors from 'cors';
5 5
 
6 6
 import { errorHandler } from './src/middleware/ErrorHandler';
7 7
 import keycloak from './src/middleware/Keycloak';
@@ -19,27 +19,29 @@ import './src/utils/Scheduler';
19 19
 
20 20
 const app: Application = express();
21 21
 
22
-const allowedOrigins = [
23
-    'http://localhost:3006', // frontend local
24
-    'https://radar-dev.farmagitechs.co.id' // production domain
22
+const whitelist = [
23
+    "http://localhost:3006",
24
+    "https://radar-dev.farmagitechs.co.id"
25 25
 ];
26 26
 
27
-const corsOptions = {
28
-    origin: allowedOrigins,
29
-    methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],
30
-    allowedHeaders: ['Content-Type', 'Authorization'],
31
-    credentials: true,
32
-};
27
+var corsOptions = {
28
+    origin: function (origin: any, callback: any) {
29
+        if (whitelist.indexOf(origin) !== -1) {
30
+            callback(null, true)
31
+        } else {
32
+            callback(new Error('Not allowed by CORS'))
33
+        }
34
+    }
35
+}
33 36
 
34 37
 app.use(cors(corsOptions));
35
-app.options('*', cors(corsOptions));
38
+
36 39
 app.use(bodyParser.json());
37 40
 app.use(keycloak.middleware());
38
-app.use(express.json())
41
+app.use(express.json());
39 42
 app.use('/storage/', express.static(path.join(__dirname, 'storage/')));
40 43
 
41 44
 const apiV1 = express.Router();
42
-
43 45
 apiV1.use('/province', provinceRoutes);
44 46
 apiV1.use('/city', cityRoutes);
45 47
 apiV1.use('/hospital', hospitalRoutes);
@@ -47,9 +49,8 @@ apiV1.use('/hospital-area', salesHospitalRoutes);
47 49
 apiV1.use('/vendor', vendorRoutes);
48 50
 apiV1.use('/area', areaRoutes);
49 51
 apiV1.use('/category', CategoryRoutes);
50
-// apiV1.use('/vendor-sales', vendorSalesRoutes);
51 52
 
52
-app.get('/', (req: Request, res: Response) => {
53
+app.get('', (req: Request, res: Response) => {
53 54
     res.send('Selamat Datang di API Radar Farmagitechs');
54 55
 });
55 56
 
@@ -58,4 +59,4 @@ app.use(errorHandler);
58 59
 
59 60
 app.listen(config.port, () => {
60 61
     console.log(`Server started on port ${config.port}`);
61
-})
62
+});

+ 2 - 0
src/routes/admin/CategoryRoute.ts

@@ -3,6 +3,7 @@ import * as CategoryController from '../../controllers/admin/CategoryController'
3 3
 import keycloak from '../../middleware/Keycloak';
4 4
 import { extractToken } from '../../middleware/ExtractToken';
5 5
 import checkRoles from '../../middleware/CheckRoles';
6
+
6 7
 const router: Router = express.Router();
7 8
 
8 9
 router.get('/', [keycloak.protect(), extractToken, checkRoles(["admin"])], CategoryController.getAllCategory);
@@ -13,4 +14,5 @@ router.delete('/:id', [keycloak.protect(), extractToken, checkRoles(["admin"])],
13 14
 
14 15
 router.get('/:id/use', [keycloak.protect(), extractToken, checkRoles(["admin"])], CategoryController.showUseCategory);
15 16
 router.post('/merge', [keycloak.protect(), extractToken, checkRoles(["admin"])], CategoryController.mergeCategory);
17
+
16 18
 export default router;

+ 0 - 6
src/routes/admin/CityRoute.ts

@@ -4,12 +4,6 @@ import keycloak from '../../middleware/Keycloak';
4 4
 import { extractToken } from '../../middleware/ExtractToken';
5 5
 import checkRoles from '../../middleware/CheckRoles';
6 6
 
7
-// router.get('/', verifyJWT, checkRole(['admin', 'sales']), cityController.getAllCity);
8
-// router.post('/', verifyJWT, checkRole(['admin']), cityController.storeCity);
9
-// router.get('/:id', verifyJWT, checkRole(['admin', 'sales']), cityController.showCity);
10
-// router.patch('/:id', verifyJWT, checkRole(['admin']), cityController.updateCity);
11
-// router.delete('/:id', verifyJWT, checkRole(['admin']), cityController.deleteCity);
12
-
13 7
 const router: Router = express.Router();
14 8
 
15 9
 router.get('/', [keycloak.protect(), extractToken, checkRoles(["admin", "sales"])], CityController.getAllCity);

+ 2 - 2
src/routes/admin/HospitalRoute.ts

@@ -1,4 +1,4 @@
1
-import { Router } from 'express';
1
+import express, { Router } from 'express';
2 2
 import * as HospitalController from '../../controllers/admin/HospitalController';
3 3
 import * as VendorExperienceController from '../../controllers/admin/VendorExperienceController';
4 4
 import * as ExecutivesHistoryController from '../../controllers/admin/ExecutivesHistoryController';
@@ -9,7 +9,7 @@ import keycloak from '../../middleware/Keycloak';
9 9
 import { extractToken } from '../../middleware/ExtractToken';
10 10
 import checkRoles from '../../middleware/CheckRoles';
11 11
 
12
-const router = Router();
12
+const router: Router = express.Router();
13 13
 
14 14
 router.get('/', [keycloak.protect(), extractToken, checkRoles(["admin"])], HospitalController.getAllHospital);
15 15
 router.post('/', [keycloak.protect(), extractToken, checkRoles(["admin"])], upload.single('image'), HospitalController.storeHospital);

+ 2 - 19
src/routes/admin/ProvinceRoute.ts

@@ -1,27 +1,10 @@
1
-import express from 'express';
1
+import express, { Router } from 'express';
2 2
 import * as ProvinceController from '../../controllers/admin/ProvinceController';
3 3
 import keycloak from '../../middleware/Keycloak';
4 4
 import { extractToken } from '../../middleware/ExtractToken';
5 5
 import checkRoles from '../../middleware/CheckRoles';
6 6
 
7
-const router = express.Router();
8
-
9
-// import express from 'express';
10
-// const router = express.Router();
11
-// const provinceController = require('../../controllers/admin/ProvinceController.js')
12
-// // const verifyJWT = require('../../middleware/VerifyJWT.js');
13
-// // const checkRole = require('../../middleware/CheckRole.js');
14
-
15
-// const keycloak = require('../../middleware/Keycloak.js');
16
-// const extractToken = require('../../middleware/ExtractToken.js');
17
-// const checkRoles = require('../../middleware/CheckRoles.js');
18
-
19
-// router.get('/', verifyJWT, checkRole(['admin', 'sales']), provinceController.getAllProvince);
20
-// router.get('/', verifyJWT, checkRole(['admin']), provinceController.getAllProvince);
21
-// router.post('/', verifyJWT, checkRole(['admin']), provinceController.storeProvince);
22
-// router.get('/:id', verifyJWT, checkRole(['admin']), provinceController.showProvince);
23
-// router.patch('/:id', verifyJWT, checkRole(['admin']), provinceController.updateProvince);
24
-// router.delete('/:id', verifyJWT, checkRole(['admin']), provinceController.deleteProvince);
7
+const router: Router = express.Router();
25 8
 
26 9
 router.get('/', [keycloak.protect(), extractToken, checkRoles(['admin'])], ProvinceController.getAllProvince);
27 10
 router.post('/', [keycloak.protect(), extractToken, checkRoles(['admin'])], ProvinceController.storeProvince);

+ 0 - 6
src/routes/admin/VendorRoute.ts

@@ -4,12 +4,6 @@ import keycloak from '../../middleware/Keycloak';
4 4
 import { extractToken } from '../../middleware/ExtractToken';
5 5
 import checkRoles from '../../middleware/CheckRoles';
6 6
 
7
-// router.get('/', verifyJWT, checkRole(['admin', 'sales']), vendorController.getAllVendor);
8
-// router.post('/', verifyJWT, checkRole(['admin', 'sales']), vendorController.storeVendor);
9
-// router.get('/:id', verifyJWT, checkRole(['admin', 'sales']), vendorController.showVendor);
10
-// router.patch('/:id', verifyJWT, checkRole(['admin', 'sales']), vendorController.updateVendor);
11
-// router.delete('/:id', verifyJWT, checkRole(['admin']), vendorController.deleteVendor);
12
-
13 7
 const router: Router = express.Router();
14 8
 
15 9
 router.get('/', [keycloak.protect(), extractToken, checkRoles(['admin', 'sales'])], VendorController.getAllVendor);

+ 1 - 18
src/routes/sales/AreaRoute.ts

@@ -6,23 +6,6 @@ import checkRoles from '../../middleware/CheckRoles';
6 6
 
7 7
 const router: Router = express.Router();
8 8
 
9
-// router.get('/', verifyJWT, checkRole(['sales']), areaController.getAllAreaByUser);
10
-
11 9
 router.get('/', [keycloak.protect(), extractToken, checkRoles(['sales'])], areaController.getAllAreaByUser);
12 10
 
13
-export default router;
14
-
15
-
16
-// const express = require('express')
17
-// const router = express.Router()
18
-// const areaController = require('../../controllers/sales/AreaController.js')
19
-
20
-// const keycloak = require('../../middleware/Keycloak.js');
21
-// const extractToken = require('../../middleware/ExtractToken.js');
22
-// const checkRoles = require('../../middleware/CheckRoles.js');
23
-
24
-// // router.get('/', verifyJWT, checkRole(['sales']), areaController.getAllAreaByUser);
25
-
26
-// router.get('/', [keycloak.protect(), extractToken, checkRoles(['sales'])], areaController.getAllAreaByUser);
27
-
28
-// module.exports = router;
11
+export default router;

+ 2 - 2
src/routes/sales/HospitalRoute.ts

@@ -1,4 +1,4 @@
1
-import { Router } from 'express';
1
+import express, { Router } from 'express';
2 2
 import * as HospitalController from '../../controllers/sales/HospitalController';
3 3
 import * as VendorExperienceController from '../../controllers/sales/VendorExperienceController';
4 4
 import * as ExecutivesHistoryController from '../../controllers/sales/ExecutivesHistoryController';
@@ -9,7 +9,7 @@ import keycloak from '../../middleware/Keycloak';
9 9
 import { extractToken } from '../../middleware/ExtractToken';
10 10
 import checkRoles from '../../middleware/CheckRoles';
11 11
 
12
-const router = Router();
12
+const router: Router = express.Router();
13 13
 
14 14
 router.get('/', [keycloak.protect(), extractToken, checkRoles(['sales'])], HospitalController.getAllHospitalByArea);
15 15
 router.post('/', [keycloak.protect(), extractToken, checkRoles(['sales'])], upload.single('image'), HospitalController.storeHospital);