2017-09-02 19:40:32 +02:00
|
|
|
// Converts SearchResult entities from [org.moire.ultrasonic.api.subsonic.SubsonicAPIClient]
|
|
|
|
// to app domain entities.
|
|
|
|
@file:JvmName("APISearchConverter")
|
2018-02-17 20:36:19 +01:00
|
|
|
package org.moire.ultrasonic.domain
|
2017-09-02 19:40:32 +02:00
|
|
|
|
2020-06-13 19:04:31 +02:00
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchResult as APISearchResult
|
2017-09-02 19:40:32 +02:00
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchThreeResult
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchTwoResult
|
|
|
|
|
2020-06-13 19:04:31 +02:00
|
|
|
fun APISearchResult.toDomainEntity(): SearchResult = SearchResult(
|
|
|
|
emptyList(), emptyList(),
|
2021-12-21 12:16:40 +01:00
|
|
|
this.matchList.map { it.toTrackEntity() }
|
2020-06-13 19:04:31 +02:00
|
|
|
)
|
2017-09-02 19:40:32 +02:00
|
|
|
|
|
|
|
fun SearchTwoResult.toDomainEntity(): SearchResult = SearchResult(
|
2020-06-13 19:04:31 +02:00
|
|
|
this.artistList.map { it.toDomainEntity() },
|
|
|
|
this.albumList.map { it.toDomainEntity() },
|
2021-12-21 12:16:40 +01:00
|
|
|
this.songList.map { it.toTrackEntity() }
|
2020-06-13 19:04:31 +02:00
|
|
|
)
|
2017-09-02 19:40:32 +02:00
|
|
|
|
|
|
|
fun SearchThreeResult.toDomainEntity(): SearchResult = SearchResult(
|
2020-06-13 19:04:31 +02:00
|
|
|
this.artistList.map { it.toDomainEntity() },
|
|
|
|
this.albumList.map { it.toDomainEntity() },
|
2021-12-21 12:16:40 +01:00
|
|
|
this.songList.map { it.toTrackEntity() }
|
2020-06-13 19:04:31 +02:00
|
|
|
)
|