1 line
20 KiB
JSON
1 line
20 KiB
JSON
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "label": "user_service.py", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "label": "UserService", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L14", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_init", "label": ".__init__()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L15", "_callable": true}, {"id": "userrepository", "label": "UserRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/application/user_service.py"}, {"id": "refreshtokenrepository", "label": "RefreshTokenRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/application/user_service.py"}, {"id": "passwordhasher", "label": "PasswordHasher", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/application/user_service.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "label": ".create_user()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L26", "_callable": true}, {"id": "user", "label": "User", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/application/user_service.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_list_users", "label": ".list_users()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L37", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "label": ".get_user()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L40", "_callable": true}, {"id": "uuid", "label": "UUID", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/application/user_service.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_superuser", "label": ".set_superuser()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L46", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "label": ".set_active()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L50", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "label": ".reset_password()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L58", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "label": ".deactivate()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L64", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "label": ".change_password()", "file_type": "code", "source_file": "app/application/user_service.py", "source_location": "L68", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_1", "label": "User-management use cases: admin CRUD plus self-service password change. Deleti", "file_type": "rationale", "source_file": "app/application/user_service.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_59", "label": "Admin-driven password reset. Revokes all sessions.", "file_type": "rationale", "source_file": "app/application/user_service.py", "source_location": "L59"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_65", "label": "Soft delete: disable the account, keep the row for referential history.", "file_type": "rationale", "source_file": "app/application/user_service.py", "source_location": "L65"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_71", "label": "Self-service change: verify the current password first.", "file_type": "rationale", "source_file": "app/application/user_service.py", "source_location": "L71"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "target": "app_domain_entities", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "target": "app_domain_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "target": "app_domain_ports", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L14", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_init", "target": "userrepository", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_init", "target": "refreshtokenrepository", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_init", "target": "passwordhasher", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L26", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L26", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_list_users", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L37", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_list_users", "target": "user", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L37", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L40", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L40", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L40", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_superuser", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_superuser", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_superuser", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L50", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L50", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L50", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L58", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L58", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L64", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L64", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "target": "user", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L64", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L68", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L68", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_superuser", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L47", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L51", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L60", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L66", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L72", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_59", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L59", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_65", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_deactivate", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L65", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_rationale_71", "target": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/application/user_service.py", "source_location": "L71", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "callee": "get_credentials_by_username", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L29", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "callee": "AlreadyExistsError", "is_member_call": false, "source_file": "app/application/user_service.py", "source_location": "L30", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_create_user", "callee": "add", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L31", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "callee": "get_by_id", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L41", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_get_user", "callee": "NotFoundError", "is_member_call": false, "source_file": "app/application/user_service.py", "source_location": "L43", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_set_active", "callee": "revoke_all_for_user", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L55", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "callee": "set_password_hash", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_reset_password", "callee": "revoke_all_for_user", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L62", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "callee": "get_credentials_by_username", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L73", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "callee": "verify_and_update", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L75", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "callee": "AuthenticationError", "is_member_call": false, "source_file": "app/application/user_service.py", "source_location": "L77", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "callee": "set_password_hash", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L78", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_application_user_service_userservice_change_password", "callee": "revoke_all_for_user", "is_member_call": true, "source_file": "app/application/user_service.py", "source_location": "L79", "receiver": null}]} |