From c22e494e93be04db00318faf1e331a5caecc6eca Mon Sep 17 00:00:00 2001 From: carlos-burelo Date: Wed, 13 Apr 2022 11:31:45 -0500 Subject: [PATCH 1/3] :blue_square: add cors support --- package.json | 4 +++- src/index.ts | 4 +++- yarn.lock | 20 +++++++++++++++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e6ed04c..a78ea39 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,17 @@ "author": "", "license": "ISC", "devDependencies": { + "@types/cors": "^2.8.12", "@types/express": "^4.17.13", "@types/node": "^17.0.22", + "dotenv": "^8.2.0", "nodemon": "^2.0.14", "ts-node": "^10.7.0", - "dotenv": "^8.2.0", "typescript": "^4.6.2" }, "dependencies": { "axios": "^0.24.0", + "cors": "^2.8.5", "express": "^4.17.1", "node-html-parser": "^5.1.0" } diff --git a/src/index.ts b/src/index.ts index 3f0a9d0..489f200 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,12 @@ +import cors from 'cors' import express from 'express' -import routes from './router' import { cache } from './api' +import routes from './router' const app = express() app.use(cache) +app.use(cors()) app.use('/', routes) const port = process.env.PORT || 5000 diff --git a/yarn.lock b/yarn.lock index e379df1..e2b6680 100644 --- a/yarn.lock +++ b/yarn.lock @@ -61,6 +61,11 @@ dependencies: "@types/node" "*" +"@types/cors@^2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -349,6 +354,14 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -964,6 +977,11 @@ nth-check@^2.0.0: dependencies: boolbase "^1.0.0" +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -1336,7 +1354,7 @@ v8-compile-cache-lib@^3.0.0: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== -vary@~1.1.2: +vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= From 8b698357fa75857293fad16e42ef615f610d44fc Mon Sep 17 00:00:00 2001 From: Darkangeel_hd Date: Wed, 22 Jun 2022 03:09:28 +0200 Subject: [PATCH 2/3] Fixed typo in '/latest' endpoint It also maintains compatibility with old call --- docs/Endpoints.md | 2 +- src/controllers/index.ts | 2 +- src/controllers/{lastest.ts => latest.ts} | 2 +- src/router.ts | 6 +++--- src/types.d.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) rename src/controllers/{lastest.ts => latest.ts} (92%) diff --git a/docs/Endpoints.md b/docs/Endpoints.md index 3fcc796..caa5998 100644 --- a/docs/Endpoints.md +++ b/docs/Endpoints.md @@ -1,6 +1,6 @@ ## Endpoints -> PATH: /lastest +> PATH: /latest |Querys|Params| |-|-| diff --git a/src/controllers/index.ts b/src/controllers/index.ts index 3d912f2..085ebbb 100644 --- a/src/controllers/index.ts +++ b/src/controllers/index.ts @@ -1,6 +1,6 @@ export * from './all' export * from './anime' -export * from './lastest' +export * from './latest' export * from './calendar' export * from './emision' export * from './search' diff --git a/src/controllers/lastest.ts b/src/controllers/latest.ts similarity index 92% rename from src/controllers/lastest.ts rename to src/controllers/latest.ts index 5684d7f..11f36f3 100644 --- a/src/controllers/lastest.ts +++ b/src/controllers/latest.ts @@ -1,7 +1,7 @@ import { Controller } from '../types' import { get, parse, attr, url } from '../api' -export const getLastest: Controller = async (req, res) => { +export const getLatest: Controller = async (req, res) => { try { const { data } = await get(url) const html = parse(data) diff --git a/src/router.ts b/src/router.ts index fdedb9e..dfe3459 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,7 +1,7 @@ import { Router } from 'express' import { getAll, - getLastest, + getLatest, getCalendar, getEmision, getAnime, @@ -18,7 +18,7 @@ routes.get('/', (_, res) => { author: 'Carlos Burelo', repository: 'https://github.com/carlos-burelo/monoschinos-api-v2', endpoints: { - lastest: '/lastest', + latest: '/latest', emision: '/emision', calendar: '/week', getAnimeByID: '/anime/:id', @@ -34,7 +34,7 @@ routes.get('/', (_, res) => { }) routes.get('/all', getAll) -routes.get('/lastest', getLastest) +routes.get(['/lastest', '/latest'], getLatest) routes.get('/week', getCalendar) routes.get('/emision', getEmision) routes.get('/anime/:id', getAnime) diff --git a/src/types.d.ts b/src/types.d.ts index 7b2ba8b..13d65cd 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -2,7 +2,7 @@ import { Request, Response } from 'express' export type Controller = (req: Request, res: Response) => void -export interface Lastest { +export interface Latest { id: string title: string image: string From 3582eb65c90bad59614055c521964b94e107161f Mon Sep 17 00:00:00 2001 From: Darkangeel_hd Date: Wed, 22 Jun 2022 03:40:51 +0200 Subject: [PATCH 3/3] Remaned endpoint to by consistent with namescheme getAnimesByPage --> getAnimeByPage also fixed another typo --- src/router.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/router.ts b/src/router.ts index dfe3459..164a2e3 100644 --- a/src/router.ts +++ b/src/router.ts @@ -22,12 +22,12 @@ routes.get('/', (_, res) => { emision: '/emision', calendar: '/week', getAnimeByID: '/anime/:id', - getAnimesByPage: '/all', + getAnimeByPage: '/all', getEpisodeByID: '/ver/:id', searchAnimeByID: '/search/:id', filterBy: { path: '/filterBy', - querys: ['categoria', 'fecha', 'genero', 'letra', 'pagina'], + query: ['categoria', 'fecha', 'genero', 'letra', 'pagina'], }, }, })