From 1784697d153df62784f2134f4a5abf4a152024b9 Mon Sep 17 00:00:00 2001
From: shreyvishal <shreya.vishal@eminds.ai>
Date: Wed, 20 Dec 2023 10:05:25 +0530
Subject: [PATCH] Enabled: Cors

---
 package.json |  2 ++
 src/App.ts   | 77 +++++++++++++++++++++++++++++++++-------------------
 2 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/package.json b/package.json
index 809a900..49ceecf 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
   "dependencies": {
     "app-root-path": "^3.1.0",
     "axios": "^1.6.2",
+    "cors": "^2.8.5",
     "dotenv": "^16.3.1",
     "express": "^4.18.2",
     "ini": "^4.1.1",
@@ -28,6 +29,7 @@
     "winston-express": "^0.1.1"
   },
   "devDependencies": {
+    "@types/cors": "^2.8.17",
     "@types/express": "^4.17.21",
     "@types/ini": "^1.3.33",
     "@types/uuid": "^9.0.7",
diff --git a/src/App.ts b/src/App.ts
index b594afa..eca0f53 100644
--- a/src/App.ts
+++ b/src/App.ts
@@ -1,31 +1,52 @@
-import express, { Application } from 'express';
-import { container, server } from './inversify/inversify.config';
-import './gcl/gcl.controller';
-import { ConfigService } from './config/config.service';
-import { AppLogger } from './app/app.logger';
-import { ErrorHandlerMiddleware } from './middleware/errorhandler.middleware';
-
+import express, { Application, NextFunction } from "express";
+import { container, server } from "./inversify/inversify.config";
+import "./gcl/gcl.controller";
+import { ConfigService } from "./config/config.service";
+import { AppLogger } from "./app/app.logger";
+import { ErrorHandlerMiddleware } from "./middleware/errorhandler.middleware";
+import cors from "cors";
 class App {
-    public app: Application;
-
-    constructor() {
-        this.app = express();
-        this.config();
-        this.setupMiddlewares();
-    }
-
-    private config(): void {
-        server.setConfig((app) => {
-            app.use(express.json());
-            app.use(express.urlencoded({ extended: true }))
-        });
-        this.app.use(server.build());
-    }
-
-    private setupMiddlewares() {
-        const errorHandlerMiddleware = container.get<ErrorHandlerMiddleware>(ErrorHandlerMiddleware);
-        this.app.use(errorHandlerMiddleware.handleError.bind(errorHandlerMiddleware));
-    }
+  public app: Application;
+
+  constructor() {
+    this.app = express();
+    this.config();
+    this.setupMiddlewares();
+  }
+
+  private config(): void {
+    server.setConfig((app) => {
+      app.use(express.json());
+      app.use(express.urlencoded({ extended: true }));
+      app.options(
+        "*",
+        cors({
+          origin: "*",
+          optionsSuccessStatus: 200,
+          credentials: true,
+          methods: ["GET", "PUT", "POST", "PATCH", "DELETE", "OPTIONS"]
+        })
+      );
+
+      app.use(
+        cors({
+          origin: "*",
+          methods: ["GET", "PUT", "POST", "PATCH", "DELETE", "OPTIONS"]
+        })
+      );
+    });
+
+    this.app.use(server.build());
+  }
+
+  private setupMiddlewares() {
+    const errorHandlerMiddleware = container.get<ErrorHandlerMiddleware>(
+      ErrorHandlerMiddleware
+    );
+    this.app.use(
+      errorHandlerMiddleware.handleError.bind(errorHandlerMiddleware)
+    );
+  }
 }
 
 const configService = container.resolve<ConfigService>(ConfigService);
@@ -35,5 +56,5 @@ const app = new App().app;
 const port = configService.getAppPort();
 
 app.listen(port, () => {
-    logger.info(`Server is running on http://localhost:${port}`);
+  logger.info(`Server is running on http://localhost:${port}`);
 });
-- 
GitLab