{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "label": "playlists.py", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "label": "_playlist_dict()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L28", "_callable": true}, {"id": "playlist", "label": "Playlist", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "label": "_owned_playlist()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L41", "_callable": true}, {"id": "playlistrepodep", "label": "PlaylistRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "user", "label": "User", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "label": "_playlist_songs()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "_callable": true}, {"id": "artistrepodep", "label": "ArtistRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "albumrepodep", "label": "AlbumRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "label": "get_playlists()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "_callable": true}, {"id": "subsonicuser", "label": "SubsonicUser", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "subsonicformat", "label": "SubsonicFormat", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "label": "get_playlist()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "_callable": true}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/rest/playlists.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "label": "create_playlist()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "label": "update_playlist()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "label": "delete_playlist()", "file_type": "code", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_rationale_1", "label": "Subsonic playlist endpoints \u2014 adapters over the playlist repository. Playlists", "file_type": "rationale", "source_file": "app/api/rest/playlists.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_api_deps", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L12", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_api_rest_envelope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_api_rest_ids", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L20", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_api_rest_serializers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L21", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_domain_entities", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L22", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "app_domain_errors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L23", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "target": "playlist", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L41", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L41", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "target": "user", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L41", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "target": "playlist", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L41", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "target": "artistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "target": "albumrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L52", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "target": "subsonicuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "target": "subsonicformat", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L78", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "subsonicuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "subsonicformat", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "artistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "albumrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L89", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "subsonicuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "subsonicformat", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "artistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "albumrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L105", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "subsonicuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "subsonicformat", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L141", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "subsonicuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "subsonicformat", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "playlistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "query", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L174", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L83", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L97", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L98", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L99", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L119", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L134", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L135", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L151", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L180", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/rest/playlists.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "callee": "encode_playlist", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L30", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "callee": "iso", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L36", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_dict", "callee": "iso", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L37", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "callee": "get_by_id", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L44", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "callee": "decode_playlist", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L44", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "callee": "NotFoundError", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L46", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_owned_playlist", "callee": "PermissionDeniedError", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "get_tracks", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L58", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "decode_playlist", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L58", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "get_many", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L59", "receiver": "artist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "get_many", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L62", "receiver": "album_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "song_dict", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L67", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "get", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L69", "receiver": "artist_map"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_playlist_songs", "callee": "get", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L70", "receiver": "album_map"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "callee": "track_count_many", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L82", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "callee": "get", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L83", "receiver": "counts"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlists", "callee": "subsonic_response", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L84", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_get_playlist", "callee": "subsonic_response", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L100", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "decode_track", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L115", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "update", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L121", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "get_tracks", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L122", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "remove_track", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L124", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "add", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L126", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "add_track", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L131", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "encode_playlist", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L133", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_create_playlist", "callee": "subsonic_response", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L136", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "update", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L154", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "get_tracks", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L158", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "remove_track", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L161", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "max_position", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L164", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "add_track", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L167", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "decode_track", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L167", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_update_playlist", "callee": "subsonic_response", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L169", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "callee": "delete", "is_member_call": true, "source_file": "app/api/rest/playlists.py", "source_location": "L181", "receiver": "playlist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_rest_playlists_delete_playlist", "callee": "subsonic_response", "is_member_call": false, "source_file": "app/api/rest/playlists.py", "source_location": "L182", "receiver": null}]}