diff --git a/Changelog.md b/Changelog.md index a9afc690b4ecff6f014caeb94c9f434ebefd2126..96d8168a0e47c3e7b7b8c9c8dffce00a3b04974e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,9 @@ All notable changes to this project will be documented in this file. +## [0.56] - 2024-05-05 +- security control and crisis excersies fix for new 2023 mapping + ## [0.55] - 2024-05-05 - COMP-372 : S&P - Standards - Audits - COMP-373 : S&P - Standards - Business Continuity diff --git a/compendium_v2/routes/standards_and_policies.py b/compendium_v2/routes/standards_and_policies.py index 7520c9f9a09980e335b93519d2f4748450408ed7..3f33bbfffabe4fc0364b448f2c9f887d5d439922 100644 --- a/compendium_v2/routes/standards_and_policies.py +++ b/compendium_v2/routes/standards_and_policies.py @@ -107,12 +107,24 @@ def standards_view() -> Any: return jsonify(entries) +crisis_exercises_map = { + "geant_workshops": "We participate in GEANT Crisis workshops such as CLAW", + "none": "No, we have not done any crisis exercises or trainings", + "national_excercises": "We participated in National crisis exercises ", + "real_crisis": "We had a real crisis", + "simulation_excercises": "We run our own simulation exercises", + "tabletop_exercises": "We run our own tabletop exercises", + "other_excercises": "We have done/participated in other exercises or trainings" +} + + def crisis_exercises_extract_data(crisis_exercises: CrisisExercises) -> dict: return { 'nren': crisis_exercises.nren.name, 'nren_country': crisis_exercises.nren.country, 'year': int(crisis_exercises.year), - 'exercise_descriptions': crisis_exercises.exercise_descriptions + 'exercise_descriptions': [crisis_exercises_map.get(item, item) for item in + crisis_exercises.exercise_descriptions] } @@ -142,12 +154,27 @@ def crisis_exercises_view() -> Any: return jsonify(entries) +security_controls_map = { + "anti_virus": "Anti Virus", + "anti_spam": "Anti-Spam", + "firewall": "Firewall", + "ddos_mitigation": "DDoS mitigation", + "monitoring": "Network monitoring", + "ips_ids": "IPS/IDS", + "acl": "ACL", + "segmentation": "Network segmentation", + "integrity_checking": "Integrity checking" +} + + def security_controls_extract_data(security_controls: SecurityControls) -> dict: return { + 'nren': security_controls.nren.name, 'nren_country': security_controls.nren.country, 'year': int(security_controls.year), - 'security_control_descriptions': security_controls.security_control_descriptions + 'security_control_descriptions': [security_controls_map.get(item, item) for item in + security_controls.security_control_descriptions] } diff --git a/setup.py b/setup.py index efd52d527fdf5601372cb6f1ce39da9b0ee314ee..c16a7628146284a675e18b440920c2790c8e5b87 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='compendium-v2', - version="0.55", + version="0.56", author='GEANT', author_email='swd@geant.org', description='Flask and React project for displaying '