{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "label": "refresh_token_repository.py", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "SqlAlchemyRefreshTokenRepository", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L14", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "label": ".__init__()", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L15", "_callable": true}, {"id": "asyncsession", "label": "AsyncSession", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/repositories/refresh_token_repository.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "label": ".add()", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L18", "_callable": true}, {"id": "uuid", "label": "UUID", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/repositories/refresh_token_repository.py"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/repositories/refresh_token_repository.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "label": ".is_valid()", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L36", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "label": ".revoke()", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L46", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "label": ".revoke_all_for_user()", "file_type": "code", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L53", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_rationale_1", "label": "Refresh-token repository \u2014 adapter implementing ``app.domain.ports.RefreshTokenR", "file_type": "rationale", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L6", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "sqlalchemy_ext_asyncio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "app_infrastructure_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L14", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "target": "asyncsession", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L36", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L36", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L53", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "target": "uuid", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L53", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "callee": "RefreshTokenModel", "is_member_call": false, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L27", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "callee": "flush", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L34", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "scalar_one_or_none", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L37", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "execute", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L38", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "where", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L39", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "select", "is_member_call": false, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L39", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "RefreshTokenModel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L39"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "callee": "now", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L44", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "execute", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L47", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "values", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "where", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "update", "is_member_call": false, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "RefreshTokenModel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L48"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "is_", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "callee": "now", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L50", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "execute", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L54", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "values", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L55", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "where", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L55", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "update", "is_member_call": false, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L55", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "RefreshTokenModel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L55"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "is_", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L58", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "callee": "now", "is_member_call": true, "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "source_location": "L60", "receiver": null}]}