From 47cdb729d3b10f75e3e58a4ed017c2f7f04d3971 Mon Sep 17 00:00:00 2001 From: Shikhar Yadav Date: Mon, 23 Oct 2023 17:18:53 +0530 Subject: [PATCH] base_url bug solve --- README.md | 4 +++- changelog.md | 4 ++++ package.json | 2 +- src/lib/_internal.js | 18 ++++++++++++++++++ src/lib/db_handlers.js | 12 ++++++------ 5 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 src/lib/_internal.js diff --git a/README.md b/README.md index 57d040f..4f23579 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ A npm package that serves as utlity for directus extensions. This utility try to # Installation -`npm install directutils` +```bash +npm install directutils +``` # Example diff --git a/changelog.md b/changelog.md index a0e11f9..83a2176 100644 --- a/changelog.md +++ b/changelog.md @@ -12,3 +12,7 @@ - Added JSDocs comment - Added better logging statements - Resolved bug with `readCollectionDataById` function + +## v1.0.2 + +- Solved bug related to BASE_URL diff --git a/package.json b/package.json index 159f1d9..74f9eb6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "directutils", - "version": "1.0.0", + "version": "1.0.2", "description": "Utility for directus extensions", "main": "./src/index.js", "scripts": { diff --git a/src/lib/_internal.js b/src/lib/_internal.js new file mode 100644 index 0000000..e3a4c20 --- /dev/null +++ b/src/lib/_internal.js @@ -0,0 +1,18 @@ +function getBaseUrl() { + var baseURL = ""; + if (process.env.ENVIRONMENT == "local") { + baseURL = process.env.DIRECTUS_LOCAL_BASE_URL; + } else if (process.env.ENVIRONMENT == "remote") { + baseURL = process.env.DIRECTUS_REMOTE_BASE_URL; + } + + if (process.env.MODE == "dev") { + console.error(`[RUNNING IN ${process.env.ENVIRONMENT} ENVIRONMENT]`); + } + + return baseURL; +} + +module.exports = { + getBaseUrl +} \ No newline at end of file diff --git a/src/lib/db_handlers.js b/src/lib/db_handlers.js index 42a29b1..b13dcde 100644 --- a/src/lib/db_handlers.js +++ b/src/lib/db_handlers.js @@ -1,5 +1,5 @@ const axios = require("axios"); - +const { getBaseUrl } = require("./_internal"); /** * @param {string} collection directus collection name * @param {string} item Id of the record of a collection @@ -8,7 +8,7 @@ const axios = require("axios"); * @returns {object} Returns collection record object */ async function readCollectionDataById(collection, item, query, isCustom = true) { - var url = isCustom ? `${BASE_URL}/items/${collection}/${item}?` : `${BASE_URL}/${collection}/${item}?`; + var url = isCustom ? `${getBaseUrl()}/items/${collection}/${item}?` : `${getBaseUrl()}/${collection}/${item}?`; if (query != null) { Object.entries(query).forEach(([key, value]) => { @@ -46,7 +46,7 @@ async function readCollectionDataById(collection, item, query, isCustom = true) * @returns {object} Returns collection read object or list based `expectMultiple` params */ async function readCollectionDataByQuery(collection, query, expectMultiple=false, isCustom=true) { - var url = isCustom ? `${BASE_URL}/items/${collection}?` : `${BASE_URL}/${collection}` + var url = isCustom ? `${getBaseUrl()}/items/${collection}?` : `${getBaseUrl()}/${collection}` Object.entries(query).forEach(([key, value]) => { if (key == "filter") { @@ -90,7 +90,7 @@ async function readCollectionDataByQuery(collection, query, expectMultiple=false * @returns {object} returns updated object */ async function updateCollectionDataById(collection, item, body, isCustom = true) { - const url = isCustom ? `${BASE_URL}/items/${collection}/${item}` : `${BASE_URL}/${collection}/${item}`; + const url = isCustom ? `${getBaseUrl()}/items/${collection}/${item}` : `${getBaseUrl()}/${collection}/${item}`; const data = JSON.stringify(body); let createPatchConfig = { @@ -120,7 +120,7 @@ async function updateCollectionDataById(collection, item, body, isCustom = true) * @returns {object} returns new created record */ async function createCollectionData(collection, body, isCustom = true) { - const url = isCustom ? `${BASE_URL}/items/${collection}` : `${BASE_URL}/${collection}`; + const url = isCustom ? `${getBaseUrl()}/items/${collection}` : `${getBaseUrl()}/${collection}`; const data = JSON.stringify(body); let createPatchConfig = { @@ -149,7 +149,7 @@ async function createCollectionData(collection, body, isCustom = true) { * @returns {boolean} returns true or false based success and failure */ async function deleteCollectionData(collection, itemId) { - const url = `${BASE_URL}/items/${collection}/${itemId}`; + const url = `${getBaseUrl()}/items/${collection}/${itemId}`; let createPatchConfig = { method: 'delete',