Skip to content

Commit c5cb10f

Browse files
committed
Error fixes on query timeouts
1 parent 61c809c commit c5cb10f

7 files changed

Lines changed: 36 additions & 36 deletions

File tree

MiniMediaMetadataAPI.Application/Repositories/DeezerRepository.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public DeezerRepository(IOptions<DatabaseConfiguration> databaseConfiguration)
1414
_databaseConfiguration = databaseConfiguration.Value;
1515
}
1616

17-
public async Task<List<DeezerArtistModel>> SearchArtistAsync(string name, int offset)
17+
public async Task<List<DeezerArtistModel>?> SearchArtistAsync(string name, int offset)
1818
{
1919
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
2020
SELECT *
@@ -119,7 +119,7 @@ FROM deezer_artist da
119119
return groupedResult.FirstOrDefault();
120120
}
121121

122-
public async Task<List<DeezerAlbumModel>> SearchAlbumByArtistIdAsync(string albumName, long artistId, int offset)
122+
public async Task<List<DeezerAlbumModel>?> SearchAlbumByArtistIdAsync(string albumName, long artistId, int offset)
123123
{
124124
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
125125
SELECT album.albumid,
@@ -294,7 +294,7 @@ FROM deezer_album album
294294
return groupedResult.FirstOrDefault();
295295
}
296296

297-
public async Task<List<DeezerTrackModel>> SearchTrackByArtistIdAsync(string trackName, long artistId, int offset)
297+
public async Task<List<DeezerTrackModel>?> SearchTrackByArtistIdAsync(string trackName, long artistId, int offset)
298298
{
299299
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
300300
SELECT dt.TrackId,

MiniMediaMetadataAPI.Application/Repositories/MusicBrainzRepository.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public MusicBrainzRepository(IOptions<DatabaseConfiguration> databaseConfigurati
1414
_databaseConfiguration = databaseConfiguration.Value;
1515
}
1616

17-
public async Task<List<MusicBrainzArtistModel>> SearchArtistAsync(string name, int offset)
17+
public async Task<List<MusicBrainzArtistModel>?> SearchArtistAsync(string name, int offset)
1818
{
1919
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
2020
SELECT *
@@ -66,7 +66,7 @@ FROM MusicBrainz_Artist
6666
});
6767
}
6868

69-
public async Task<List<MusicBrainzReleaseModel>> SearchAlbumByArtistIdAsync(string albumName, Guid artistId, int offset)
69+
public async Task<List<MusicBrainzReleaseModel>?> SearchAlbumByArtistIdAsync(string albumName, Guid artistId, int offset)
7070
{
7171
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
7272
SELECT release.*,
@@ -186,7 +186,7 @@ FROM MusicBrainz_Release release
186186
return groupedResult;
187187
}
188188

189-
public async Task<List<MusicBrainzArtistModel>> SearchTrackByArtistIdAsync(string trackName, Guid artistId, int offset)
189+
public async Task<List<MusicBrainzArtistModel>?> SearchTrackByArtistIdAsync(string trackName, Guid artistId, int offset)
190190
{
191191
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
192192
select track.ReleaseTrackId,

MiniMediaMetadataAPI.Application/Repositories/SpotifyRepository.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public SpotifyRepository(IOptions<DatabaseConfiguration> databaseConfiguration)
1414
_databaseConfiguration = databaseConfiguration.Value;
1515
}
1616

17-
public async Task<List<SpotifyArtistModel>> SearchArtistAsync(string name, int offset)
17+
public async Task<List<SpotifyArtistModel>?> SearchArtistAsync(string name, int offset)
1818
{
1919
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
2020
SELECT *
@@ -122,7 +122,7 @@ FROM spotify_artist sa
122122
}
123123

124124

125-
public async Task<List<SpotifyAlbumModel>> SearchAlbumByArtistIdAsync(string albumName, string artistId, int offset)
125+
public async Task<List<SpotifyAlbumModel>?> SearchAlbumByArtistIdAsync(string albumName, string artistId, int offset)
126126
{
127127
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
128128
SELECT sa.*,
@@ -309,7 +309,7 @@ FROM spotify_album sa
309309
return groupedResult.FirstOrDefault();
310310
}
311311

