@@ -22,42 +22,28 @@ class LocalTracksDataSource {
2222
2323 Future <void > removeLocalTrackFromStorage (LocalTrackDto localTrackDto) async {
2424 final database = _localDb.getDb ();
25- await database.rawDelete ('''
26- DELETE dt
27- FROM downloadTracks dt
28- JOIN downloadTracksCollections dtc ON dtc.spotifyId = dt.downloadTracksCollection_spotifyId
29- AND dtc.type = dt.downloadTracksCollection_type
30- JOIN downloadTracksCollectionsGroups dtcg ON dtcg.directoryPath = dtc.downloadTracksCollectionsGroups_directoryPath
31- WHERE dt.spotifyId = ?
32- AND dtc.spotifyId = ?
33- AND dtc.type = ?
34- AND dtcg.directoryPath = ?;
35- ''' , [
36- localTrackDto.spotifyId,
25+ await database.delete ('downloadTracks' , where: '''downloadTracksCollection_spotifyId = ?
26+ AND downloadTracksCollection_type = ?
27+ AND downloadTracksCollectionGroup_directoryPath = ?
28+ AND spotifyId = ?''' , whereArgs: [
3729 localTrackDto.tracksCollection.spotifyId,
3830 localTrackDto.tracksCollection.type.index,
39- localTrackDto.tracksCollection.group.directoryPath
31+ localTrackDto.tracksCollection.group.directoryPath,
32+ localTrackDto.spotifyId,
4033 ]);
4134 }
4235
4336 Future <LocalTrackDto ?> getLocalTrackFromStorage (
4437 LocalTracksCollectionDto localTracksCollectionDto, String spotifyId) async {
4538 final database = _localDb.getDb ();
46- final rawLocalTracks = await database.rawQuery ('''
47- SELECT dt.*, dtcg.directoryPath AS group_directoryPath
48- FROM downloadTracks dt
49- JOIN downloadTracksCollections dtc ON dtc.spotifyId = dt.downloadTracksCollection_spotifyId
50- AND dtc.type = dt.downloadTracksCollection_type
51- JOIN downloadTracksCollectionsGroups dtcg ON dtcg.directoryPath = dtc.downloadTracksCollectionsGroups_directoryPath
52- WHERE dt.spotifyId = ?
53- AND dtc.spotifyId = ?
54- AND dtc.type = ?
55- AND dtcg.directoryPath = ?
56- ''' , [
57- spotifyId,
39+ final rawLocalTracks = await database.query ('downloadTracks' , where: '''downloadTracksCollection_spotifyId = ?
40+ AND downloadTracksCollection_type = ?
41+ AND downloadTracksCollectionGroup_directoryPath = ?
42+ AND spotifyId = ?''' , whereArgs: [
5843 localTracksCollectionDto.spotifyId,
5944 localTracksCollectionDto.type.index,
60- localTracksCollectionDto.group.directoryPath
45+ localTracksCollectionDto.group.directoryPath,
46+ spotifyId
6147 ]);
6248 return rawLocalTracks.map ((rawLocalTrack) => _localTrackDtoFromMap (rawLocalTrack)).firstOrNull;
6349 }
@@ -66,6 +52,7 @@ class LocalTracksDataSource {
6652 return {
6753 'downloadTracksCollection_spotifyId' : localTrackDto.tracksCollection.spotifyId,
6854 'downloadTracksCollection_type' : localTrackDto.tracksCollection.type.index,
55+ 'downloadTracksCollectionGroup_directoryPath' : localTrackDto.tracksCollection.group.directoryPath,
6956 'spotifyId' : localTrackDto.spotifyId,
7057 'youtubeUrl' : localTrackDto.youtubeUrl,
7158 'savePath' : localTrackDto.savePath
@@ -76,7 +63,7 @@ class LocalTracksDataSource {
7663 return {
7764 'spotifyId' : localTracksCollectionDto.spotifyId,
7865 'type' : localTracksCollectionDto.type.index,
79- 'downloadTracksCollectionsGroups_directoryPath ' : localTracksCollectionDto.group.directoryPath
66+ 'downloadTracksCollectionsGroup_directoryPath ' : localTracksCollectionDto.group.directoryPath
8067 };
8168 }
8269
@@ -90,8 +77,7 @@ class LocalTracksDataSource {
9077 tracksCollection: LocalTracksCollectionDto (
9178 spotifyId: map['downloadTracksCollection_spotifyId' ],
9279 type: LocalTracksCollectionDtoType .values[map['downloadTracksCollection_type' ] as int ],
93- group: LocalTracksCollectionsGroupDto (
94- directoryPath: map['group_directoryPath' ])),
80+ group: LocalTracksCollectionsGroupDto (directoryPath: map['downloadTracksCollectionGroup_directoryPath' ])),
9581 spotifyId: map['spotifyId' ],
9682 youtubeUrl: map['youtubeUrl' ],
9783 savePath: map['savePath' ],
0 commit comments