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