312-
public async Task<List<SpotifyTrackModel>> SearchTrackByArtistIdAsync(string trackName, string artistId, int offset)
312+
public async Task<List<SpotifyTrackModel>?> SearchTrackByArtistIdAsync(string trackName, string artistId, int offset)
313313
{
314314
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
315315
SELECT st.TrackId,

MiniMediaMetadataAPI.Application/Repositories/TidalRepository.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public TidalRepository(IOptions<DatabaseConfiguration> databaseConfiguration)
1414
_databaseConfiguration = databaseConfiguration.Value;
1515
}
1616

17-
public async Task<List<TidalArtistModel>> SearchArtistAsync(string name, int offset)
17+
public async Task<List<TidalArtistModel>?> SearchArtistAsync(string name, int offset)
1818
{
1919
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
2020
SELECT *
@@ -92,7 +92,7 @@ FROM tidal_artist
9292
});
9393
}
9494

95-
public async Task<List<TidalAlbumModel>> SearchAlbumByArtistIdAsync(string albumName, int artistId, int offset)
95+
public async Task<List<TidalAlbumModel>?> SearchAlbumByArtistIdAsync(string albumName, int artistId, int offset)
9696
{
9797
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
9898
SELECT album.albumid,
@@ -277,7 +277,7 @@ FROM tidal_album album
277277
return groupedResult.FirstOrDefault();
278278
}
279279

280-
public async Task<List<TidalTrackModel>> SearchTrackByArtistIdAsync(string trackName, int artistId, int offset)
280+
public async Task<List<TidalTrackModel>?> SearchTrackByArtistIdAsync(string trackName, int artistId, int offset)
281281
{
282282
string query = @"SET LOCAL pg_trgm.similarity_threshold = 0.5;
283283
SELECT tt.TrackId,

MiniMediaMetadataAPI.Application/Services/SearchAlbumService.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public async Task<SearchAlbumResponse> SearchAlbum(
3636
if (provider is ProviderType.Any or ProviderType.Spotify)
3737
{
3838
var spotifyArtists = await _spotifyRepository.SearchAlbumByArtistIdAsync(name, artistId, offset);
39-
searchResult.AddRange(spotifyArtists.Select(album => new SearchAlbumEntity
39+
searchResult.AddRange(spotifyArtists?.Select(album => new SearchAlbumEntity
4040
{
4141
ProviderType = ProviderType.Spotify,
4242
Id = album.AlbumId,
@@ -59,12 +59,12 @@ public async Task<SearchAlbumResponse> SearchAlbum(
5959
Id = artist.ArtistId,
6060
Name = artist.ArtistName
6161
}).ToList()
62-
}));
62+
}) ?? []);
6363
}
6464
if (provider is ProviderType.Any or ProviderType.Tidal && int.TryParse(artistId, out int intArtistId))
6565
{
6666
var tidalAlbums = await _tidalRepository.SearchAlbumByArtistIdAsync(name, intArtistId, offset);
67-
searchResult.AddRange(tidalAlbums.Select(album => new SearchAlbumEntity
67+
searchResult.AddRange(tidalAlbums?.Select(album => new SearchAlbumEntity
6868
{
6969
ProviderType = ProviderType.Tidal,
7070
Id = album.AlbumId.ToString(),
@@ -83,12 +83,12 @@ public async Task<SearchAlbumResponse> SearchAlbum(
8383
Height = image.Meta_Height,
8484
Url = image.Href
8585
}).ToList()
86-
}));
86+
}) ?? []);
8787
}
8888
if (provider is ProviderType.Any or ProviderType.MusicBrainz && Guid.TryParse(artistId, out Guid guidArtistId))
8989
{
9090
var musicBrainzArtists = await _musicBrainzRepository.SearchAlbumByArtistIdAsync(name, guidArtistId, offset);
91-
searchResult.AddRange(musicBrainzArtists.Select(album => new SearchAlbumEntity
91+
searchResult.AddRange(musicBrainzArtists?.Select(album => new SearchAlbumEntity
9292
{
9393
ProviderType = ProviderType.MusicBrainz,
9494
Id = album.ReleaseId.ToString(),
@@ -99,12 +99,12 @@ public async Task<SearchAlbumResponse> SearchAlbum(
9999
ReleaseDate = album.Date,
100100
TotalTracks = album.TotalTracks,
101101
UPC = album.Barcode
102-
}));
102+
}) ?? []);
103103
}
104104
if (provider is ProviderType.Any or ProviderType.Deezer && long.TryParse(artistId, out long longArtistId))
105105
{
106-
var deezerAlbums = await _deezerRepository.SearchAlbumByArtistIdAsync(name, longArtistId, offset);
107-
searchResult.AddRange(deezerAlbums.Select(album => new SearchAlbumEntity
106+
var deezerAlbums = await _deezerRepository?.SearchAlbumByArtistIdAsync(name, longArtistId, offset);
107+
searchResult.AddRange(deezerAlbums?.Select(album => new SearchAlbumEntity
108108
{
109109
ProviderType = ProviderType.Deezer,
110110
Id = album.AlbumId.ToString(),
@@ -129,7 +129,7 @@ public async Task<SearchAlbumResponse> SearchAlbum(
129129
Id = artist.ArtistId.ToString(),
130130
Name = artist.ArtistName
131131
}).ToList()
132-
}));
132+
}) ?? []);
133133
}
134134

