diff options
Diffstat (limited to 'app/assets/javascripts/security_configuration/utils.js')
-rw-r--r-- | app/assets/javascripts/security_configuration/utils.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/assets/javascripts/security_configuration/utils.js b/app/assets/javascripts/security_configuration/utils.js index 47231497b8f..173560f8370 100644 --- a/app/assets/javascripts/security_configuration/utils.js +++ b/app/assets/javascripts/security_configuration/utils.js @@ -1,6 +1,19 @@ import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { SCANNER_NAMES_MAP } from '~/security_configuration/components/constants'; +/** + * This function takes in 3 arrays of objects, securityFeatures, complianceFeatures and features. + * securityFeatures and complianceFeatures are static arrays living in the constants. + * features is dynamic and coming from the backend. + * This function builds a superset of those arrays. + * It looks for matching keys within the dynamic and the static arrays + * and will enrich the objects with the available static data. + * @param [{}] securityFeatures + * @param [{}] complianceFeatures + * @param [{}] features + * @returns {Object} Object with enriched features from constants divided into Security and Compliance Features + */ + export const augmentFeatures = (securityFeatures, complianceFeatures, features = []) => { const featuresByType = features.reduce((acc, feature) => { acc[feature.type] = convertObjectPropsToCamelCase(feature, { deep: true }); |