diff --git a/.env.example b/.env.example index a0d4aebde503e2d15d7a7ae6f5909e7ebaa1ba25..084cf275062ec1ff3cdd2a37294d80842352f182 100644 --- a/.env.example +++ b/.env.example @@ -8,5 +8,4 @@ DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/schema_name" ACCESS_TOKEN_SECRET="secretaccesstoken" REFRESH_TOKEN_SECRET="secretrefreshtoken" PORT= -SOAP_URL= -SOAP_API_KEY= \ No newline at end of file +SOAP_URL= \ No newline at end of file diff --git a/controllers/auth.controller.ts b/controllers/auth.controller.ts index f485fe069973d44f7f9aa51442bb822c187273e8..7c9d475fa3f8c04d3b5f49d4a18681b638cdf53b 100644 --- a/controllers/auth.controller.ts +++ b/controllers/auth.controller.ts @@ -3,8 +3,9 @@ import { PrismaClient } from "@prisma/client" import bcrypt from "bcrypt" import jwt from "jsonwebtoken" import { verify, sign } from "jsonwebtoken" - -import { emitWarning } from "process" +import { access } from "fs" +import { serialize } from "cookie" +import Cookies from "js-cookie" const prismaClient = new PrismaClient() @@ -144,6 +145,7 @@ export const handleRefreshToken = async ( if (!cookies?.jwt) { res.sendStatus(401) + return } const refreshToken: string = cookies.jwt @@ -157,6 +159,7 @@ export const handleRefreshToken = async ( if (!findUser) { res.sendStatus(403) + return } verify( @@ -186,5 +189,6 @@ export const handleRefreshToken = async ( } catch (error) { console.error(error) res.sendStatus(500) + return } } diff --git a/package.json b/package.json index a4170e466463099e2bf7cf345fe1f3161d1ae20c..66b26ebb67edda7581933892957bd4b33e7d1cdc 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,8 @@ "dependencies": { "@prisma/client": "^5.0.0", "@types/bcrypt": "^5.0.1", + "@types/cookie": "^0.5.3", + "@types/js-cookie": "^3.0.5", "@types/jsonwebtoken": "^9.0.4", "@types/xml2js": "^0.4.13", "bcrypt": "^5.1.1", @@ -36,6 +38,7 @@ "dotenv": "^16.3.1", "easy-soap-request": "^5.4.0", "express": "^4.18.2", + "js-cookie": "^3.0.5", "jsonwebtoken": "^9.0.2", "mysql2": "^3.6.2", "nodemon": "^3.0.1", diff --git a/polling/university.ts b/polling/university.ts index 971e922c754c4c3182b72d0332ef59de792c03ed..9618396979336283373adbb0664dac96e84c4642 100644 --- a/polling/university.ts +++ b/polling/university.ts @@ -49,7 +49,6 @@ export const universitySync = async () => { const { body } = response const parser = new xml2js.Parser() const parsedBody = await parser.parseStringPromise(body) - console.log(parsedBody) } } } catch (error) { diff --git a/routes/refresh.routes.ts b/routes/refresh.routes.ts deleted file mode 100644 index 91babdef084e3771503c17f5cc9404686a914e12..0000000000000000000000000000000000000000 --- a/routes/refresh.routes.ts +++ /dev/null @@ -1,8 +0,0 @@ -import express from "express" -// import { handleRefreshToken } from "../controllers/refreshToken.controller" - -const router = express.Router() - -// router.get("/refresh", handleRefreshToken) - -module.exports = router diff --git a/server.ts b/server.ts index c243f5b787ef0b10e17b684c2733c6a93f856ce1..5bb8b960cb051989a89e803318ca24fd81cfa47a 100644 --- a/server.ts +++ b/server.ts @@ -16,14 +16,22 @@ const UniversityRoute = require("./routes/university.routes") const authRoute = require("./routes/auth.routes") const soapRoute = require("./routes/soap.routes") -app.use(cors()) -app.use(cookies()) -app.use(express.static("static")) -app.use(express.json()) -app.use("/", defaultroute) -app.use("/api", authRoute) -app.use("/api", soapRoute) -app.use(verifyJWT) +app.use(cors({ + origin: 'http://localhost:3000', + credentials: true, +})); +app.use(cookies()); +// app.use(function(req, res, next) { +// res.header("Access-Control-Allow-Origin", "*"); +// res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); +// next(); +// }); +app.use(express.static("static")); +app.use(express.json()); +app.use("/", defaultroute); +app.use("/api", authRoute); +app.use("/api", soapRoute); +app.use(verifyJWT); // app.use("/api", soapRoute); app.use("/api", UniversityRoute) app.use("/api", ScholarshipRoute) diff --git a/yarn.lock b/yarn.lock index da9000fd8076f0858504e274a71ffb2dceb75245..1805849fe9697bb6ed29eff8cd747324127c419d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -101,6 +101,11 @@ dependencies: "@types/node" "*" +"@types/cookie@^0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.5.3.tgz#3f98076ede5e467783507284d3c19215327fff8f" + integrity sha512-SLg07AS9z1Ab2LU+QxzU8RCmzsja80ywjf/t5oqw+4NSH20gIGlhLOrBDm1L3PBWzPa4+wkgFQVZAjE6Ioj2ug== + "@types/cors@^2.8.15": version "2.8.15" resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.15.tgz#eb143aa2f8807ddd78e83cbff141bbedd91b60ee" @@ -133,6 +138,11 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== +"@types/js-cookie@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-3.0.5.tgz#5eba4033a4f17fb2b29d975892694315194eca33" + integrity sha512-dtLshqoiGRDHbHueIT9sjkd2F4tW1qPSX2xKAQK8p1e6pM+Z913GM1shv7dOqqasEMYbC5zEaClJomQe8OtQLA== + "@types/jsonwebtoken@^9.0.4": version "9.0.4" resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz#8b74bbe87bde81a3469d4b32a80609bec62c23ec" @@ -871,6 +881,11 @@ is-typed-array@^1.1.3: dependencies: which-typed-array "^1.1.11" +js-cookie@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" + integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== + jsonwebtoken@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3"