135135
response.SearchResult = searchResult.Any() ? SearchResultType.Ok : SearchResultType.NotFound;

MiniMediaMetadataAPI.Application/Services/SearchArtistService.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public async Task<SearchArtistResponse> SearchArtist(
3636
if (provider is ProviderType.Any or ProviderType.Spotify)
3737
{
3838
var spotifyArtists = await _spotifyRepository.SearchArtistAsync(name, offset);
39-
searchResult.AddRange(spotifyArtists.Select(artist => new SearchArtistEntity
39+
searchResult.AddRange(spotifyArtists?.Select(artist => new SearchArtistEntity
4040
{
4141
ProviderType = ProviderType.Spotify,
4242
Id = artist.Id,
@@ -52,12 +52,12 @@ public async Task<SearchArtistResponse> SearchArtist(
5252
Height = image.Height,
5353
Url = image.Url
5454
}).ToList()
55-
}));
55+
}) ?? []);
5656
}
5757
if (provider is ProviderType.Any or ProviderType.Tidal)
5858
{
5959
var tidalArtists = await _tidalRepository.SearchArtistAsync(name, offset);
60-
searchResult.AddRange(tidalArtists.Select(artist => new SearchArtistEntity
60+
searchResult.AddRange(tidalArtists?.Select(artist => new SearchArtistEntity
6161
{
6262
ProviderType = ProviderType.Tidal,
6363
Id = artist.ArtistId.ToString(),
@@ -73,12 +73,12 @@ public async Task<SearchArtistResponse> SearchArtist(
7373
Height = image.Meta_Height,
7474
Url = image.Href
7575
}).ToList()
76-
}));
76+
}) ?? []);
7777
}
7878
if (provider is ProviderType.Any or ProviderType.MusicBrainz)
7979
{
8080
var musicBrainzArtists = await _musicBrainzRepository.SearchArtistAsync(name, offset);
81-
searchResult.AddRange(musicBrainzArtists.Select(artist => new SearchArtistEntity
81+
searchResult.AddRange(musicBrainzArtists?.Select(artist => new SearchArtistEntity
8282
{
8383
ProviderType = ProviderType.MusicBrainz,
8484
Id = artist.ArtistId.ToString(),
@@ -88,12 +88,12 @@ public async Task<SearchArtistResponse> SearchArtist(
8888
TotalFollowers = 0,
8989
Genres = string.Empty,
9090
LastSyncTime = artist.LastSyncTime
91-
}));
91+
}) ?? []);
9292
}
9393
if (provider is ProviderType.Any or ProviderType.Deezer)
9494
{
9595
var deezerArtists = await _deezerRepository.SearchArtistAsync(name, offset);
96-
searchResult.AddRange(deezerArtists.Select(artist => new SearchArtistEntity
96+
searchResult.AddRange(deezerArtists?.Select(artist => new SearchArtistEntity
9797
{
9898
ProviderType = ProviderType.Deezer,
9999
Id = artist.ArtistId.ToString(),
@@ -109,7 +109,7 @@ public async Task<SearchArtistResponse> SearchArtist(
109109
Height = image.Height,
110110
Url = image.Href
111111
}).ToList()
112-
}));
112+
}) ?? []);
113113
}
114114

