feat(api): implement API improvements
							parent
							
								
									1adb4cc547
								
							
						
					
					
						commit
						0ae216e9bc
					
				
							
								
								
									
										26
									
								
								app.js
								
								
								
								
							
							
						
						
									
										26
									
								
								app.js
								
								
								
								
							|  | @ -6,13 +6,18 @@ const express = require('express') | |||
| const app = express() | ||||
| 
 | ||||
| // rest of the packages
 | ||||
| const morgan = require('morgan')  | ||||
| const morgan = require('morgan') | ||||
| // const fileUpload = require('express-fileupload')
 | ||||
| 
 | ||||
| const rateLimiter = require('express-rate-limit') | ||||
| const helmet = require('helmet') | ||||
| const xss = require('xss-clean') | ||||
| const cors = require('cors')  | ||||
| const cors = require('cors') | ||||
| 
 | ||||
| // Swagger
 | ||||
| const swaggerUI = require('swagger-ui-express') | ||||
| const YAML = require('yamljs') | ||||
| const swaggerDocument = YAML.load('./swagger.yaml') | ||||
| 
 | ||||
| // database
 | ||||
| const connectDB = require('./db/connect') | ||||
|  | @ -34,23 +39,21 @@ app.use(rateLimiter({ | |||
| // Security packages
 | ||||
| app.use(helmet()) | ||||
| app.use(cors()) | ||||
| app.use(xss())  | ||||
| app.use(xss()) | ||||
| 
 | ||||
| app.use(morgan('tiny')) | ||||
| app.use(express.json())  | ||||
| app.use(express.json()) | ||||
| 
 | ||||
| app.use(express.static('./public')) | ||||
| // app.use(express.static('./public'))
 | ||||
| // app.use(fileUpload())
 | ||||
| 
 | ||||
| 
 | ||||
| app.get('/', (req, res) => { | ||||
|     res.send('e-commerce api') | ||||
|     res.send('<h1>Sentiment API</h1><a href="/api-docs">Documentation</a>') | ||||
| }) | ||||
| 
 | ||||
| // app.get('/api/v1/', (req, res) => {
 | ||||
| //     console.log(req.signedCookies)
 | ||||
| //     res.send('e-commerce api')
 | ||||
| // })
 | ||||
|   | ||||
| app.use('/api-docs', swaggerUI.serve, swaggerUI.setup(swaggerDocument)) | ||||
| 
 | ||||
| app.use('/api/v1/nl', nlRouter) | ||||
| 
 | ||||
| app.use(notFoundMiddlware) | ||||
|  | @ -59,4 +62,3 @@ app.use(errorHandlerMiddleware) | |||
| const port = process.env.PORT || 3000 | ||||
| 
 | ||||
| app.listen(port, console.log(`Listening on port: ${port}...`)) | ||||
|   | ||||
|  | @ -16,7 +16,7 @@ const getSentiment = async (req, res) => { | |||
| const getAudioFromText = async (req, res) => { | ||||
| 
 | ||||
|     const { text, voice_name, voice_gender, languageCode } = req.query | ||||
| 
 | ||||
|   | ||||
|     if ((voice_name || voice_gender || languageCode) && languageCode == 'pt-BR') { | ||||
| 
 | ||||
|         const config = { voice_name, voice_gender, languageCode } | ||||
|  | @ -32,12 +32,26 @@ const getAudioFromText = async (req, res) => { | |||
|         }) | ||||
| 
 | ||||
|         if (!voice) | ||||
|             throw new CustomError.BadRequestError(`Wrong config voice combination! Check the endpoint(http://localhost:3000/api/v1/nl/voice-config) to display the available configurations to a language`) | ||||
|             throw new CustomError.BadRequestError(`Wrong config voice combination! Check the endpoint(http://localhost:6001/api/v1/nl/voice-config) to display the available configurations to a language`) | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     const audioBuffer = await convertTextToSpeech(text, voice_name, voice_gender, languageCode) | ||||
| 
 | ||||
| 
 | ||||
|     if (voice_name && voice_gender && languageCode){ | ||||
|         filename = `${voice_name}_${voice_gender}_${languageCode}.mp3` | ||||
|     } | ||||
|     else{ | ||||
|         filename = `pt-BR-Standard-B_MALE_pt-BR.mp3` | ||||
|     } | ||||
|     | ||||
|     // Set the Content-Disposition header 
 | ||||
|     // res.set("Content-Disposition", `attachment; filename="${filename}"`); 
 | ||||
|     res.set("Content-Disposition", `inline; filename="${filename}"`); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     res.contentType('audio/mpeg') | ||||
| 
 | ||||
|     res.status(StatusCodes.OK).send(audioBuffer) | ||||
|  |  | |||
|  | @ -25,8 +25,10 @@ | |||
|         "joi": "^17.4.0", | ||||
|         "mongoose": "^7.3.1", | ||||
|         "morgan": "^1.10.0", | ||||
|         "swagger-ui-express": "^4.1.6", | ||||
|         "validator": "^13.6.0", | ||||
|         "xss-clean": "^0.1.1" | ||||
|         "xss-clean": "^0.1.1", | ||||
|         "yamljs": "^0.3.0" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@commitlint/cli": "^17.7.2", | ||||
|  | @ -1006,8 +1008,7 @@ | |||
|     "node_modules/balanced-match": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | ||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", | ||||
|       "dev": true | ||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||||
|     }, | ||||
|     "node_modules/base64-js": { | ||||
|       "version": "1.5.1", | ||||
|  | @ -1107,7 +1108,6 @@ | |||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|  | @ -1358,8 +1358,7 @@ | |||
|     "node_modules/concat-map": { | ||||
|       "version": "0.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | ||||
|       "dev": true | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||||
|     }, | ||||
|     "node_modules/configstore": { | ||||
|       "version": "5.0.1", | ||||
|  | @ -1977,6 +1976,11 @@ | |||
|         "node": ">=14.14" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/fs.realpath": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||||
|       "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" | ||||
|     }, | ||||
|     "node_modules/gaxios": { | ||||
|       "version": "6.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.1.1.tgz", | ||||
|  | @ -2042,6 +2046,25 @@ | |||
|         "node": ">=10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/glob": { | ||||
|       "version": "7.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", | ||||
|       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", | ||||
|       "dependencies": { | ||||
|         "fs.realpath": "^1.0.0", | ||||
|         "inflight": "^1.0.4", | ||||
|         "inherits": "2", | ||||
|         "minimatch": "^3.1.1", | ||||
|         "once": "^1.3.0", | ||||
|         "path-is-absolute": "^1.0.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "*" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/isaacs" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/glob-parent": { | ||||
|       "version": "5.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
|  | @ -2355,6 +2378,15 @@ | |||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/inflight": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||||
|       "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", | ||||
|       "dependencies": { | ||||
|         "once": "^1.3.0", | ||||
|         "wrappy": "1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/inherits": { | ||||
|       "version": "2.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||||
|  | @ -2992,10 +3024,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "node_modules/minimatch": { | ||||
|       "version": "3.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||||
|       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||||
|       "dev": true, | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       }, | ||||
|  | @ -3503,6 +3534,14 @@ | |||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/path-is-absolute": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||||
|       "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", | ||||
|       "engines": { | ||||
|         "node": ">=0.10.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/path-key": { | ||||
|       "version": "3.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", | ||||
|  | @ -4174,6 +4213,11 @@ | |||
|         "readable-stream": "^3.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/sprintf-js": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | ||||
|       "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" | ||||
|     }, | ||||
|     "node_modules/statuses": { | ||||
|       "version": "1.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | ||||
|  | @ -4300,6 +4344,25 @@ | |||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/swagger-ui-dist": { | ||||
|       "version": "5.9.0", | ||||
|       "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.9.0.tgz", | ||||
|       "integrity": "sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA==" | ||||
|     }, | ||||
|     "node_modules/swagger-ui-express": { | ||||
|       "version": "4.6.3", | ||||
|       "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.6.3.tgz", | ||||
|       "integrity": "sha512-CDje4PndhTD2HkgyKH3pab+LKspDeB/NhPN2OF1j+piYIamQqBYwAXWESOT1Yju2xFg51bRW9sUng2WxDjzArw==", | ||||
|       "dependencies": { | ||||
|         "swagger-ui-dist": ">=4.11.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= v0.10.32" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "express": ">=4.0.0 || >=5.0.0-beta" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/term-size": { | ||||
|       "version": "2.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", | ||||
|  | @ -4729,6 +4792,27 @@ | |||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||
|       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||||
|     }, | ||||
|     "node_modules/yamljs": { | ||||
|       "version": "0.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz", | ||||
|       "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==", | ||||
|       "dependencies": { | ||||
|         "argparse": "^1.0.7", | ||||
|         "glob": "^7.0.5" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "json2yaml": "bin/json2yaml", | ||||
|         "yaml2json": "bin/yaml2json" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/yamljs/node_modules/argparse": { | ||||
|       "version": "1.0.10", | ||||
|       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | ||||
|       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | ||||
|       "dependencies": { | ||||
|         "sprintf-js": "~1.0.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/yargs": { | ||||
|       "version": "17.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", | ||||
|  | @ -5563,8 +5647,7 @@ | |||
|     "balanced-match": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | ||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", | ||||
|       "dev": true | ||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||||
|     }, | ||||
|     "base64-js": { | ||||
|       "version": "1.5.1", | ||||
|  | @ -5632,7 +5715,6 @@ | |||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
|  | @ -5825,8 +5907,7 @@ | |||
|     "concat-map": { | ||||
|       "version": "0.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | ||||
|       "dev": true | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||||
|     }, | ||||
|     "configstore": { | ||||
|       "version": "5.0.1", | ||||
|  | @ -6290,6 +6371,11 @@ | |||
|         "universalify": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "fs.realpath": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||||
|       "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" | ||||
|     }, | ||||
|     "gaxios": { | ||||
|       "version": "6.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.1.1.tgz", | ||||
|  | @ -6337,6 +6423,19 @@ | |||
|         "through2": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "glob": { | ||||
|       "version": "7.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", | ||||
|       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", | ||||
|       "requires": { | ||||
|         "fs.realpath": "^1.0.0", | ||||
|         "inflight": "^1.0.4", | ||||
|         "inherits": "2", | ||||
|         "minimatch": "^3.1.1", | ||||
|         "once": "^1.3.0", | ||||
|         "path-is-absolute": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "glob-parent": { | ||||
|       "version": "5.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
|  | @ -6568,6 +6667,15 @@ | |||
|       "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "inflight": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||||
|       "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", | ||||
|       "requires": { | ||||
|         "once": "^1.3.0", | ||||
|         "wrappy": "1" | ||||
|       } | ||||
|     }, | ||||
|     "inherits": { | ||||
|       "version": "2.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||||
|  | @ -7066,10 +7174,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "minimatch": { | ||||
|       "version": "3.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||||
|       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||||
|       "dev": true, | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "requires": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       } | ||||
|  | @ -7428,6 +7535,11 @@ | |||
|       "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "path-is-absolute": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||||
|       "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" | ||||
|     }, | ||||
|     "path-key": { | ||||
|       "version": "3.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", | ||||
|  | @ -7959,6 +8071,11 @@ | |||
|         "readable-stream": "^3.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "sprintf-js": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | ||||
|       "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" | ||||
|     }, | ||||
|     "statuses": { | ||||
|       "version": "1.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | ||||
|  | @ -8043,6 +8160,19 @@ | |||
|       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "swagger-ui-dist": { | ||||
|       "version": "5.9.0", | ||||
|       "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.9.0.tgz", | ||||
|       "integrity": "sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA==" | ||||
|     }, | ||||
|     "swagger-ui-express": { | ||||
|       "version": "4.6.3", | ||||
|       "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.6.3.tgz", | ||||
|       "integrity": "sha512-CDje4PndhTD2HkgyKH3pab+LKspDeB/NhPN2OF1j+piYIamQqBYwAXWESOT1Yju2xFg51bRW9sUng2WxDjzArw==", | ||||
|       "requires": { | ||||
|         "swagger-ui-dist": ">=4.11.0" | ||||
|       } | ||||
|     }, | ||||
|     "term-size": { | ||||
|       "version": "2.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", | ||||
|  | @ -8356,6 +8486,25 @@ | |||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||
|       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||||
|     }, | ||||
|     "yamljs": { | ||||
|       "version": "0.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz", | ||||
|       "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==", | ||||
|       "requires": { | ||||
|         "argparse": "^1.0.7", | ||||
|         "glob": "^7.0.5" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "argparse": { | ||||
|           "version": "1.0.10", | ||||
|           "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | ||||
|           "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | ||||
|           "requires": { | ||||
|             "sprintf-js": "~1.0.2" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "yargs": { | ||||
|       "version": "17.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", | ||||
|  |  | |||
|  | @ -27,7 +27,9 @@ | |||
|     "mongoose": "^7.3.1", | ||||
|     "morgan": "^1.10.0", | ||||
|     "validator": "^13.6.0", | ||||
|     "xss-clean": "^0.1.1" | ||||
|     "xss-clean": "^0.1.1", | ||||
|     "swagger-ui-express": "^4.1.6", | ||||
|     "yamljs": "^0.3.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@commitlint/cli": "^17.7.2", | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										9057
									
								
								public/index.html
								
								
								
								
							
							
						
						
									
										9057
									
								
								public/index.html
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -5,7 +5,7 @@ const { authorization, } = require('../middleware/authentication') | |||
| const { getSentiment, getAudioFromText, getVoiceConfig } = require('../controllers/naturalLanguageController') | ||||
| 
 | ||||
| router.route('/sentiment').post(authorization, getSentiment) | ||||
| router.route('/text-to-speech').get(authorization, getAudioFromText) | ||||
| router.route('/text-to-speech').get(getAudioFromText) | ||||
| router.route('/voice-config').get(getVoiceConfig) | ||||
| 
 | ||||
| module.exports = router | ||||
|  |  | |||
|  | @ -25,12 +25,7 @@ const sentiment = async (text) => { | |||
|         else if (sentiment.score <= 0.25) | ||||
|             status = 'neutral' | ||||
|         else | ||||
|             status = 'positive' | ||||
| 
 | ||||
|         console.log(` Text: ${document.content}`) | ||||
|         console.log(` Score: ${sentiment.score}`) | ||||
|         console.log(` Magnitude: ${sentiment.magnitude}`) | ||||
|         console.log(` languageCode: ${result.languageCode}`) | ||||
|             status = 'positive'  | ||||
| 
 | ||||
|     } catch (error) { | ||||
|         console.log(`Error in sentiment fuction on sentiment.js file: ${error}`) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue