NK
Size: a a a
NK
NK
DR
DR
DR
AS
AlbumsDataProvider {
static
func getAlbumsByArtist(artistId: Int, successCompletion:
@escaping@escaping (AlbumsByArtist?) -> Void, errorCompletion:
@escaping@escaping ErrorCompletionBlock) {
AlbumsAPI.getAlbums(artistId: artistId) { model, error
in
DataProvider().responseHandler(model, error: error, successCompletion: successCompletion, errorCompletion: errorCompletion)
}
}
static
func getAlbumDetails(albumId: Int, successCompletion:
@escaping@escaping (Album?) -> Void, errorCompletion:
@escaping@escaping ErrorCompletionBlock) {
AlbumsAPI.getAlbumDetails(albumId: albumId) { model, error
in
DataProvider().responseHandler(model, error: error, successCompletion: successCompletion, errorCompletion: errorCompletion)
}
}
static
func getSongsForAlbum(albumId: Int, successCompletion:
@escaping@escaping (SongsInAlbum?) -> Void, errorCompletion:
@escaping@escaping ErrorCompletionBlock) {
AlbumsAPI.getSongsForAlbum(albumId: albumId) { model, error
in
DataProvider().responseHandler(model, error: error, successCompletion: successCompletion, errorCompletion: errorCompletion)
}
}
}
𝕬
AS
fetchAlbumSongs(successCompletion:
@escaping@escaping VoidCompletionBlock, errorCompletion:
@escaping@escaping ErrorCompletionBlock) {
AlbumsDataProvider.getSongsForAlbum(albumId: albumDetailsModel.albumId, successCompletion: { [
weak
self] songsInAlbum
in
if
let songs = songsInAlbum?.results {
self?.cellModels =
self?.createCellModels(models: songs) ?? []
}
successCompletion()
}, errorCompletion: errorCompletion)
}
𝕬
𝕬
DP
AS