115115
response.SearchResult = searchResult.Any() ? SearchResultType.Ok : SearchResultType.NotFound;

MiniMediaMetadataAPI.Application/Services/SearchTrackService.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public async Task<SearchTrackResponse> SearchTrack(
3737
if (provider is ProviderType.Any or ProviderType.Spotify)
3838
{
3939
var spotifyArtists = await _spotifyRepository.SearchTrackByArtistIdAsync(trackName, artistId, offset);
40-
searchResult.AddRange(spotifyArtists.Select(track => new SearchTrackEntity
40+
searchResult.AddRange(spotifyArtists?.Select(track => new SearchTrackEntity
4141
{
4242
ProviderType = ProviderType.Spotify,
4343
Id = track.TrackId,
@@ -69,12 +69,12 @@ public async Task<SearchTrackResponse> SearchTrack(
6969
Id = artist.ArtistId,
7070
Name = artist.ArtistName
7171
}).ToList()
72-
}));
72+
}) ?? []);
7373
}
7474
if (provider is ProviderType.Any or ProviderType.Tidal && int.TryParse(artistId, out int intArtistId))
7575
{
7676
var tidalTracks = await _tidalRepository.SearchTrackByArtistIdAsync(trackName, intArtistId, offset);
77-
searchResult.AddRange(tidalTracks.Select(track => new SearchTrackEntity
77+
searchResult.AddRange(tidalTracks?.Select(track => new SearchTrackEntity
7878
{
7979
ProviderType = ProviderType.Tidal,
8080
Id = track.TrackId.ToString(),
@@ -106,13 +106,13 @@ public async Task<SearchTrackResponse> SearchTrack(
106106
Id = artist.ArtistId.ToString(),
107107
Name = artist.ArtistName
108108
}).ToList()
109-
}));
109+
}) ?? []);
110110
}
111111
if (provider is ProviderType.Any or ProviderType.MusicBrainz && Guid.TryParse(artistId, out Guid guidArtistId))
112112
{
113113
var musicBrainzArtists = await _musicBrainzRepository.SearchTrackByArtistIdAsync(trackName, guidArtistId, offset);
114114

115-
foreach (var artist in musicBrainzArtists)
115+
foreach (var artist in musicBrainzArtists ?? [])
116116
{
117117
foreach (var release in artist.Releases)
118118
{
@@ -169,7 +169,7 @@ public async Task<SearchTrackResponse> SearchTrack(
169169
if (provider is ProviderType.Any or ProviderType.Deezer && long.TryParse(artistId, out long longArtistId))
170170
{
171171
var deezerTracks = await _deezerRepository.SearchTrackByArtistIdAsync(trackName, longArtistId, offset);
172-
searchResult.AddRange(deezerTracks.Select(track => new SearchTrackEntity
172+
searchResult.AddRange(deezerTracks?.Select(track => new SearchTrackEntity
173173
{
174174
ProviderType = ProviderType.Deezer,
175175
Id = track.TrackId.ToString(),
@@ -202,7 +202,7 @@ public async Task<SearchTrackResponse> SearchTrack(
202202
Id = artist.ArtistId.ToString(),
203203
Name = artist.ArtistName
204204
}).ToList()
205-
}));
205+
}) ?? []);
206206
}
207207

208208
response.SearchResult = searchResult.Any() ? SearchResultType.Ok : SearchResultType.NotFound;

0 commit comments

Comments
 (0)