스팀 앱 개발기 #65 - bridge.get_ranked_posts API 연동 구현: SteemRepository 인터페이스, SteemRepositoryImpl 클래스 수정

시작하며...

저번 포스트에서 bridge.get_ranked_posts API 연동 코드를 구현하기 시작했고, SteemService 인터페이스에 연동 메소드를 추가했습니다. 이번 포스트에서는 ranked posts를 읽기 위한 메소드를 SteemRepository 인터페이스, SteemRepositoryImpl 클래스에 추가합니다.


작업 개요

  • SteemRepository 인터페이스에 readRankedPosts 메소드 추가
  • SteemRepositoryImpl 클래스에 readRankedPosts 메소드 추가

SteemRepository 인터페이스에 readRankedPosts 메소드 추가

이번에 추가한 메소드는 Ranked post들을 읽기 위한 readRankedPosts 메소드입니다.

interface SteemRepository {

    // ...

    fun readRankedPosts(
        sort: String,
        tag: String,
        observer: String = "",
        limit: Int = 20,
        lastPostItem: PostItem? = null
    ): Single<List<PostItem>>

}

SteemRepositoryImpl 클래스에 readRankedPosts 메소드 추가

위 인터페이스를 구현하는 SteemRepositoryImpl 클래스에 이 메소드를 구현합니다. 이전 포스트에서 추가한 SteemService 인터페이스의 getRankedPosts 메소드를 여기서 호출합니다.

class SteemRepositoryImpl: SteemRepository {

    // ...

    override fun readRankedPosts(
        sort: String,
        tag: String,
        observer: String,
        limit: Int,
        lastPostItem: PostItem?
    ): Single<List<PostItem>> {
        val innerParams = GetRankedPostParamsDTO.InnerParams(
            sort,
            tag,
            observer,
            limit,
            lastPostItem?.account ?: "",
            lastPostItem?.permlink ?: ""
        )
        val getRankedPostsParams = GetRankedPostParamsDTO(params = innerParams, id = 1)

        return SteemClient.apiService.getRankedPosts(getRankedPostsParams).map { response ->
            (response.result ?: listOf()).map { postItemDTO ->
                postItemDTO.toPostItem()
            }
        }
    }

}

GitHub Commit


지난 스팀 앱 개발기

Sort:  
 3 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.10
TRX 0.32
JST 0.032
BTC 112910.12
ETH 4121.43
USDT 1.00
SBD 0.67