From c3f0b08cb7d0ab462e07e49bc743ea743c4006e5 Mon Sep 17 00:00:00 2001 From: Josepablo C Date: Mon, 5 Aug 2024 15:33:23 -0600 Subject: [PATCH] feat: Split v1 and v2 apis --- .gitignore | 8 +- .gitlab-ci.yml | 87 +++++++++++++--- .vscode/tasks.json | 14 --- scripts/migrate.js | 41 ++++++++ Dockerfile => v1/Dockerfile | 0 README.md => v1/README.md | 0 dotenv => v1/dotenv | 2 +- package.json => v1/package.json | 1 - {scripts => v1/scripts}/ci_functions.sh | 0 {src => v1/src}/apps/index.js | 0 .../src}/apps/private/account/routes.js | 0 .../src}/apps/private/account/services.js | 0 .../src}/apps/private/branches/routes.js | 0 .../src}/apps/private/branches/services.js | 0 .../src}/apps/private/budgets/routes.js | 0 .../src}/apps/private/budgets/services.js | 0 .../src}/apps/private/companies/routes.js | 0 .../src}/apps/private/companies/services.js | 0 {src => v1/src}/apps/private/index.js | 0 .../src}/apps/private/lib/context/index.js | 0 .../apps/private/load-attachments/routes.js | 0 .../apps/private/load-attachments/services.js | 0 {src => v1/src}/apps/private/loads/routes.js | 0 .../src}/apps/private/loads/services.js | 0 .../src}/apps/private/proposals/routes.js | 0 .../src}/apps/private/proposals/services.js | 0 {src => v1/src}/apps/private/users/routes.js | 0 .../src}/apps/private/users/services.js | 0 .../src}/apps/private/vehicles/routes.js | 0 .../src}/apps/private/vehicles/services.js | 0 {src => v1/src}/apps/public/account/routes.js | 0 .../src}/apps/public/account/services.js | 0 {src => v1/src}/apps/public/cities/routes.js | 0 .../src}/apps/public/cities/services.js | 0 .../src}/apps/public/contact-email/routes.js | 0 .../apps/public/contact-email/services.js | 0 .../src}/apps/public/countries/routes.js | 0 .../src}/apps/public/countries/services.js | 0 {src => v1/src}/apps/public/index.js | 0 .../src}/apps/public/meta-data/routes.js | 0 .../src}/apps/public/meta-data/services.js | 0 .../src}/apps/public/meta-groups/routes.js | 0 .../src}/apps/public/meta-groups/services.js | 0 {src => v1/src}/apps/public/news/routes.js | 0 {src => v1/src}/apps/public/news/services.js | 0 .../apps/public/product-categories/routes.js | 0 .../public/product-categories/services.js | 0 .../src}/apps/public/products/routes.js | 0 .../src}/apps/public/products/services.js | 0 .../apps/public/public-companies/routes.js | 0 .../apps/public/public-companies/services.js | 0 .../public/public-load-attachments/routes.js | 0 .../public-load-attachments/services.js | 0 .../public/public-load-tracking/routes.js | 0 .../public/public-load-tracking/services.js | 0 .../src}/apps/public/public-loads/routes.js | 0 .../src}/apps/public/public-loads/services.js | 0 .../apps/public/public-vehicles/routes.js | 0 .../apps/public/public-vehicles/services.js | 0 {src => v1/src}/apps/public/states/routes.js | 0 .../src}/apps/public/states/services.js | 0 {src => v1/src}/apps/public/test/routes.js | 0 {src => v1/src}/apps/public/test/services.js | 0 {src => v1/src}/config/apiConfig.json | 0 {src => v1/src}/config/apiConfig_local.json | 0 {src => v1/src}/index.js | 0 {src => v1/src}/lib/Handlers/Account/index.js | 0 .../src}/lib/Handlers/Generic.handler.js | 0 .../Handlers/MailClient/SendGrid.handler.js | 0 .../Handlers/MailClient/StandAlone.handler.js | 0 .../src}/lib/Handlers/MailClient/index.js | 0 .../src}/lib/Handlers/Proposals.handler.js | 0 {src => v1/src}/lib/Handlers/Users.handler.js | 0 {src => v1/src}/lib/Middlewares.js | 0 {src => v1/src}/lib/Misc.js | 0 {src => v1/src}/lib/Models/branches.model.js | 0 {src => v1/src}/lib/Models/budgets.model.js | 0 {src => v1/src}/lib/Models/cities.model.js | 0 {src => v1/src}/lib/Models/companies.model.js | 0 {src => v1/src}/lib/Models/countries.model.js | 0 {src => v1/src}/lib/Models/index.js | 0 .../src}/lib/Models/load-attachments.model.js | 0 {src => v1/src}/lib/Models/loads.model.js | 0 {src => v1/src}/lib/Models/mailer.model.js | 0 .../src}/lib/Models/memberships.model.js | 0 {src => v1/src}/lib/Models/meta-data.model.js | 0 .../src}/lib/Models/meta-groups.model.js | 0 {src => v1/src}/lib/Models/news.model.js | 0 {src => v1/src}/lib/Models/orders.model.js | 0 .../lib/Models/product-categories.model.js | 0 {src => v1/src}/lib/Models/products.model.js | 0 {src => v1/src}/lib/Models/proposals.model.js | 0 {src => v1/src}/lib/Models/states.model.js | 0 {src => v1/src}/lib/Models/trackings.model.js | 0 {src => v1/src}/lib/Models/users.model.js | 0 {src => v1/src}/lib/Models/vehicles.model.js | 0 {src => v1/src}/lib/jwtValidator.js | 0 .../lib/handlers/proposals/common.test.js | 0 v2/Dockerfile | 17 ++++ v2/dotenv | 1 + v2/package.json | 53 ++++++++++ v2/scripts/ci_functions.sh | 93 ++++++++++++++++++ {server => v2/server}/README.md | 0 {server => v2/server}/config/apiConfig.json | 0 .../server}/docs/assets/APIDesign.drawio | 0 .../server}/docs/assets/APIDesign.png | Bin .../src/Apps/Account/Controller/index.js | 0 .../server}/src/Apps/Account/Domain/index.js | 0 .../src/Apps/Account/Ports/Events/index.js | 0 .../Apps/Account/Ports/Interfaces/index.js | 0 .../src/Apps/Account/Ports/Public/index.js | 0 .../Account/Repository/Objection/index.js | 0 .../src/Apps/Account/Repository/index.js | 0 {server => v2/server}/src/Controller/index.js | 0 .../server}/src/Shared/ErrorResponse.js | 0 .../Models/Objection/companies.model.js | 0 .../Objection/company_categories.model.js | 0 .../Objection/company_truck_types.model.js | 0 .../src/Shared/Models/Objection/index.js | 0 .../Objection/load_attachments.model.js | 0 .../Models/Objection/load_categories.model.js | 0 .../Shared/Models/Objection/loads.model.js | 0 .../Objection/location_categories.model.js | 0 .../Objection/location_truck_types.model.js | 0 .../Models/Objection/locations.model.js | 0 .../Objection/metadata_categories.model.js | 0 .../Models/Objection/metadata_cities.model.js | 0 .../Objection/metadata_products.model.js | 0 .../Objection/metadata_truck_types.model.js | 0 .../Models/Objection/user_locations.model.js | 0 .../Models/Objection/user_sessions.model.js | 0 .../Shared/Models/Objection/users.model.js | 0 .../Objection/vechicle_publications.model.js | 0 .../Objection/vehicle_categories.model.js | 0 .../Shared/Models/Objection/vehicles.model.js | 0 .../server}/src/Shared/Resources/index.js | 0 {server => v2/server}/src/Shared/ShaUtils.js | 0 .../server}/src/SysS/Connections/index.js | 0 .../server}/src/SysS/Controller/index.js | 0 .../src/SysS/Controller/middlewares.js | 0 .../EmailEvents/SendGrid.handler.js | 0 .../EmailEvents/StandAlone.handler.js | 0 .../SysS/EventManager/EmailEvents/index.js | 0 .../server}/src/SysS/EventManager/index.js | 0 .../src/SysS/EventManager/resources.js | 0 .../server}/src/SysS/Template/index.js | 0 {server => v2/server}/src/SysS/index.js | 0 {server => v2/server}/src/index.js | 0 {server => v2/server}/test/index.js | 0 149 files changed, 284 insertions(+), 33 deletions(-) delete mode 100644 .vscode/tasks.json create mode 100644 scripts/migrate.js rename Dockerfile => v1/Dockerfile (100%) rename README.md => v1/README.md (100%) rename dotenv => v1/dotenv (77%) rename package.json => v1/package.json (97%) rename {scripts => v1/scripts}/ci_functions.sh (100%) mode change 100755 => 100644 rename {src => v1/src}/apps/index.js (100%) rename {src => v1/src}/apps/private/account/routes.js (100%) rename {src => v1/src}/apps/private/account/services.js (100%) rename {src => v1/src}/apps/private/branches/routes.js (100%) rename {src => v1/src}/apps/private/branches/services.js (100%) rename {src => v1/src}/apps/private/budgets/routes.js (100%) rename {src => v1/src}/apps/private/budgets/services.js (100%) rename {src => v1/src}/apps/private/companies/routes.js (100%) rename {src => v1/src}/apps/private/companies/services.js (100%) rename {src => v1/src}/apps/private/index.js (100%) rename {src => v1/src}/apps/private/lib/context/index.js (100%) rename {src => v1/src}/apps/private/load-attachments/routes.js (100%) rename {src => v1/src}/apps/private/load-attachments/services.js (100%) rename {src => v1/src}/apps/private/loads/routes.js (100%) rename {src => v1/src}/apps/private/loads/services.js (100%) rename {src => v1/src}/apps/private/proposals/routes.js (100%) rename {src => v1/src}/apps/private/proposals/services.js (100%) rename {src => v1/src}/apps/private/users/routes.js (100%) rename {src => v1/src}/apps/private/users/services.js (100%) rename {src => v1/src}/apps/private/vehicles/routes.js (100%) rename {src => v1/src}/apps/private/vehicles/services.js (100%) rename {src => v1/src}/apps/public/account/routes.js (100%) rename {src => v1/src}/apps/public/account/services.js (100%) rename {src => v1/src}/apps/public/cities/routes.js (100%) rename {src => v1/src}/apps/public/cities/services.js (100%) rename {src => v1/src}/apps/public/contact-email/routes.js (100%) rename {src => v1/src}/apps/public/contact-email/services.js (100%) rename {src => v1/src}/apps/public/countries/routes.js (100%) rename {src => v1/src}/apps/public/countries/services.js (100%) rename {src => v1/src}/apps/public/index.js (100%) rename {src => v1/src}/apps/public/meta-data/routes.js (100%) rename {src => v1/src}/apps/public/meta-data/services.js (100%) rename {src => v1/src}/apps/public/meta-groups/routes.js (100%) rename {src => v1/src}/apps/public/meta-groups/services.js (100%) rename {src => v1/src}/apps/public/news/routes.js (100%) rename {src => v1/src}/apps/public/news/services.js (100%) rename {src => v1/src}/apps/public/product-categories/routes.js (100%) rename {src => v1/src}/apps/public/product-categories/services.js (100%) rename {src => v1/src}/apps/public/products/routes.js (100%) rename {src => v1/src}/apps/public/products/services.js (100%) rename {src => v1/src}/apps/public/public-companies/routes.js (100%) rename {src => v1/src}/apps/public/public-companies/services.js (100%) rename {src => v1/src}/apps/public/public-load-attachments/routes.js (100%) rename {src => v1/src}/apps/public/public-load-attachments/services.js (100%) rename {src => v1/src}/apps/public/public-load-tracking/routes.js (100%) rename {src => v1/src}/apps/public/public-load-tracking/services.js (100%) rename {src => v1/src}/apps/public/public-loads/routes.js (100%) rename {src => v1/src}/apps/public/public-loads/services.js (100%) rename {src => v1/src}/apps/public/public-vehicles/routes.js (100%) rename {src => v1/src}/apps/public/public-vehicles/services.js (100%) rename {src => v1/src}/apps/public/states/routes.js (100%) rename {src => v1/src}/apps/public/states/services.js (100%) rename {src => v1/src}/apps/public/test/routes.js (100%) rename {src => v1/src}/apps/public/test/services.js (100%) rename {src => v1/src}/config/apiConfig.json (100%) rename {src => v1/src}/config/apiConfig_local.json (100%) rename {src => v1/src}/index.js (100%) rename {src => v1/src}/lib/Handlers/Account/index.js (100%) rename {src => v1/src}/lib/Handlers/Generic.handler.js (100%) rename {src => v1/src}/lib/Handlers/MailClient/SendGrid.handler.js (100%) rename {src => v1/src}/lib/Handlers/MailClient/StandAlone.handler.js (100%) rename {src => v1/src}/lib/Handlers/MailClient/index.js (100%) rename {src => v1/src}/lib/Handlers/Proposals.handler.js (100%) rename {src => v1/src}/lib/Handlers/Users.handler.js (100%) rename {src => v1/src}/lib/Middlewares.js (100%) rename {src => v1/src}/lib/Misc.js (100%) rename {src => v1/src}/lib/Models/branches.model.js (100%) rename {src => v1/src}/lib/Models/budgets.model.js (100%) rename {src => v1/src}/lib/Models/cities.model.js (100%) rename {src => v1/src}/lib/Models/companies.model.js (100%) rename {src => v1/src}/lib/Models/countries.model.js (100%) rename {src => v1/src}/lib/Models/index.js (100%) rename {src => v1/src}/lib/Models/load-attachments.model.js (100%) rename {src => v1/src}/lib/Models/loads.model.js (100%) rename {src => v1/src}/lib/Models/mailer.model.js (100%) rename {src => v1/src}/lib/Models/memberships.model.js (100%) rename {src => v1/src}/lib/Models/meta-data.model.js (100%) rename {src => v1/src}/lib/Models/meta-groups.model.js (100%) rename {src => v1/src}/lib/Models/news.model.js (100%) rename {src => v1/src}/lib/Models/orders.model.js (100%) rename {src => v1/src}/lib/Models/product-categories.model.js (100%) rename {src => v1/src}/lib/Models/products.model.js (100%) rename {src => v1/src}/lib/Models/proposals.model.js (100%) rename {src => v1/src}/lib/Models/states.model.js (100%) rename {src => v1/src}/lib/Models/trackings.model.js (100%) rename {src => v1/src}/lib/Models/users.model.js (100%) rename {src => v1/src}/lib/Models/vehicles.model.js (100%) rename {src => v1/src}/lib/jwtValidator.js (100%) rename {test => v1/test}/lib/handlers/proposals/common.test.js (100%) create mode 100644 v2/Dockerfile create mode 100644 v2/dotenv create mode 100644 v2/package.json create mode 100644 v2/scripts/ci_functions.sh rename {server => v2/server}/README.md (100%) rename {server => v2/server}/config/apiConfig.json (100%) rename {server => v2/server}/docs/assets/APIDesign.drawio (100%) rename {server => v2/server}/docs/assets/APIDesign.png (100%) rename {server => v2/server}/src/Apps/Account/Controller/index.js (100%) rename {server => v2/server}/src/Apps/Account/Domain/index.js (100%) rename {server => v2/server}/src/Apps/Account/Ports/Events/index.js (100%) rename {server => v2/server}/src/Apps/Account/Ports/Interfaces/index.js (100%) rename {server => v2/server}/src/Apps/Account/Ports/Public/index.js (100%) rename {server => v2/server}/src/Apps/Account/Repository/Objection/index.js (100%) rename {server => v2/server}/src/Apps/Account/Repository/index.js (100%) rename {server => v2/server}/src/Controller/index.js (100%) rename {server => v2/server}/src/Shared/ErrorResponse.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/companies.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/company_categories.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/company_truck_types.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/index.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/load_attachments.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/load_categories.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/loads.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/location_categories.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/location_truck_types.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/locations.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/metadata_categories.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/metadata_cities.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/metadata_products.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/metadata_truck_types.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/user_locations.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/user_sessions.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/users.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/vechicle_publications.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/vehicle_categories.model.js (100%) rename {server => v2/server}/src/Shared/Models/Objection/vehicles.model.js (100%) rename {server => v2/server}/src/Shared/Resources/index.js (100%) rename {server => v2/server}/src/Shared/ShaUtils.js (100%) rename {server => v2/server}/src/SysS/Connections/index.js (100%) rename {server => v2/server}/src/SysS/Controller/index.js (100%) rename {server => v2/server}/src/SysS/Controller/middlewares.js (100%) rename {server => v2/server}/src/SysS/EventManager/EmailEvents/SendGrid.handler.js (100%) rename {server => v2/server}/src/SysS/EventManager/EmailEvents/StandAlone.handler.js (100%) rename {server => v2/server}/src/SysS/EventManager/EmailEvents/index.js (100%) rename {server => v2/server}/src/SysS/EventManager/index.js (100%) rename {server => v2/server}/src/SysS/EventManager/resources.js (100%) rename {server => v2/server}/src/SysS/Template/index.js (100%) rename {server => v2/server}/src/SysS/index.js (100%) rename {server => v2/server}/src/index.js (100%) rename {server => v2/server}/test/index.js (100%) diff --git a/.gitignore b/.gitignore index df9d0ab..a5ab63d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -node_modules/ -.env -package-lock.json -.env -migrate.js +**/node_modules/ +**/.env +**/package-lock.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6ca7e6a..2055333 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,33 +4,96 @@ stages: - deploy variables: - PIPELINE_WORK_DIR: "./" - DOCKERFILE_PATH: "./" - API_CFG: "./config/default.json" - CONTAINER_NAME: "eta-etaapi" - PUBLIC_PORT: 7001 - PRIVATE_PORT: 3000 + PIPELINE_WORK_DIR_V1: "./v1" + CONTAINER_NAME_V1: "eta-etaapi" + PIPELINE_WORK_DIR_V2: "./v2" + CONTAINER_NAME_V2: "eta-etaapiv2" + PUBLIC_PORT_V1: 7001 + PRIVATE_PORT_V1: 3000 + PUBLIC_PORT_V2: 7002 + PRIVATE_PORT_V2: 3000 -build-job: - stage: build +.generic_build_job: &generic_build_job script: + - cd $PIPELINE_WORK_DIR - . ./scripts/ci_functions.sh - build_docker $CONTAINER_NAME only: - master -upload-job: - stage: upload +.generic_upload_job: &generic_upload_job script: + - cd $PIPELINE_WORK_DIR - . ./scripts/ci_functions.sh - upload_image only: - master -deploy-job: - stage: deploy +.generic_deploy_job: &generic_deploy_job script: + - cd $PIPELINE_WORK_DIR - . ./scripts/ci_functions.sh - deploy only: - master + + +build-v1-job: + stage: build + needs: [] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1" + CONTAINER_NAME: "$CONTAINER_NAME_V1" + PUBLIC_PORT: "$PUBLIC_PORT_V1" + PRIVATE_PORT: "$PRIVATE_PORT_V1" + <<: *generic_build_job + +build-v2-job: + stage: build + needs: [] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2" + CONTAINER_NAME: "$CONTAINER_NAME_V2" + PUBLIC_PORT: "$PUBLIC_PORT_V2" + PRIVATE_PORT: "$PRIVATE_PORT_V2" + <<: *generic_build_job + +upload-v1-job: + stage: upload + needs: ["build-v1-job"] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1" + CONTAINER_NAME: "$CONTAINER_NAME_V1" + PUBLIC_PORT: "$PUBLIC_PORT_V1" + PRIVATE_PORT: "$PRIVATE_PORT_V1" + <<: *generic_upload_job + +upload-v2-job: + stage: upload + needs: ["build-v2-job"] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2" + CONTAINER_NAME: "$CONTAINER_NAME_V2" + PUBLIC_PORT: "$PUBLIC_PORT_V2" + PRIVATE_PORT: "$PRIVATE_PORT_V2" + <<: *generic_upload_job + +deploy-v1-job: + stage: deploy + needs: ["upload-v1-job"] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1" + CONTAINER_NAME: "$CONTAINER_NAME_V1" + PUBLIC_PORT: "$PUBLIC_PORT_V1" + PRIVATE_PORT: "$PRIVATE_PORT_V1" + <<: *generic_deploy_job + +deploy-v2-job: + stage: deploy + needs: ["upload-v2-job"] + variables: + PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2" + CONTAINER_NAME: "$CONTAINER_NAME_V2" + PUBLIC_PORT: "$PUBLIC_PORT_V2" + PRIVATE_PORT: "$PRIVATE_PORT_V2" + <<: *generic_deploy_job diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 3f3b641..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "dev", - "problemMatcher": [ - "$node-sass" - ], - "label": "npm: dev", - "detail": "nodemon src/" - } - ] -} \ No newline at end of file diff --git a/scripts/migrate.js b/scripts/migrate.js new file mode 100644 index 0000000..003372c --- /dev/null +++ b/scripts/migrate.js @@ -0,0 +1,41 @@ +'use strict'; +require('dotenv').config(); +const { ROOT_PATH, LIB_PATH, API_CONFIG } = process.env; +const apiConfig = require( `${ROOT_PATH}/${API_CONFIG}` ); +const { getModel } = require( './src/lib/Models' ); +const mongoose = require('mongoose'); +const Model = getModel('loads'); + +mongoose.connect( + apiConfig.mongodb, + { useNewUrlParser: true } +).then( ( val ) => { + console.log( `MongoDB Connected : ${ apiConfig.mongodb }` ); +});//catch throw error so service stops! + +async function migrate(){ + const list = await Model.find({ + "postedBy":"65f11b7c02030a15ebd59a8f" + },"createdAt").sort("-createdAt").exec(); + // let list = await Model.find({ _id : [ "64fce4083f60cc00182470e0", "65efaffaa2029862cd6d90ef", + // "65f2679402030a15ebd59d63", + // "65f3a64902030a15ebd5a4f6", + // "6610bbc756c2a72c91085d5c"] + // }, "createdAt" ); + + for (const element of list ){ + console.log( element ); + console.log( new Date(element.createdAt) ); + } + + const date = Date.now(); + // console.log( list.length , affected ); + await mongoose.disconnect(); + return "Done"; +} + +migrate().then( (out)=>{ + console.log( out ); +} ).catch( (error) => { + console.error( error ); +}); diff --git a/Dockerfile b/v1/Dockerfile similarity index 100% rename from Dockerfile rename to v1/Dockerfile diff --git a/README.md b/v1/README.md similarity index 100% rename from README.md rename to v1/README.md diff --git a/dotenv b/v1/dotenv similarity index 77% rename from dotenv rename to v1/dotenv index 5b2c5ed..6998f8b 100644 --- a/dotenv +++ b/v1/dotenv @@ -1,5 +1,5 @@ SERVER_PORT=3000 -ROOT_PATH=/home/josepablocb/Documents/Work/EnRuta/SysS/ETAAPI +ROOT_PATH=/mnt/d/Projects/WebDevWorkspace/ETAViaporte/etaapi/v1 API_CONFIG=src/config/apiConfig_local.json ############################ # PATHS relative to ROOT diff --git a/package.json b/v1/package.json similarity index 97% rename from package.json rename to v1/package.json index 399d07c..b8636cc 100644 --- a/package.json +++ b/v1/package.json @@ -6,7 +6,6 @@ "scripts": { "start": "node src/", "dev": "nodemon src/", - "dev3": "nodemon server/src/", "test": "mocha test/lib/handlers/proposals" }, "repository": { diff --git a/scripts/ci_functions.sh b/v1/scripts/ci_functions.sh old mode 100755 new mode 100644 similarity index 100% rename from scripts/ci_functions.sh rename to v1/scripts/ci_functions.sh diff --git a/src/apps/index.js b/v1/src/apps/index.js similarity index 100% rename from src/apps/index.js rename to v1/src/apps/index.js diff --git a/src/apps/private/account/routes.js b/v1/src/apps/private/account/routes.js similarity index 100% rename from src/apps/private/account/routes.js rename to v1/src/apps/private/account/routes.js diff --git a/src/apps/private/account/services.js b/v1/src/apps/private/account/services.js similarity index 100% rename from src/apps/private/account/services.js rename to v1/src/apps/private/account/services.js diff --git a/src/apps/private/branches/routes.js b/v1/src/apps/private/branches/routes.js similarity index 100% rename from src/apps/private/branches/routes.js rename to v1/src/apps/private/branches/routes.js diff --git a/src/apps/private/branches/services.js b/v1/src/apps/private/branches/services.js similarity index 100% rename from src/apps/private/branches/services.js rename to v1/src/apps/private/branches/services.js diff --git a/src/apps/private/budgets/routes.js b/v1/src/apps/private/budgets/routes.js similarity index 100% rename from src/apps/private/budgets/routes.js rename to v1/src/apps/private/budgets/routes.js diff --git a/src/apps/private/budgets/services.js b/v1/src/apps/private/budgets/services.js similarity index 100% rename from src/apps/private/budgets/services.js rename to v1/src/apps/private/budgets/services.js diff --git a/src/apps/private/companies/routes.js b/v1/src/apps/private/companies/routes.js similarity index 100% rename from src/apps/private/companies/routes.js rename to v1/src/apps/private/companies/routes.js diff --git a/src/apps/private/companies/services.js b/v1/src/apps/private/companies/services.js similarity index 100% rename from src/apps/private/companies/services.js rename to v1/src/apps/private/companies/services.js diff --git a/src/apps/private/index.js b/v1/src/apps/private/index.js similarity index 100% rename from src/apps/private/index.js rename to v1/src/apps/private/index.js diff --git a/src/apps/private/lib/context/index.js b/v1/src/apps/private/lib/context/index.js similarity index 100% rename from src/apps/private/lib/context/index.js rename to v1/src/apps/private/lib/context/index.js diff --git a/src/apps/private/load-attachments/routes.js b/v1/src/apps/private/load-attachments/routes.js similarity index 100% rename from src/apps/private/load-attachments/routes.js rename to v1/src/apps/private/load-attachments/routes.js diff --git a/src/apps/private/load-attachments/services.js b/v1/src/apps/private/load-attachments/services.js similarity index 100% rename from src/apps/private/load-attachments/services.js rename to v1/src/apps/private/load-attachments/services.js diff --git a/src/apps/private/loads/routes.js b/v1/src/apps/private/loads/routes.js similarity index 100% rename from src/apps/private/loads/routes.js rename to v1/src/apps/private/loads/routes.js diff --git a/src/apps/private/loads/services.js b/v1/src/apps/private/loads/services.js similarity index 100% rename from src/apps/private/loads/services.js rename to v1/src/apps/private/loads/services.js diff --git a/src/apps/private/proposals/routes.js b/v1/src/apps/private/proposals/routes.js similarity index 100% rename from src/apps/private/proposals/routes.js rename to v1/src/apps/private/proposals/routes.js diff --git a/src/apps/private/proposals/services.js b/v1/src/apps/private/proposals/services.js similarity index 100% rename from src/apps/private/proposals/services.js rename to v1/src/apps/private/proposals/services.js diff --git a/src/apps/private/users/routes.js b/v1/src/apps/private/users/routes.js similarity index 100% rename from src/apps/private/users/routes.js rename to v1/src/apps/private/users/routes.js diff --git a/src/apps/private/users/services.js b/v1/src/apps/private/users/services.js similarity index 100% rename from src/apps/private/users/services.js rename to v1/src/apps/private/users/services.js diff --git a/src/apps/private/vehicles/routes.js b/v1/src/apps/private/vehicles/routes.js similarity index 100% rename from src/apps/private/vehicles/routes.js rename to v1/src/apps/private/vehicles/routes.js diff --git a/src/apps/private/vehicles/services.js b/v1/src/apps/private/vehicles/services.js similarity index 100% rename from src/apps/private/vehicles/services.js rename to v1/src/apps/private/vehicles/services.js diff --git a/src/apps/public/account/routes.js b/v1/src/apps/public/account/routes.js similarity index 100% rename from src/apps/public/account/routes.js rename to v1/src/apps/public/account/routes.js diff --git a/src/apps/public/account/services.js b/v1/src/apps/public/account/services.js similarity index 100% rename from src/apps/public/account/services.js rename to v1/src/apps/public/account/services.js diff --git a/src/apps/public/cities/routes.js b/v1/src/apps/public/cities/routes.js similarity index 100% rename from src/apps/public/cities/routes.js rename to v1/src/apps/public/cities/routes.js diff --git a/src/apps/public/cities/services.js b/v1/src/apps/public/cities/services.js similarity index 100% rename from src/apps/public/cities/services.js rename to v1/src/apps/public/cities/services.js diff --git a/src/apps/public/contact-email/routes.js b/v1/src/apps/public/contact-email/routes.js similarity index 100% rename from src/apps/public/contact-email/routes.js rename to v1/src/apps/public/contact-email/routes.js diff --git a/src/apps/public/contact-email/services.js b/v1/src/apps/public/contact-email/services.js similarity index 100% rename from src/apps/public/contact-email/services.js rename to v1/src/apps/public/contact-email/services.js diff --git a/src/apps/public/countries/routes.js b/v1/src/apps/public/countries/routes.js similarity index 100% rename from src/apps/public/countries/routes.js rename to v1/src/apps/public/countries/routes.js diff --git a/src/apps/public/countries/services.js b/v1/src/apps/public/countries/services.js similarity index 100% rename from src/apps/public/countries/services.js rename to v1/src/apps/public/countries/services.js diff --git a/src/apps/public/index.js b/v1/src/apps/public/index.js similarity index 100% rename from src/apps/public/index.js rename to v1/src/apps/public/index.js diff --git a/src/apps/public/meta-data/routes.js b/v1/src/apps/public/meta-data/routes.js similarity index 100% rename from src/apps/public/meta-data/routes.js rename to v1/src/apps/public/meta-data/routes.js diff --git a/src/apps/public/meta-data/services.js b/v1/src/apps/public/meta-data/services.js similarity index 100% rename from src/apps/public/meta-data/services.js rename to v1/src/apps/public/meta-data/services.js diff --git a/src/apps/public/meta-groups/routes.js b/v1/src/apps/public/meta-groups/routes.js similarity index 100% rename from src/apps/public/meta-groups/routes.js rename to v1/src/apps/public/meta-groups/routes.js diff --git a/src/apps/public/meta-groups/services.js b/v1/src/apps/public/meta-groups/services.js similarity index 100% rename from src/apps/public/meta-groups/services.js rename to v1/src/apps/public/meta-groups/services.js diff --git a/src/apps/public/news/routes.js b/v1/src/apps/public/news/routes.js similarity index 100% rename from src/apps/public/news/routes.js rename to v1/src/apps/public/news/routes.js diff --git a/src/apps/public/news/services.js b/v1/src/apps/public/news/services.js similarity index 100% rename from src/apps/public/news/services.js rename to v1/src/apps/public/news/services.js diff --git a/src/apps/public/product-categories/routes.js b/v1/src/apps/public/product-categories/routes.js similarity index 100% rename from src/apps/public/product-categories/routes.js rename to v1/src/apps/public/product-categories/routes.js diff --git a/src/apps/public/product-categories/services.js b/v1/src/apps/public/product-categories/services.js similarity index 100% rename from src/apps/public/product-categories/services.js rename to v1/src/apps/public/product-categories/services.js diff --git a/src/apps/public/products/routes.js b/v1/src/apps/public/products/routes.js similarity index 100% rename from src/apps/public/products/routes.js rename to v1/src/apps/public/products/routes.js diff --git a/src/apps/public/products/services.js b/v1/src/apps/public/products/services.js similarity index 100% rename from src/apps/public/products/services.js rename to v1/src/apps/public/products/services.js diff --git a/src/apps/public/public-companies/routes.js b/v1/src/apps/public/public-companies/routes.js similarity index 100% rename from src/apps/public/public-companies/routes.js rename to v1/src/apps/public/public-companies/routes.js diff --git a/src/apps/public/public-companies/services.js b/v1/src/apps/public/public-companies/services.js similarity index 100% rename from src/apps/public/public-companies/services.js rename to v1/src/apps/public/public-companies/services.js diff --git a/src/apps/public/public-load-attachments/routes.js b/v1/src/apps/public/public-load-attachments/routes.js similarity index 100% rename from src/apps/public/public-load-attachments/routes.js rename to v1/src/apps/public/public-load-attachments/routes.js diff --git a/src/apps/public/public-load-attachments/services.js b/v1/src/apps/public/public-load-attachments/services.js similarity index 100% rename from src/apps/public/public-load-attachments/services.js rename to v1/src/apps/public/public-load-attachments/services.js diff --git a/src/apps/public/public-load-tracking/routes.js b/v1/src/apps/public/public-load-tracking/routes.js similarity index 100% rename from src/apps/public/public-load-tracking/routes.js rename to v1/src/apps/public/public-load-tracking/routes.js diff --git a/src/apps/public/public-load-tracking/services.js b/v1/src/apps/public/public-load-tracking/services.js similarity index 100% rename from src/apps/public/public-load-tracking/services.js rename to v1/src/apps/public/public-load-tracking/services.js diff --git a/src/apps/public/public-loads/routes.js b/v1/src/apps/public/public-loads/routes.js similarity index 100% rename from src/apps/public/public-loads/routes.js rename to v1/src/apps/public/public-loads/routes.js diff --git a/src/apps/public/public-loads/services.js b/v1/src/apps/public/public-loads/services.js similarity index 100% rename from src/apps/public/public-loads/services.js rename to v1/src/apps/public/public-loads/services.js diff --git a/src/apps/public/public-vehicles/routes.js b/v1/src/apps/public/public-vehicles/routes.js similarity index 100% rename from src/apps/public/public-vehicles/routes.js rename to v1/src/apps/public/public-vehicles/routes.js diff --git a/src/apps/public/public-vehicles/services.js b/v1/src/apps/public/public-vehicles/services.js similarity index 100% rename from src/apps/public/public-vehicles/services.js rename to v1/src/apps/public/public-vehicles/services.js diff --git a/src/apps/public/states/routes.js b/v1/src/apps/public/states/routes.js similarity index 100% rename from src/apps/public/states/routes.js rename to v1/src/apps/public/states/routes.js diff --git a/src/apps/public/states/services.js b/v1/src/apps/public/states/services.js similarity index 100% rename from src/apps/public/states/services.js rename to v1/src/apps/public/states/services.js diff --git a/src/apps/public/test/routes.js b/v1/src/apps/public/test/routes.js similarity index 100% rename from src/apps/public/test/routes.js rename to v1/src/apps/public/test/routes.js diff --git a/src/apps/public/test/services.js b/v1/src/apps/public/test/services.js similarity index 100% rename from src/apps/public/test/services.js rename to v1/src/apps/public/test/services.js diff --git a/src/config/apiConfig.json b/v1/src/config/apiConfig.json similarity index 100% rename from src/config/apiConfig.json rename to v1/src/config/apiConfig.json diff --git a/src/config/apiConfig_local.json b/v1/src/config/apiConfig_local.json similarity index 100% rename from src/config/apiConfig_local.json rename to v1/src/config/apiConfig_local.json diff --git a/src/index.js b/v1/src/index.js similarity index 100% rename from src/index.js rename to v1/src/index.js diff --git a/src/lib/Handlers/Account/index.js b/v1/src/lib/Handlers/Account/index.js similarity index 100% rename from src/lib/Handlers/Account/index.js rename to v1/src/lib/Handlers/Account/index.js diff --git a/src/lib/Handlers/Generic.handler.js b/v1/src/lib/Handlers/Generic.handler.js similarity index 100% rename from src/lib/Handlers/Generic.handler.js rename to v1/src/lib/Handlers/Generic.handler.js diff --git a/src/lib/Handlers/MailClient/SendGrid.handler.js b/v1/src/lib/Handlers/MailClient/SendGrid.handler.js similarity index 100% rename from src/lib/Handlers/MailClient/SendGrid.handler.js rename to v1/src/lib/Handlers/MailClient/SendGrid.handler.js diff --git a/src/lib/Handlers/MailClient/StandAlone.handler.js b/v1/src/lib/Handlers/MailClient/StandAlone.handler.js similarity index 100% rename from src/lib/Handlers/MailClient/StandAlone.handler.js rename to v1/src/lib/Handlers/MailClient/StandAlone.handler.js diff --git a/src/lib/Handlers/MailClient/index.js b/v1/src/lib/Handlers/MailClient/index.js similarity index 100% rename from src/lib/Handlers/MailClient/index.js rename to v1/src/lib/Handlers/MailClient/index.js diff --git a/src/lib/Handlers/Proposals.handler.js b/v1/src/lib/Handlers/Proposals.handler.js similarity index 100% rename from src/lib/Handlers/Proposals.handler.js rename to v1/src/lib/Handlers/Proposals.handler.js diff --git a/src/lib/Handlers/Users.handler.js b/v1/src/lib/Handlers/Users.handler.js similarity index 100% rename from src/lib/Handlers/Users.handler.js rename to v1/src/lib/Handlers/Users.handler.js diff --git a/src/lib/Middlewares.js b/v1/src/lib/Middlewares.js similarity index 100% rename from src/lib/Middlewares.js rename to v1/src/lib/Middlewares.js diff --git a/src/lib/Misc.js b/v1/src/lib/Misc.js similarity index 100% rename from src/lib/Misc.js rename to v1/src/lib/Misc.js diff --git a/src/lib/Models/branches.model.js b/v1/src/lib/Models/branches.model.js similarity index 100% rename from src/lib/Models/branches.model.js rename to v1/src/lib/Models/branches.model.js diff --git a/src/lib/Models/budgets.model.js b/v1/src/lib/Models/budgets.model.js similarity index 100% rename from src/lib/Models/budgets.model.js rename to v1/src/lib/Models/budgets.model.js diff --git a/src/lib/Models/cities.model.js b/v1/src/lib/Models/cities.model.js similarity index 100% rename from src/lib/Models/cities.model.js rename to v1/src/lib/Models/cities.model.js diff --git a/src/lib/Models/companies.model.js b/v1/src/lib/Models/companies.model.js similarity index 100% rename from src/lib/Models/companies.model.js rename to v1/src/lib/Models/companies.model.js diff --git a/src/lib/Models/countries.model.js b/v1/src/lib/Models/countries.model.js similarity index 100% rename from src/lib/Models/countries.model.js rename to v1/src/lib/Models/countries.model.js diff --git a/src/lib/Models/index.js b/v1/src/lib/Models/index.js similarity index 100% rename from src/lib/Models/index.js rename to v1/src/lib/Models/index.js diff --git a/src/lib/Models/load-attachments.model.js b/v1/src/lib/Models/load-attachments.model.js similarity index 100% rename from src/lib/Models/load-attachments.model.js rename to v1/src/lib/Models/load-attachments.model.js diff --git a/src/lib/Models/loads.model.js b/v1/src/lib/Models/loads.model.js similarity index 100% rename from src/lib/Models/loads.model.js rename to v1/src/lib/Models/loads.model.js diff --git a/src/lib/Models/mailer.model.js b/v1/src/lib/Models/mailer.model.js similarity index 100% rename from src/lib/Models/mailer.model.js rename to v1/src/lib/Models/mailer.model.js diff --git a/src/lib/Models/memberships.model.js b/v1/src/lib/Models/memberships.model.js similarity index 100% rename from src/lib/Models/memberships.model.js rename to v1/src/lib/Models/memberships.model.js diff --git a/src/lib/Models/meta-data.model.js b/v1/src/lib/Models/meta-data.model.js similarity index 100% rename from src/lib/Models/meta-data.model.js rename to v1/src/lib/Models/meta-data.model.js diff --git a/src/lib/Models/meta-groups.model.js b/v1/src/lib/Models/meta-groups.model.js similarity index 100% rename from src/lib/Models/meta-groups.model.js rename to v1/src/lib/Models/meta-groups.model.js diff --git a/src/lib/Models/news.model.js b/v1/src/lib/Models/news.model.js similarity index 100% rename from src/lib/Models/news.model.js rename to v1/src/lib/Models/news.model.js diff --git a/src/lib/Models/orders.model.js b/v1/src/lib/Models/orders.model.js similarity index 100% rename from src/lib/Models/orders.model.js rename to v1/src/lib/Models/orders.model.js diff --git a/src/lib/Models/product-categories.model.js b/v1/src/lib/Models/product-categories.model.js similarity index 100% rename from src/lib/Models/product-categories.model.js rename to v1/src/lib/Models/product-categories.model.js diff --git a/src/lib/Models/products.model.js b/v1/src/lib/Models/products.model.js similarity index 100% rename from src/lib/Models/products.model.js rename to v1/src/lib/Models/products.model.js diff --git a/src/lib/Models/proposals.model.js b/v1/src/lib/Models/proposals.model.js similarity index 100% rename from src/lib/Models/proposals.model.js rename to v1/src/lib/Models/proposals.model.js diff --git a/src/lib/Models/states.model.js b/v1/src/lib/Models/states.model.js similarity index 100% rename from src/lib/Models/states.model.js rename to v1/src/lib/Models/states.model.js diff --git a/src/lib/Models/trackings.model.js b/v1/src/lib/Models/trackings.model.js similarity index 100% rename from src/lib/Models/trackings.model.js rename to v1/src/lib/Models/trackings.model.js diff --git a/src/lib/Models/users.model.js b/v1/src/lib/Models/users.model.js similarity index 100% rename from src/lib/Models/users.model.js rename to v1/src/lib/Models/users.model.js diff --git a/src/lib/Models/vehicles.model.js b/v1/src/lib/Models/vehicles.model.js similarity index 100% rename from src/lib/Models/vehicles.model.js rename to v1/src/lib/Models/vehicles.model.js diff --git a/src/lib/jwtValidator.js b/v1/src/lib/jwtValidator.js similarity index 100% rename from src/lib/jwtValidator.js rename to v1/src/lib/jwtValidator.js diff --git a/test/lib/handlers/proposals/common.test.js b/v1/test/lib/handlers/proposals/common.test.js similarity index 100% rename from test/lib/handlers/proposals/common.test.js rename to v1/test/lib/handlers/proposals/common.test.js diff --git a/v2/Dockerfile b/v2/Dockerfile new file mode 100644 index 0000000..5932e33 --- /dev/null +++ b/v2/Dockerfile @@ -0,0 +1,17 @@ +# Use an official Python runtime as a parent image +FROM node:18-alpine + +# Set the working directory to /app +WORKDIR /app + +# Copy the current directory contents into the container at /app +COPY server /app/server +COPY package.json /app +COPY dotenv /app/.env + +RUN apk add bash bash-completion vim +RUN npm install --include=dev + +EXPOSE 3000 + +ENTRYPOINT npm start diff --git a/v2/dotenv b/v2/dotenv new file mode 100644 index 0000000..200a4c0 --- /dev/null +++ b/v2/dotenv @@ -0,0 +1 @@ +SERVER_PORT=3000 diff --git a/v2/package.json b/v2/package.json new file mode 100644 index 0000000..5305286 --- /dev/null +++ b/v2/package.json @@ -0,0 +1,53 @@ +{ + "name": "etaapi", + "version": "1.0.0", + "description": "ETA API", + "main": "index.js", + "scripts": { + "start": "nodemon server/src/", + "dev": "nodemon server/src/", + "test": "mocha test/lib/handlers/proposals" + }, + "repository": { + "type": "git", + "url": "git+https://gitlab.com/jcruzbaasworkspace/enruta/etaapi.git" + }, + "author": "Josepablo C.", + "license": "ISC", + "bugs": { + "url": "https://gitlab.com/jcruzbaasworkspace/enruta/etaapi/issues" + }, + "homepage": "https://gitlab.com/jcruzbaasworkspace/enruta/etaapi#readme", + "dependencies": { + "@aws-sdk/client-s3": "^3.427.0", + "audit": "^0.0.6", + "axios": "^1.5.1", + "body-parser": "^1.20.2", + "compression": "^1.7.4", + "cors": "^2.8.5", + "crypto-js": "^4.1.1", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "express-fileupload": "^1.4.1", + "express-jwt": "^8.4.1", + "form-data": "^4.0.0", + "helmet": "^7.0.0", + "jsonschema": "^1.4.1", + "jsonwebtoken": "^9.0.2", + "knex": "^2.5.1", + "mongodb-core": "^3.2.7", + "mongoose": "^7.5.4", + "morgan": "^1.10.0", + "mysql": "^2.18.1", + "nodemailer": "^6.9.5", + "nodemailer-sendgrid": "^1.0.3", + "nodemon": "^3.0.1", + "objection": "^3.1.4", + "uuid": "^9.0.1" + }, + "devDependencies": { + "chai": "^5.1.0", + "mocha": "^10.3.0", + "sinon": "^17.0.1" + } +} diff --git a/v2/scripts/ci_functions.sh b/v2/scripts/ci_functions.sh new file mode 100644 index 0000000..19a8967 --- /dev/null +++ b/v2/scripts/ci_functions.sh @@ -0,0 +1,93 @@ +#! /bin/bash + +# Requirements +# Docker: Node v18-alpine +function build_docker(){ + if [[ $# -lt 1 ]]; then + echo $0 "[conatiner name]" + return -1 + fi + CONTAINER_NAME=$1 + + set -x + docker rmi -f "$AWS_ECR_REPO/$CONTAINER_NAME" + docker buildx build --no-cache -t $AWS_ECR_REPO/$CONTAINER_NAME ./ + set +x +} + +function upload_image(){ + #Global ENV VAR: AWS_DEFAULT_REGION + #Global ENV VAR: AWS_ECRWRITTER_ID + #Global ENV VAR: AWS_ECRWRITTER_SECRET + #Global ENV VAR: AWS_ECR_USER + #Global ENV VAR: AWS_ECR_REPO + #Global ENV VAR: CONTAINER_NAME + mkdir .aws + echo "[default]" > ./.aws/config + echo "region = $AWS_DEFAULT_REGION" >> ./.aws/config + echo "output = json" >> ./.aws/config + echo "[default]" > ./.aws/credentials + echo "aws_access_key_id = $AWS_ECRWRITTER_ID" >> ./.aws/credentials + echo "aws_secret_access_key = $AWS_ECRWRITTER_SECRET" >> ./.aws/credentials + DOCKER_PWD=$(docker run --rm -v ./.aws/:/root/.aws amazon/aws-cli ecr get-login-password) + rm -rf ./.aws + docker login -u $AWS_ECR_USER -p $DOCKER_PWD $AWS_ECR_REPO + set -x + docker push "$AWS_ECR_REPO/$CONTAINER_NAME":latest + set +x +} + +function prepare_deployment(){ + # Global Env Var: AWS_DEFAULT_REGION + # Global Env Var: AWS_ECRWRITTER_ID + # Global Env Var: AWS_ECRWRITTER_SECRET + # Global Env Var: SYSTEM_HOSTNAME + #Generate Docker Access Token + mkdir .aws + echo "[default]" > ./.aws/config + echo "region = $AWS_DEFAULT_REGION" >> ./.aws/config + echo "output = json" >> ./.aws/config + echo "[default]" > ./.aws/credentials + echo "aws_access_key_id = $AWS_ECRWRITTER_ID" >> ./.aws/credentials + echo "aws_secret_access_key = $AWS_ECRWRITTER_SECRET" >> ./.aws/credentials + export DOCKER_PWD=$(docker run --rm -v ./.aws/:/root/.aws amazon/aws-cli ecr get-login-password) + rm -rf ./.aws +} + +function deploy_uservice(){ + # CONTAINER NAME + # PUBLIC PORT + # PRIVATE PORT + # ECR REPO + if [[ $# -lt 4 ]]; then + echo "$0 [container_name] [public port] [private port] [ecr_repo]" + return -1 + fi + container_name=$1 + public_port=$2 + private_port=$3 + ecr_repo=$4 + + docker stop $container_name && docker rm $container_name + docker run -p"$public_port:$private_port" -d --restart unless-stopped --name $container_name $ecr_repo/$container_name:latest +} + +function deploy_local(){ + # docker login --username $AWS_ECR_USER --password $DOCKER_PWD $AWS_ECR_REPO + deploy_uservice $CONTAINER_NAME $PUBLIC_PORT $PRIVATE_PORT $AWS_ECR_REPO +} + +function deploy(){ + # Global Env Var: AWS_ECR_USER + # Global Env Var: AWS_ECR_REPO + # Global Env Var: CONTAINER_NAME + # Global Env Var: PUBLIC_PORT + # Global Env Var: PRIVATE_PORT + # Global Env Var: AWS_ECR_REPO + # Global Env Var: SYSTEM_HOSTNAME + prepare_deployment + set -x + ssh -i ~/.ssh/gitlab_runner gitlab-runner@$SYSTEM_HOSTNAME "docker login --username $AWS_ECR_USER --password $DOCKER_PWD $AWS_ECR_REPO && ./deploy_uservice.sh $CONTAINER_NAME $PUBLIC_PORT $PRIVATE_PORT $AWS_ECR_REPO && exit" + #deploy_local + set +x +} diff --git a/server/README.md b/v2/server/README.md similarity index 100% rename from server/README.md rename to v2/server/README.md diff --git a/server/config/apiConfig.json b/v2/server/config/apiConfig.json similarity index 100% rename from server/config/apiConfig.json rename to v2/server/config/apiConfig.json diff --git a/server/docs/assets/APIDesign.drawio b/v2/server/docs/assets/APIDesign.drawio similarity index 100% rename from server/docs/assets/APIDesign.drawio rename to v2/server/docs/assets/APIDesign.drawio diff --git a/server/docs/assets/APIDesign.png b/v2/server/docs/assets/APIDesign.png similarity index 100% rename from server/docs/assets/APIDesign.png rename to v2/server/docs/assets/APIDesign.png diff --git a/server/src/Apps/Account/Controller/index.js b/v2/server/src/Apps/Account/Controller/index.js similarity index 100% rename from server/src/Apps/Account/Controller/index.js rename to v2/server/src/Apps/Account/Controller/index.js diff --git a/server/src/Apps/Account/Domain/index.js b/v2/server/src/Apps/Account/Domain/index.js similarity index 100% rename from server/src/Apps/Account/Domain/index.js rename to v2/server/src/Apps/Account/Domain/index.js diff --git a/server/src/Apps/Account/Ports/Events/index.js b/v2/server/src/Apps/Account/Ports/Events/index.js similarity index 100% rename from server/src/Apps/Account/Ports/Events/index.js rename to v2/server/src/Apps/Account/Ports/Events/index.js diff --git a/server/src/Apps/Account/Ports/Interfaces/index.js b/v2/server/src/Apps/Account/Ports/Interfaces/index.js similarity index 100% rename from server/src/Apps/Account/Ports/Interfaces/index.js rename to v2/server/src/Apps/Account/Ports/Interfaces/index.js diff --git a/server/src/Apps/Account/Ports/Public/index.js b/v2/server/src/Apps/Account/Ports/Public/index.js similarity index 100% rename from server/src/Apps/Account/Ports/Public/index.js rename to v2/server/src/Apps/Account/Ports/Public/index.js diff --git a/server/src/Apps/Account/Repository/Objection/index.js b/v2/server/src/Apps/Account/Repository/Objection/index.js similarity index 100% rename from server/src/Apps/Account/Repository/Objection/index.js rename to v2/server/src/Apps/Account/Repository/Objection/index.js diff --git a/server/src/Apps/Account/Repository/index.js b/v2/server/src/Apps/Account/Repository/index.js similarity index 100% rename from server/src/Apps/Account/Repository/index.js rename to v2/server/src/Apps/Account/Repository/index.js diff --git a/server/src/Controller/index.js b/v2/server/src/Controller/index.js similarity index 100% rename from server/src/Controller/index.js rename to v2/server/src/Controller/index.js diff --git a/server/src/Shared/ErrorResponse.js b/v2/server/src/Shared/ErrorResponse.js similarity index 100% rename from server/src/Shared/ErrorResponse.js rename to v2/server/src/Shared/ErrorResponse.js diff --git a/server/src/Shared/Models/Objection/companies.model.js b/v2/server/src/Shared/Models/Objection/companies.model.js similarity index 100% rename from server/src/Shared/Models/Objection/companies.model.js rename to v2/server/src/Shared/Models/Objection/companies.model.js diff --git a/server/src/Shared/Models/Objection/company_categories.model.js b/v2/server/src/Shared/Models/Objection/company_categories.model.js similarity index 100% rename from server/src/Shared/Models/Objection/company_categories.model.js rename to v2/server/src/Shared/Models/Objection/company_categories.model.js diff --git a/server/src/Shared/Models/Objection/company_truck_types.model.js b/v2/server/src/Shared/Models/Objection/company_truck_types.model.js similarity index 100% rename from server/src/Shared/Models/Objection/company_truck_types.model.js rename to v2/server/src/Shared/Models/Objection/company_truck_types.model.js diff --git a/server/src/Shared/Models/Objection/index.js b/v2/server/src/Shared/Models/Objection/index.js similarity index 100% rename from server/src/Shared/Models/Objection/index.js rename to v2/server/src/Shared/Models/Objection/index.js diff --git a/server/src/Shared/Models/Objection/load_attachments.model.js b/v2/server/src/Shared/Models/Objection/load_attachments.model.js similarity index 100% rename from server/src/Shared/Models/Objection/load_attachments.model.js rename to v2/server/src/Shared/Models/Objection/load_attachments.model.js diff --git a/server/src/Shared/Models/Objection/load_categories.model.js b/v2/server/src/Shared/Models/Objection/load_categories.model.js similarity index 100% rename from server/src/Shared/Models/Objection/load_categories.model.js rename to v2/server/src/Shared/Models/Objection/load_categories.model.js diff --git a/server/src/Shared/Models/Objection/loads.model.js b/v2/server/src/Shared/Models/Objection/loads.model.js similarity index 100% rename from server/src/Shared/Models/Objection/loads.model.js rename to v2/server/src/Shared/Models/Objection/loads.model.js diff --git a/server/src/Shared/Models/Objection/location_categories.model.js b/v2/server/src/Shared/Models/Objection/location_categories.model.js similarity index 100% rename from server/src/Shared/Models/Objection/location_categories.model.js rename to v2/server/src/Shared/Models/Objection/location_categories.model.js diff --git a/server/src/Shared/Models/Objection/location_truck_types.model.js b/v2/server/src/Shared/Models/Objection/location_truck_types.model.js similarity index 100% rename from server/src/Shared/Models/Objection/location_truck_types.model.js rename to v2/server/src/Shared/Models/Objection/location_truck_types.model.js diff --git a/server/src/Shared/Models/Objection/locations.model.js b/v2/server/src/Shared/Models/Objection/locations.model.js similarity index 100% rename from server/src/Shared/Models/Objection/locations.model.js rename to v2/server/src/Shared/Models/Objection/locations.model.js diff --git a/server/src/Shared/Models/Objection/metadata_categories.model.js b/v2/server/src/Shared/Models/Objection/metadata_categories.model.js similarity index 100% rename from server/src/Shared/Models/Objection/metadata_categories.model.js rename to v2/server/src/Shared/Models/Objection/metadata_categories.model.js diff --git a/server/src/Shared/Models/Objection/metadata_cities.model.js b/v2/server/src/Shared/Models/Objection/metadata_cities.model.js similarity index 100% rename from server/src/Shared/Models/Objection/metadata_cities.model.js rename to v2/server/src/Shared/Models/Objection/metadata_cities.model.js diff --git a/server/src/Shared/Models/Objection/metadata_products.model.js b/v2/server/src/Shared/Models/Objection/metadata_products.model.js similarity index 100% rename from server/src/Shared/Models/Objection/metadata_products.model.js rename to v2/server/src/Shared/Models/Objection/metadata_products.model.js diff --git a/server/src/Shared/Models/Objection/metadata_truck_types.model.js b/v2/server/src/Shared/Models/Objection/metadata_truck_types.model.js similarity index 100% rename from server/src/Shared/Models/Objection/metadata_truck_types.model.js rename to v2/server/src/Shared/Models/Objection/metadata_truck_types.model.js diff --git a/server/src/Shared/Models/Objection/user_locations.model.js b/v2/server/src/Shared/Models/Objection/user_locations.model.js similarity index 100% rename from server/src/Shared/Models/Objection/user_locations.model.js rename to v2/server/src/Shared/Models/Objection/user_locations.model.js diff --git a/server/src/Shared/Models/Objection/user_sessions.model.js b/v2/server/src/Shared/Models/Objection/user_sessions.model.js similarity index 100% rename from server/src/Shared/Models/Objection/user_sessions.model.js rename to v2/server/src/Shared/Models/Objection/user_sessions.model.js diff --git a/server/src/Shared/Models/Objection/users.model.js b/v2/server/src/Shared/Models/Objection/users.model.js similarity index 100% rename from server/src/Shared/Models/Objection/users.model.js rename to v2/server/src/Shared/Models/Objection/users.model.js diff --git a/server/src/Shared/Models/Objection/vechicle_publications.model.js b/v2/server/src/Shared/Models/Objection/vechicle_publications.model.js similarity index 100% rename from server/src/Shared/Models/Objection/vechicle_publications.model.js rename to v2/server/src/Shared/Models/Objection/vechicle_publications.model.js diff --git a/server/src/Shared/Models/Objection/vehicle_categories.model.js b/v2/server/src/Shared/Models/Objection/vehicle_categories.model.js similarity index 100% rename from server/src/Shared/Models/Objection/vehicle_categories.model.js rename to v2/server/src/Shared/Models/Objection/vehicle_categories.model.js diff --git a/server/src/Shared/Models/Objection/vehicles.model.js b/v2/server/src/Shared/Models/Objection/vehicles.model.js similarity index 100% rename from server/src/Shared/Models/Objection/vehicles.model.js rename to v2/server/src/Shared/Models/Objection/vehicles.model.js diff --git a/server/src/Shared/Resources/index.js b/v2/server/src/Shared/Resources/index.js similarity index 100% rename from server/src/Shared/Resources/index.js rename to v2/server/src/Shared/Resources/index.js diff --git a/server/src/Shared/ShaUtils.js b/v2/server/src/Shared/ShaUtils.js similarity index 100% rename from server/src/Shared/ShaUtils.js rename to v2/server/src/Shared/ShaUtils.js diff --git a/server/src/SysS/Connections/index.js b/v2/server/src/SysS/Connections/index.js similarity index 100% rename from server/src/SysS/Connections/index.js rename to v2/server/src/SysS/Connections/index.js diff --git a/server/src/SysS/Controller/index.js b/v2/server/src/SysS/Controller/index.js similarity index 100% rename from server/src/SysS/Controller/index.js rename to v2/server/src/SysS/Controller/index.js diff --git a/server/src/SysS/Controller/middlewares.js b/v2/server/src/SysS/Controller/middlewares.js similarity index 100% rename from server/src/SysS/Controller/middlewares.js rename to v2/server/src/SysS/Controller/middlewares.js diff --git a/server/src/SysS/EventManager/EmailEvents/SendGrid.handler.js b/v2/server/src/SysS/EventManager/EmailEvents/SendGrid.handler.js similarity index 100% rename from server/src/SysS/EventManager/EmailEvents/SendGrid.handler.js rename to v2/server/src/SysS/EventManager/EmailEvents/SendGrid.handler.js diff --git a/server/src/SysS/EventManager/EmailEvents/StandAlone.handler.js b/v2/server/src/SysS/EventManager/EmailEvents/StandAlone.handler.js similarity index 100% rename from server/src/SysS/EventManager/EmailEvents/StandAlone.handler.js rename to v2/server/src/SysS/EventManager/EmailEvents/StandAlone.handler.js diff --git a/server/src/SysS/EventManager/EmailEvents/index.js b/v2/server/src/SysS/EventManager/EmailEvents/index.js similarity index 100% rename from server/src/SysS/EventManager/EmailEvents/index.js rename to v2/server/src/SysS/EventManager/EmailEvents/index.js diff --git a/server/src/SysS/EventManager/index.js b/v2/server/src/SysS/EventManager/index.js similarity index 100% rename from server/src/SysS/EventManager/index.js rename to v2/server/src/SysS/EventManager/index.js diff --git a/server/src/SysS/EventManager/resources.js b/v2/server/src/SysS/EventManager/resources.js similarity index 100% rename from server/src/SysS/EventManager/resources.js rename to v2/server/src/SysS/EventManager/resources.js diff --git a/server/src/SysS/Template/index.js b/v2/server/src/SysS/Template/index.js similarity index 100% rename from server/src/SysS/Template/index.js rename to v2/server/src/SysS/Template/index.js diff --git a/server/src/SysS/index.js b/v2/server/src/SysS/index.js similarity index 100% rename from server/src/SysS/index.js rename to v2/server/src/SysS/index.js diff --git a/server/src/index.js b/v2/server/src/index.js similarity index 100% rename from server/src/index.js rename to v2/server/src/index.js diff --git a/server/test/index.js b/v2/server/test/index.js similarity index 100% rename from server/test/index.js rename to v2/server/test/index.js