@code-mancers/strapi-plugin-multi-site-vercel-deploy
Version:
Strapi v4 plugin to trigger and monitor deployment of multiple applications on Vercel
54 lines (43 loc) • 1.24 kB
JavaScript
;
const getPluginConfig = require("../helpers/pluginConfig");
/**
* @typedef {import('../../types/typedefs').PluginConfigMap} PluginConfigMap
* @typedef {import('../../types/typedefs').FeatureAvailability} FeatureAvailability
*/
/**
* Build config map object
* @returns {PluginConfigMap}
*/
const buildConfig = (strapi, hideSensitiveInfo = false) => {
const pluginConfig = getPluginConfig(strapi);
/** @type {string | null} */
const sites = pluginConfig("sites");
return sites.map((site) => {
const apiToken = hideSensitiveInfo
? site.apiToken?.substring(0, 6)
: site.apiToken;
return {
...site,
apiToken,
};
});
};
/**
* Return the availability for the input feature
* @param {PluginConfigMap} configObj Configuration file
* @param {keyof PluginConfigMap} configName Name of the config prop, it is a key of the object {@link PluginConfigMap}
* @returns {FeatureAvailability}
*/
const getFeatureAvailability = (configObj, configName) => {
if (!configObj) {
return "MISSING_CONFIG_OBJECT";
}
if (!configObj[configName]) {
return "MISSING_CONFIG_VARIABLE";
}
return "AVAILABLE";
};
module.exports = {
buildConfig,
getFeatureAvailability,
};