diff --git a/directus-cms/.env b/directus-cms/.env index 7e7158b..1ee734c 100644 --- a/directus-cms/.env +++ b/directus-cms/.env @@ -7,6 +7,7 @@ PORT=8055 PUBLIC_URL="http://localhost:8055/" +ENVIRONMENT="local" #################################################################################################### ## Admin Login diff --git a/directus-cms/extensions/hooks/buzzsproutApi/index.js b/directus-cms/extensions/hooks/buzzsproutApi/index.js index fba830f..37fd9e4 100644 --- a/directus-cms/extensions/hooks/buzzsproutApi/index.js +++ b/directus-cms/extensions/hooks/buzzsproutApi/index.js @@ -1,8 +1,19 @@ const axios = require('axios').default; const { getFullPodcastTitle, getUrlSlug } = require('../../../shared-code'); +const { environment } = require('./../../../utils/environment'); const HOOK_NAME = 'buzzsproutApi'; +if (!environment.isProduction()) { + console.info( + `${HOOK_NAME} hook: Environment is not production, hook overwritten.` + ); + + module.exports = () => {} + + return; +} + module.exports = ( { action }, { env, exceptions: { BaseException }, logger, services: { ItemsService } } @@ -174,6 +185,12 @@ module.exports = ( buzzsproutData.artist = 'programmier.bar'; } + if (!env.BUZZSPROUT_API_TOKEN) { + logger.warning(`${HOOK_NAME} hook: Buzzsprout Hook aborted early, because no API token was set.`); + logger.info(`${HOOK_NAME} hook: Would have sent this data: ${JSON.stringify(buzzsproutData)}`); + return; + } + try { // Create or update podcast episode at Buzzsprout const buzzsproutResponse = await axios({ @@ -376,6 +393,13 @@ module.exports = ( context, }); + if (!buzzsproutData) { + logger.info( + `${HOOK_NAME} hook: Aborting hook, because no Buzzsprout data was received.` + ); + return; + } + // Create update data object const updateData = {}; diff --git a/directus-cms/extensions/hooks/deployWebsite/index.js b/directus-cms/extensions/hooks/deployWebsite/index.js index db36244..04d2bb7 100644 --- a/directus-cms/extensions/hooks/deployWebsite/index.js +++ b/directus-cms/extensions/hooks/deployWebsite/index.js @@ -1,9 +1,20 @@ const jwt = require('jsonwebtoken'); const axios = require('axios').default; const postSlackMessage = require('../../../helpers/postSlackMessage'); +const { environment } = require('../../../utils/environment'); const HOOK_NAME = 'deployWebsite'; +if (!environment.isProduction()) { + console.info( + `${HOOK_NAME} hook: Environment is not production, hook overwritten.` + ); + + module.exports = () => {} + + return; +} + module.exports = ( { action }, { env, exceptions: { BaseException }, logger, services: { ItemsService } } diff --git a/directus-cms/extensions/hooks/podcastTranscription/index.js b/directus-cms/extensions/hooks/podcastTranscription/index.js index 8e4faeb..1db1879 100644 --- a/directus-cms/extensions/hooks/podcastTranscription/index.js +++ b/directus-cms/extensions/hooks/podcastTranscription/index.js @@ -1,5 +1,18 @@ const retrievePodcast = require('./retrieveTranscription'); const triggerTranscription = require('./triggerTranscription'); +const { environment } = require('../../../utils/environment'); + +const HOOK_NAME = 'podcastTranscription'; + +if (!environment.isProduction()) { + console.info( + `${HOOK_NAME} hook: Environment is not production, hook overwritten.` + ); + + module.exports = () => {} + + return; +} module.exports = ({ schedule, action }, config) => { /** diff --git a/directus-cms/extensions/hooks/schedulePublication/index.js b/directus-cms/extensions/hooks/schedulePublication/index.js index 83a834d..fa9331e 100644 --- a/directus-cms/extensions/hooks/schedulePublication/index.js +++ b/directus-cms/extensions/hooks/schedulePublication/index.js @@ -1,8 +1,19 @@ const postSlackMessage = require('../../../helpers/postSlackMessage'); const { isPublishable } = require('./../../shared/isPublishable'); +const { environment } = require('../../../utils/environment'); const HOOK_NAME = 'schedulePublication'; +if (!environment.isProduction()) { + console.info( + `${HOOK_NAME} hook: Environment is not production, hook overwritten.` + ); + + module.exports = () => {} + + return; +} + module.exports = ( { schedule }, { diff --git a/directus-cms/utils/environment.js b/directus-cms/utils/environment.js new file mode 100644 index 0000000..b8badfe --- /dev/null +++ b/directus-cms/utils/environment.js @@ -0,0 +1,7 @@ +const environment = { + isProduction: function() { + return process.env.ENVIRONMENT === 'production'; + } +} + +module.exports = { environment }; diff --git a/nuxt-app/config.ts b/nuxt-app/config.ts index 240565c..1f3fb84 100644 --- a/nuxt-app/config.ts +++ b/nuxt-app/config.ts @@ -1,11 +1,10 @@ -// Webiste config -export const DIRECTUS_CMS_URL = 'https://admin.programmier.bar'; +// Website config +export const DIRECTUS_CMS_URL = process.env.DIRECTUS_CMS_URL || 'https://admin.programmier.bar'; export const SEND_CONTACT_EMAIL_URL = '/api/email'; export const BUZZSPROUT_TRACKING_URL = 'https://chtbl.com/track/E24551/https://www.podtrac.com/pts/redirect.mp3'; -// programmier.bar -export const WEBSITE_URL = 'https://www.programmier.bar'; +export const WEBSITE_URL = process.env.WEBSITE_URL || 'https://www.programmier.bar'; export const WEBSITE_NAME = 'programmier.bar'; export const TWITTER_HANDLE = '@programmierbar';