{"nodes": [{"id": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "label": "auth.py", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L1", "complexity": 1, "loc": 1}, {"id": "auth_login", "label": "login()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L15", "complexity": 6, "loc": 40}, {"id": "auth_logout", "label": "logout()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L59", "complexity": 1, "loc": 7}, {"id": "auth_register", "label": "register()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L69", "complexity": 7, "loc": 45}, {"id": "auth_change_password", "label": "change_password()", "file_type": "code", "type": "FUNCTION", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L118", "complexity": 5, "loc": 30}, {"id": "auth_rationale_1", "label": "Authentication Blueprint - Login, Logout, Register", "file_type": "rationale", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L1"}], "edges": [{"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "flask", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L4", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "flask_login", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L5", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "app_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L6", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "app_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L7", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "app_utils_logger", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L8", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L9", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "auth_login", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L15", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "auth_logout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L59", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "auth_register", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L69", "weight": 1.0}, {"source": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "target": "auth_change_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L118", "weight": 1.0}, {"source": "auth_rationale_1", "target": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "auth_login", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L19"}, {"caller_nid": "auth_login", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L19"}, {"caller_nid": "auth_login", "callee": "strip", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L22"}, {"caller_nid": "auth_login", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L22"}, {"caller_nid": "auth_login", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L23"}, {"caller_nid": "auth_login", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L24"}, {"caller_nid": "auth_login", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L28"}, {"caller_nid": "auth_login", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L29"}, {"caller_nid": "auth_login", "callee": "first", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L32"}, {"caller_nid": "auth_login", "callee": "filter_by", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L32"}, {"caller_nid": "auth_login", "callee": "check_password_hash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L35"}, {"caller_nid": "auth_login", "callee": "login_user", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L36"}, {"caller_nid": "auth_login", "callee": "log_action", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L37"}, {"caller_nid": "auth_login", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L40"}, {"caller_nid": "auth_login", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L42"}, {"caller_nid": "auth_login", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L43"}, {"caller_nid": "auth_login", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L43"}, {"caller_nid": "auth_login", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L45"}, {"caller_nid": "auth_login", "callee": "log_action", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L46"}, {"caller_nid": "auth_login", "callee": "exists", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L50"}, {"caller_nid": "auth_login", "callee": "join", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L51"}, {"caller_nid": "auth_login", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L54"}, {"caller_nid": "auth_logout", "callee": "logout_user", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L62"}, {"caller_nid": "auth_logout", "callee": "log_action", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L63"}, {"caller_nid": "auth_logout", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L64"}, {"caller_nid": "auth_logout", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L65"}, {"caller_nid": "auth_logout", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L65"}, {"caller_nid": "auth_register", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L73"}, {"caller_nid": "auth_register", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L73"}, {"caller_nid": "auth_register", "callee": "strip", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L76"}, {"caller_nid": "auth_register", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L76"}, {"caller_nid": "auth_register", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L77"}, {"caller_nid": "auth_register", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L78"}, {"caller_nid": "auth_register", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L82"}, {"caller_nid": "auth_register", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L83"}, {"caller_nid": "auth_register", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L86"}, {"caller_nid": "auth_register", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L87"}, {"caller_nid": "auth_register", "callee": "len", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L89"}, {"caller_nid": "auth_register", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L90"}, {"caller_nid": "auth_register", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L91"}, {"caller_nid": "auth_register", "callee": "first", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L94"}, {"caller_nid": "auth_register", "callee": "filter_by", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L94"}, {"caller_nid": "auth_register", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L95"}, {"caller_nid": "auth_register", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L96"}, {"caller_nid": "auth_register", "callee": "decode", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L99"}, {"caller_nid": "auth_register", "callee": "generate_password_hash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L99"}, {"caller_nid": "auth_register", "callee": "User", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L100"}, {"caller_nid": "auth_register", "callee": "add", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L106"}, {"caller_nid": "auth_register", "callee": "commit", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L107"}, {"caller_nid": "auth_register", "callee": "log_user_created", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L109"}, {"caller_nid": "auth_register", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L110"}, {"caller_nid": "auth_register", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L111"}, {"caller_nid": "auth_register", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L111"}, {"caller_nid": "auth_register", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L113"}, {"caller_nid": "auth_change_password", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L121"}, {"caller_nid": "auth_change_password", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L122"}, {"caller_nid": "auth_change_password", "callee": "get", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L123"}, {"caller_nid": "auth_change_password", "callee": "check_password_hash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L126"}, {"caller_nid": "auth_change_password", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L127"}, {"caller_nid": "auth_change_password", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L128"}, {"caller_nid": "auth_change_password", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L132"}, {"caller_nid": "auth_change_password", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L133"}, {"caller_nid": "auth_change_password", "callee": "len", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L135"}, {"caller_nid": "auth_change_password", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L136"}, {"caller_nid": "auth_change_password", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L137"}, {"caller_nid": "auth_change_password", "callee": "decode", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L140"}, {"caller_nid": "auth_change_password", "callee": "generate_password_hash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L140"}, {"caller_nid": "auth_change_password", "callee": "commit", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L141"}, {"caller_nid": "auth_change_password", "callee": "log_action", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L143"}, {"caller_nid": "auth_change_password", "callee": "flash", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L144"}, {"caller_nid": "auth_change_password", "callee": "redirect", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L145"}, {"caller_nid": "auth_change_password", "callee": "url_for", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L145"}, {"caller_nid": "auth_change_password", "callee": "render_template", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "source_location": "L147"}]}