{"nodes": [{"id": "$graphify-root$_backend_app_api_service_accounts_py", "label": "service_accounts.py", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_api_service_accounts_serviceaccountcreate", "label": "ServiceAccountCreate", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L18", "_callable": true, "_callable_class": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_serviceaccountupdate", "label": "ServiceAccountUpdate", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L26", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_backend_app_api_service_accounts_serviceaccountresponse", "label": "ServiceAccountResponse", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L33", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_backend_app_api_service_accounts_require_admin", "label": "_require_admin()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L44", "_callable": true}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "user", "label": "User", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_serialize", "label": "_serialize()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L55", "_callable": true}, {"id": "serviceaccount", "label": "ServiceAccount", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "get", "label": "get", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "label": "list_service_accounts()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L69", "_callable": true}, {"id": "post", "label": "post", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "label": "create_service_account()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L77", "_callable": true}, {"id": "patch", "label": "patch", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "label": "update_service_account()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L95", "_callable": true}, {"id": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "label": "rotate_service_token()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L121", "_callable": true}, {"id": "delete", "label": "delete", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/api/service_accounts.py"}, {"id": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "label": "delete_service_account()", "file_type": "code", "source_file": "backend/app/api/service_accounts.py", "source_location": "L140", "_callable": true}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_1", "label": "API endpoints for service account management (admin only). Never expose\u2026", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_70", "label": "List all service accounts (metadata only, never credentials).", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L70"}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_82", "label": "Create or update service account (admin only).", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L82"}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_101", "label": "Edit metadata / rotate credentials / enable-disable (admin only).", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L101"}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_126", "label": "Rotate TMS token (re-login to TMS, store fresh token). Never returns token.", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L126"}, {"id": "$graphify-root$_backend_app_api_service_accounts_rationale_145", "label": "Delete service account (admin only).", "file_type": "rationale", "source_file": "backend/app/api/service_accounts.py", "source_location": "L145"}], "edges": [{"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L5", "weight": 1.0, "_python_import_module": "fastapi", "_python_import_bindings": [["APIRouter", "APIRouter"], ["Depends", "Depends"], ["HTTPException", "HTTPException"], ["Cookie", "Cookie"], ["Path", "Path"]]}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L6", "weight": 1.0, "_python_import_module": "pydantic", "_python_import_bindings": [["BaseModel", "BaseModel"]]}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L7", "weight": 1.0, "_python_import_module": "sqlalchemy.orm", "_python_import_bindings": [["Session", "Session"]]}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L8", "weight": 1.0, "_python_import_module": "datetime", "_python_import_bindings": [["datetime", "datetime"]]}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_db_session_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L9", "weight": 1.0, "_python_import_module": "app.db.session", "_python_import_bindings": [["get_db", "get_db"]], "target_file": "$graphify-root$/backend/app/db/session.py"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_db_models_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L10", "weight": 1.0, "_python_import_module": "app.db.models", "_python_import_bindings": [["User", "User"], ["ServiceAccount", "ServiceAccount"]], "target_file": "$graphify-root$/backend/app/db/models.py"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_services_auth_service_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L11", "weight": 1.0, "_python_import_module": "app.services.auth_service", "_python_import_bindings": [["get_current_user", "get_current_user"]], "target_file": "$graphify-root$/backend/app/services/auth_service.py"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_core_logging_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L13", "weight": 1.0, "_python_import_module": "app.core.logging", "_python_import_bindings": [["log_activity", "log_activity"]], "target_file": "$graphify-root$/backend/app/core/logging.py"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serviceaccountcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serviceaccountupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serviceaccountresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_require_admin", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_require_admin", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_serialize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serialize", "target": "serviceaccount", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serialize", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L68", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L76", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "target": "patch", "relation": "references", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L94", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L120", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "target": "delete", "relation": "references", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L139", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_backend_app_api_service_accounts_py", "target": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_serialize", "target": "$graphify-root$_backend_app_api_service_accounts_serviceaccountresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "target": "$graphify-root$_backend_app_api_service_accounts_serialize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_serialize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L102", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_serialize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "target": "$graphify-root$_backend_app_api_service_accounts_require_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_1", "target": "$graphify-root$_backend_app_api_service_accounts_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_70", "target": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_82", "target": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_101", "target": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_126", "target": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_backend_app_api_service_accounts_rationale_145", "target": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/api/service_accounts.py", "source_location": "L145", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_backend_app_api_service_accounts_require_admin", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L46", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_require_admin", "callee": "get_current_user", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_require_admin", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_require_admin", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_serialize", "callee": "status", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "backend/app/api/service_accounts.py", "source_location": "L60"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_serialize", "callee": "isoformat", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L63", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_serialize", "callee": "isoformat", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L64", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "callee": "all", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L72", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "callee": "query", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L72", "receiver": "db", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_list_service_accounts", "callee": "ServiceAccount", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/api/service_accounts.py", "source_location": "L72"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "callee": "upsert_service_account", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L84", "receiver": "svc", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_create_service_account", "callee": "log_activity", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "first", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L103", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "filter", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L103", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "query", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L103", "receiver": "db", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "ServiceAccount", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/api/service_accounts.py", "source_location": "L103"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "utcnow", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L114", "receiver": "datetime", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "commit", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L115", "receiver": "db", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_update_service_account", "callee": "log_activity", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L116", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "ensure_service_token", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L128", "receiver": "svc", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "first", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L131", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "filter", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L131", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "query", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L131", "receiver": "db", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "ServiceAccount", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/api/service_accounts.py", "source_location": "L131"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "utcnow", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L133", "receiver": "datetime", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "commit", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L134", "receiver": "db", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_rotate_service_token", "callee": "log_activity", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L135", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "callee": "delete_service_account", "is_member_call": true, "source_file": "backend/app/api/service_accounts.py", "source_location": "L147", "receiver": "svc", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "callee": "HTTPException", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L149", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_api_service_accounts_delete_service_account", "callee": "log_activity", "is_member_call": false, "source_file": "backend/app/api/service_accounts.py", "source_location": "L150", "receiver": null}], "_cached_target_files": ["$graphify-root$/backend/app/core/logging.py", "$graphify-root$/backend/app/db/models.py", "$graphify-root$/backend/app/db/session.py", "$graphify-root$/backend/app/services/auth_service.py"]}