diff --git a/Dockerfile b/Dockerfile index 302666a..6ccb204 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,10 +5,7 @@ FROM node:18-alpine WORKDIR /app # Copy the current directory contents into the container at /app -COPY config /app/config -COPY lib /app/lib -COPY sections /app/sections -COPY index.js /app +COPY src /app/src COPY package.json /app COPY dotenv /app/.env diff --git a/dotenv b/dotenv index 4c51b11..5b2c5ed 100644 --- a/dotenv +++ b/dotenv @@ -1,9 +1,9 @@ SERVER_PORT=3000 ROOT_PATH=/home/josepablocb/Documents/Work/EnRuta/SysS/ETAAPI -API_CONFIG=config/apiConfig_local.json +API_CONFIG=src/config/apiConfig_local.json ############################ # PATHS relative to ROOT ############################ -LIB_PATH=lib -MODELS_PATH=lib/Models -HANDLERS_PATH=lib/Handlers +LIB_PATH=src/lib +MODELS_PATH=src/lib/Models +HANDLERS_PATH=src/lib/Handlers diff --git a/lib/Handlers/Companies.handler.js b/lib/Handlers/Companies.handler.js deleted file mode 100644 index f99c0c1..0000000 --- a/lib/Handlers/Companies.handler.js +++ /dev/null @@ -1,9 +0,0 @@ -'user strict'; -const { ROOT_PATH, HANDLERS_PATH, MODELS_PATH, API_CONFIG } = process.env; -const companiesModel = require( `${ROOT_PATH}/${MODELS_PATH}/companies.model.js` ); - -async function getCompanyData( id ){ - return await companiesModel.findById( id ); -} - -module.exports = { getCompanyData }; diff --git a/package.json b/package.json index f26f8c7..36db628 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "ETA API", "main": "index.js", "scripts": { - "start": "node index.js", - "dev": "nodemon index.js" + "start": "node src/", + "dev": "nodemon src/" }, "repository": { "type": "git", diff --git a/scripts/ci_functions.sh b/scripts/ci_functions.sh index 18e163a..dab54d0 100755 --- a/scripts/ci_functions.sh +++ b/scripts/ci_functions.sh @@ -8,7 +8,7 @@ function build_docker(){ return -1 fi CONTAINER_NAME=$1 - cat config/apiConfig.json > config/apiConfig_local.json + cat src/config/apiConfig.json > src/config/apiConfig_local.json set -x docker rmi -f "$AWS_ECR_REPO/$CONTAINER_NAME" diff --git a/src/apps/index.js b/src/apps/index.js new file mode 100644 index 0000000..0bcd457 --- /dev/null +++ b/src/apps/index.js @@ -0,0 +1,10 @@ +const express = require('express'); +const app = express(); + +const private = require('./private'); +const public = require('./public'); + +app.use( public ); +app.use( private ); + +module.exports = app; diff --git a/src/apps/private/index.js b/src/apps/private/index.js new file mode 100644 index 0000000..5648e42 --- /dev/null +++ b/src/apps/private/index.js @@ -0,0 +1,37 @@ +'use strict'; +const { ROOT_PATH , LIB_PATH } = process.env; + +/// Router instance +const router = require('express').Router(); +const jwtValidator = require( `${ROOT_PATH}/${LIB_PATH}/jwtValidator.js` ); + +const loadAttachments = require('./load-attachments/routes.js'); +const loads = require('./loads/routes.js'); +const users = require('./users/routes.js'); + +router.use( jwtValidator.middleware ); + +router.use('/load-attachments', loadAttachments ); +router.use('/loads', loads); +router.use('/users', users); + +/* +router.use('/orders', test); +router.use('/companies', test); +router.use('/vehicles', test); +router.use('/mailer', test); +router.use('/authmanagement', test); +router.use('/memberships', test); +router.use('/checkAccount', test); +router.use('/proposals', test); +router.use('/bootresolvers', test); +router.use('/budgets', test); +router.use('/news', test); +router.use('/branches', test); +router.use('/trackings', test); +router.use('/upload', test); +router.use('/calendars', test); +router.use('/dashboard', test); +*/ + +module.exports = router; diff --git a/sections/load-attachments/routes.js b/src/apps/private/load-attachments/routes.js similarity index 100% rename from sections/load-attachments/routes.js rename to src/apps/private/load-attachments/routes.js diff --git a/sections/load-attachments/services.js b/src/apps/private/load-attachments/services.js similarity index 100% rename from sections/load-attachments/services.js rename to src/apps/private/load-attachments/services.js diff --git a/sections/loads/routes.js b/src/apps/private/loads/routes.js similarity index 100% rename from sections/loads/routes.js rename to src/apps/private/loads/routes.js diff --git a/sections/loads/services.js b/src/apps/private/loads/services.js similarity index 100% rename from sections/loads/services.js rename to src/apps/private/loads/services.js diff --git a/sections/users/routes.js b/src/apps/private/users/routes.js similarity index 100% rename from sections/users/routes.js rename to src/apps/private/users/routes.js diff --git a/sections/users/services.js b/src/apps/private/users/services.js similarity index 100% rename from sections/users/services.js rename to src/apps/private/users/services.js diff --git a/sections/cities/routes.js b/src/apps/public/cities/routes.js similarity index 100% rename from sections/cities/routes.js rename to src/apps/public/cities/routes.js diff --git a/sections/cities/services.js b/src/apps/public/cities/services.js similarity index 100% rename from sections/cities/services.js rename to src/apps/public/cities/services.js diff --git a/sections/countries/routes.js b/src/apps/public/countries/routes.js similarity index 100% rename from sections/countries/routes.js rename to src/apps/public/countries/routes.js diff --git a/sections/countries/services.js b/src/apps/public/countries/services.js similarity index 100% rename from sections/countries/services.js rename to src/apps/public/countries/services.js diff --git a/sections/sections.js b/src/apps/public/index.js similarity index 53% rename from sections/sections.js rename to src/apps/public/index.js index fabd2f8..b672e9c 100644 --- a/sections/sections.js +++ b/src/apps/public/index.js @@ -3,12 +3,9 @@ const { ROOT_PATH , LIB_PATH } = process.env; /// Router instance const router = require('express').Router(); -const jwtValidator = require( `${ROOT_PATH}/${LIB_PATH}/jwtValidator.js` ); const cities = require('./cities/routes.js'); const countries = require('./countries/routes.js'); -const loadAttachments = require('./load-attachments/routes.js'); -const loads = require('./loads/routes.js'); const metaData = require('./meta-data/routes.js'); const metaGroups = require('./meta-groups/routes.js'); const productCategories = require('./product-categories/routes.js'); @@ -17,10 +14,9 @@ const publicVehicles = require('./public-vehicles/routes.js'); const publicLoadAttachments = require('./public-load-attachments/routes.js'); const states = require('./states/routes.js'); const test = require('./test/routes.js'); -const users = require('./users/routes.js'); -router.use('/countries', countries); router.use('/cities', cities); +router.use('/countries', countries); router.use('/meta-data', metaData); router.use('/meta-groups', metaGroups); router.use('/product-categories', productCategories); @@ -31,32 +27,4 @@ router.use('/states', states); router.use("/test", test); -router.use( jwtValidator.middleware ); - -router.use('/users', users); - -router.use('/load-attachments', loadAttachments ); -router.use('/loads', loads); - -router.use('/orders', test); -router.use('/companies', test); -router.use('/vehicles', test); -router.use('/mailer', test); -router.use('/authmanagement', test); -router.use('/memberships', test); -router.use('/checkAccount', test); -router.use('/proposals', test); -router.use('/bootresolvers', test); -router.use('/budgets', test); -router.use('/news', test); -router.use('/branches', test); -router.use('/trackings', test); -router.use('/upload', test); -router.use('/calendars', test); -router.use('/dashboard', test); - -/** - * TODO: Add extra middleware to enable endpoints to lock admin resources. - */ - module.exports = router; diff --git a/sections/meta-data/routes.js b/src/apps/public/meta-data/routes.js similarity index 100% rename from sections/meta-data/routes.js rename to src/apps/public/meta-data/routes.js diff --git a/sections/meta-data/services.js b/src/apps/public/meta-data/services.js similarity index 100% rename from sections/meta-data/services.js rename to src/apps/public/meta-data/services.js diff --git a/sections/meta-groups/routes.js b/src/apps/public/meta-groups/routes.js similarity index 100% rename from sections/meta-groups/routes.js rename to src/apps/public/meta-groups/routes.js diff --git a/sections/meta-groups/services.js b/src/apps/public/meta-groups/services.js similarity index 100% rename from sections/meta-groups/services.js rename to src/apps/public/meta-groups/services.js diff --git a/sections/product-categories/routes.js b/src/apps/public/product-categories/routes.js similarity index 100% rename from sections/product-categories/routes.js rename to src/apps/public/product-categories/routes.js diff --git a/sections/product-categories/services.js b/src/apps/public/product-categories/services.js similarity index 100% rename from sections/product-categories/services.js rename to src/apps/public/product-categories/services.js diff --git a/sections/products/routes.js b/src/apps/public/products/routes.js similarity index 100% rename from sections/products/routes.js rename to src/apps/public/products/routes.js diff --git a/sections/products/services.js b/src/apps/public/products/services.js similarity index 100% rename from sections/products/services.js rename to src/apps/public/products/services.js diff --git a/sections/public-load-attachments/routes.js b/src/apps/public/public-load-attachments/routes.js similarity index 100% rename from sections/public-load-attachments/routes.js rename to src/apps/public/public-load-attachments/routes.js diff --git a/sections/public-load-attachments/services.js b/src/apps/public/public-load-attachments/services.js similarity index 100% rename from sections/public-load-attachments/services.js rename to src/apps/public/public-load-attachments/services.js diff --git a/sections/public-vehicles/routes.js b/src/apps/public/public-vehicles/routes.js similarity index 100% rename from sections/public-vehicles/routes.js rename to src/apps/public/public-vehicles/routes.js diff --git a/sections/public-vehicles/services.js b/src/apps/public/public-vehicles/services.js similarity index 100% rename from sections/public-vehicles/services.js rename to src/apps/public/public-vehicles/services.js diff --git a/sections/states/routes.js b/src/apps/public/states/routes.js similarity index 100% rename from sections/states/routes.js rename to src/apps/public/states/routes.js diff --git a/sections/states/services.js b/src/apps/public/states/services.js similarity index 100% rename from sections/states/services.js rename to src/apps/public/states/services.js diff --git a/sections/test/routes.js b/src/apps/public/test/routes.js similarity index 100% rename from sections/test/routes.js rename to src/apps/public/test/routes.js diff --git a/sections/test/services.js b/src/apps/public/test/services.js similarity index 100% rename from sections/test/services.js rename to src/apps/public/test/services.js diff --git a/config/apiConfig.json b/src/config/apiConfig.json similarity index 97% rename from config/apiConfig.json rename to src/config/apiConfig.json index 88842a3..a1c46af 100644 --- a/config/apiConfig.json +++ b/src/config/apiConfig.json @@ -14,7 +14,7 @@ } }, "version" : { - "version" : "0.0.0", + "version" : "1.0.14", "name": "ETA Beta", "date":"10/2023" }, diff --git a/config/apiConfig_local.json b/src/config/apiConfig_local.json similarity index 97% rename from config/apiConfig_local.json rename to src/config/apiConfig_local.json index 7c5c25f..e4b4f71 100644 --- a/config/apiConfig_local.json +++ b/src/config/apiConfig_local.json @@ -14,7 +14,7 @@ } }, "version" : { - "version" : "0.0.0", + "version" : "1.0.14", "name": "ETA Beta", "date":"10/2023" }, diff --git a/index.js b/src/index.js similarity index 96% rename from index.js rename to src/index.js index 0de2b41..5a9c0f1 100644 --- a/index.js +++ b/src/index.js @@ -2,6 +2,7 @@ require('dotenv').config(); const { ROOT_PATH, LIB_PATH, API_CONFIG } = process.env; const apiConfig = require( `${ROOT_PATH}/${API_CONFIG}` ); +const apps = require('./apps'); const express = require('express'); const cors = require('cors'); @@ -10,7 +11,6 @@ const morgan = require('morgan'); const helmet = require('helmet'); const bodyParser = require('body-parser'); const fileUpload = require('express-fileupload'); -const sections = require('./sections/sections.js'); const middlewares = require( `${ROOT_PATH}/${LIB_PATH}/Middlewares.js` ); const mongoose = require('mongoose'); @@ -59,7 +59,7 @@ app.use(cors({ allowedHeaders: ['Content-Type', 'Authorization'] })); app.use( middlewares.errorJSON ); -app.use( sections ); +app.use( apps ); app.use( middlewares.error404 ); app.listen( serverPort , function(err){ diff --git a/lib/Handlers/Generic.handler.js b/src/lib/Handlers/Generic.handler.js similarity index 100% rename from lib/Handlers/Generic.handler.js rename to src/lib/Handlers/Generic.handler.js diff --git a/lib/Handlers/Users.handler.js b/src/lib/Handlers/Users.handler.js similarity index 100% rename from lib/Handlers/Users.handler.js rename to src/lib/Handlers/Users.handler.js diff --git a/lib/Middlewares.js b/src/lib/Middlewares.js similarity index 100% rename from lib/Middlewares.js rename to src/lib/Middlewares.js diff --git a/lib/Misc.js b/src/lib/Misc.js similarity index 100% rename from lib/Misc.js rename to src/lib/Misc.js diff --git a/lib/Models/branches.model.js b/src/lib/Models/branches.model.js similarity index 100% rename from lib/Models/branches.model.js rename to src/lib/Models/branches.model.js diff --git a/lib/Models/budgets.model.js b/src/lib/Models/budgets.model.js similarity index 100% rename from lib/Models/budgets.model.js rename to src/lib/Models/budgets.model.js diff --git a/lib/Models/cities.model.js b/src/lib/Models/cities.model.js similarity index 100% rename from lib/Models/cities.model.js rename to src/lib/Models/cities.model.js diff --git a/lib/Models/companies.model.js b/src/lib/Models/companies.model.js similarity index 100% rename from lib/Models/companies.model.js rename to src/lib/Models/companies.model.js diff --git a/lib/Models/countries.model.js b/src/lib/Models/countries.model.js similarity index 100% rename from lib/Models/countries.model.js rename to src/lib/Models/countries.model.js diff --git a/lib/Models/load-attachments.model.js b/src/lib/Models/load-attachments.model.js similarity index 100% rename from lib/Models/load-attachments.model.js rename to src/lib/Models/load-attachments.model.js diff --git a/lib/Models/loads.model.js b/src/lib/Models/loads.model.js similarity index 100% rename from lib/Models/loads.model.js rename to src/lib/Models/loads.model.js diff --git a/lib/Models/mailer.model.js b/src/lib/Models/mailer.model.js similarity index 100% rename from lib/Models/mailer.model.js rename to src/lib/Models/mailer.model.js diff --git a/lib/Models/memberships.model.js b/src/lib/Models/memberships.model.js similarity index 100% rename from lib/Models/memberships.model.js rename to src/lib/Models/memberships.model.js diff --git a/lib/Models/meta-data.model.js b/src/lib/Models/meta-data.model.js similarity index 100% rename from lib/Models/meta-data.model.js rename to src/lib/Models/meta-data.model.js diff --git a/lib/Models/meta-groups.model.js b/src/lib/Models/meta-groups.model.js similarity index 100% rename from lib/Models/meta-groups.model.js rename to src/lib/Models/meta-groups.model.js diff --git a/lib/Models/news.model.js b/src/lib/Models/news.model.js similarity index 100% rename from lib/Models/news.model.js rename to src/lib/Models/news.model.js diff --git a/lib/Models/orders.model.js b/src/lib/Models/orders.model.js similarity index 100% rename from lib/Models/orders.model.js rename to src/lib/Models/orders.model.js diff --git a/lib/Models/product-categories.model.js b/src/lib/Models/product-categories.model.js similarity index 100% rename from lib/Models/product-categories.model.js rename to src/lib/Models/product-categories.model.js diff --git a/lib/Models/products.model.js b/src/lib/Models/products.model.js similarity index 100% rename from lib/Models/products.model.js rename to src/lib/Models/products.model.js diff --git a/lib/Models/proposals.model.js b/src/lib/Models/proposals.model.js similarity index 100% rename from lib/Models/proposals.model.js rename to src/lib/Models/proposals.model.js diff --git a/lib/Models/states.model.js b/src/lib/Models/states.model.js similarity index 100% rename from lib/Models/states.model.js rename to src/lib/Models/states.model.js diff --git a/lib/Models/trackings.model.js b/src/lib/Models/trackings.model.js similarity index 100% rename from lib/Models/trackings.model.js rename to src/lib/Models/trackings.model.js diff --git a/lib/Models/users.model.js b/src/lib/Models/users.model.js similarity index 100% rename from lib/Models/users.model.js rename to src/lib/Models/users.model.js diff --git a/lib/Models/vehicles.model.js b/src/lib/Models/vehicles.model.js similarity index 100% rename from lib/Models/vehicles.model.js rename to src/lib/Models/vehicles.model.js diff --git a/lib/jwtValidator.js b/src/lib/jwtValidator.js similarity index 100% rename from lib/jwtValidator.js rename to src/lib/jwtValidator.js