From cf1cb32d76b16cadf8d5d7ca5e7a7c54ce5c999b Mon Sep 17 00:00:00 2001 From: Shivam Goyal Date: Thu, 28 Mar 2024 20:56:53 +0530 Subject: [PATCH] TP-62302 | Forge API Migration from Query to Path (#10251) --- .../common/tab/InsuranceTabRepository.kt | 22 +- .../tab/TrialInsuranceDashboardRepository.kt | 25 +- .../forge/repository/ForgeRepository.kt | 6 +- .../repo/InvestmentTabV2Repository.kt | 17 +- .../respository/NotificationRepository.kt | 8 +- .../network/retrofit/RetrofitService.kt | 23 +- .../coin/network/retrofit/RetrofitService.kt | 18 +- .../navi/coin/repo/CoinHistoryScreenRepo.kt | 28 ++- .../com/navi/coin/repo/CoinHomeScreenRepo.kt | 102 +++++---- .../coin/repo/ScratchCardHistoryScreenRepo.kt | 18 +- .../coins/repo/CoinHistoryScreenRepoTest.kt | 216 +++++++++--------- .../navi/coins/repo/CoinHomeScreenRepoTest.kt | 74 +++--- .../leaderboard/repo/LeaderboardScreenRepo.kt | 20 +- .../rr/network/retrofit/RetrofitService.kt | 22 +- .../rr/referral/repo/RefereeTrackerRepo.kt | 42 ++-- .../navi/rr/referral/repo/ReferralHomeRepo.kt | 12 +- .../rr/scratchcard/repo/ScratchCardRepo.kt | 17 +- 17 files changed, 389 insertions(+), 281 deletions(-) diff --git a/android/app/src/main/java/com/naviapp/common/tab/InsuranceTabRepository.kt b/android/app/src/main/java/com/naviapp/common/tab/InsuranceTabRepository.kt index c745c57304..aa850d8e23 100644 --- a/android/app/src/main/java/com/naviapp/common/tab/InsuranceTabRepository.kt +++ b/android/app/src/main/java/com/naviapp/common/tab/InsuranceTabRepository.kt @@ -1,23 +1,33 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.naviapp.common.tab import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback -import com.navi.common.utils.Constants +import com.navi.common.utils.Constants.GZIP import com.navi.insurance.common.models.InsuranceTabResponse import com.naviapp.network.di.SuperAppRetroFit import com.naviapp.network.retrofit.RetrofitService import javax.inject.Inject -class InsuranceTabRepository @Inject constructor(@SuperAppRetroFit private val apiService: RetrofitService) : - ResponseCallback() { +class InsuranceTabRepository +@Inject +constructor(@SuperAppRetroFit private val apiService: RetrofitService) : ResponseCallback() { private val insuranceTabId = "INSURANCE_DASHBOARD" - private val acceptEncoding = Constants.GZIP + suspend fun fetchInsuranceTabPage(): RepoResult { return apiResponseCallback( apiService.fetchInsuranceTabForgeScreen( - acceptEncoding, insuranceTabId, ModuleNameV2.FORGE.name + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = insuranceTabId, ) ) } -} \ No newline at end of file +} diff --git a/android/app/src/main/java/com/naviapp/common/tab/TrialInsuranceDashboardRepository.kt b/android/app/src/main/java/com/naviapp/common/tab/TrialInsuranceDashboardRepository.kt index 42d3e88822..b46e450064 100644 --- a/android/app/src/main/java/com/naviapp/common/tab/TrialInsuranceDashboardRepository.kt +++ b/android/app/src/main/java/com/naviapp/common/tab/TrialInsuranceDashboardRepository.kt @@ -1,23 +1,34 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.naviapp.common.tab import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback -import com.navi.common.utils.Constants +import com.navi.common.utils.Constants.GZIP import com.naviapp.common.tab.insurance.model.TrialInsuranceDashboardPageResponse import com.naviapp.network.di.SuperAppRetroFit import com.naviapp.network.retrofit.RetrofitService import javax.inject.Inject -class TrialInsuranceDashboardRepository @Inject constructor(@SuperAppRetroFit private val apiService: RetrofitService) : - ResponseCallback() { +class TrialInsuranceDashboardRepository +@Inject +constructor(@SuperAppRetroFit private val apiService: RetrofitService) : ResponseCallback() { private val trialInsuranceDashboardId = "GI_TRIAL_DASHBOARD" - private val acceptEncoding = Constants.GZIP - suspend fun fetchTrialInsuranceDashboardResponse(): RepoResult { + + suspend fun fetchTrialInsuranceDashboardResponse(): + RepoResult { return apiResponseCallback( apiService.fetchTrialDashboardForgeScreen( - acceptEncoding, trialInsuranceDashboardId, ModuleNameV2.FORGE.name + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = trialInsuranceDashboardId, ) ) } -} \ No newline at end of file +} diff --git a/android/app/src/main/java/com/naviapp/forge/repository/ForgeRepository.kt b/android/app/src/main/java/com/naviapp/forge/repository/ForgeRepository.kt index 482a404c5e..a8dff4d014 100644 --- a/android/app/src/main/java/com/naviapp/forge/repository/ForgeRepository.kt +++ b/android/app/src/main/java/com/naviapp/forge/repository/ForgeRepository.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2023 by Navi Technologies Limited + * * Copyright © 2023-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -9,6 +9,7 @@ package com.naviapp.forge.repository import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.naviapp.forge.model.ScreenDefinition import com.naviapp.network.di.SuperAppRetroFit import com.naviapp.network.retrofit.ResponseCallback @@ -23,8 +24,9 @@ constructor(@SuperAppRetroFit private val superAppRetrofitService: RetrofitServi suspend fun fetchForgeScreen(screenId: String): RepoResult = apiResponseCallback( superAppRetrofitService.fetchForgeScreen( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, screenId = screenId, - target = ModuleNameV2.FORGE.name ) ) } diff --git a/android/app/src/main/java/com/naviapp/home/dashboard/repo/InvestmentTabV2Repository.kt b/android/app/src/main/java/com/naviapp/home/dashboard/repo/InvestmentTabV2Repository.kt index 248a07a3d9..b8ed0cd1c8 100644 --- a/android/app/src/main/java/com/naviapp/home/dashboard/repo/InvestmentTabV2Repository.kt +++ b/android/app/src/main/java/com/naviapp/home/dashboard/repo/InvestmentTabV2Repository.kt @@ -1,7 +1,15 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.naviapp.home.dashboard.repo import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.naviapp.forge.model.ScreenDefinition import com.naviapp.network.di.SuperAppRetroFit import com.naviapp.network.retrofit.ResponseCallback @@ -9,14 +17,17 @@ import com.naviapp.network.retrofit.RetrofitService import com.naviapp.utils.Constants.INVESTMENT_TAB_SCREEN import javax.inject.Inject -class InvestmentTabV2Repository @Inject constructor(@SuperAppRetroFit private val superAppRetrofitService: RetrofitService) : +class InvestmentTabV2Repository +@Inject +constructor(@SuperAppRetroFit private val superAppRetrofitService: RetrofitService) : ResponseCallback() { suspend fun fetchInvestmentsTabUiTronConfigs(): RepoResult { return apiResponseCallback( superAppRetrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, - screenId = INVESTMENT_TAB_SCREEN + screenId = INVESTMENT_TAB_SCREEN, ) ) } -} \ No newline at end of file +} diff --git a/android/app/src/main/java/com/naviapp/home/respository/NotificationRepository.kt b/android/app/src/main/java/com/naviapp/home/respository/NotificationRepository.kt index 895aa8a983..5841c6c73f 100644 --- a/android/app/src/main/java/com/naviapp/home/respository/NotificationRepository.kt +++ b/android/app/src/main/java/com/naviapp/home/respository/NotificationRepository.kt @@ -1,21 +1,20 @@ /* * - * * Copyright © 2023 by Navi Technologies Limited + * * Copyright © 2023-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ package com.naviapp.home.respository -import com.google.gson.reflect.TypeToken import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.naviapp.home.model.NotificationScreenDefinition import com.naviapp.home.model.NotificationUpdateStatus import com.naviapp.network.di.SuperAppRetroFit import com.naviapp.network.retrofit.ResponseCallback import com.naviapp.network.retrofit.RetrofitService -import com.naviapp.utils.mockApiResponse import javax.inject.Inject class NotificationRepository @@ -28,8 +27,9 @@ constructor(@SuperAppRetroFit private val superAppRetrofitService: RetrofitServi ): RepoResult = apiResponseCallback( superAppRetrofitService.fetchNotificationForgeScreen( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, screenId = screenId, - target = ModuleNameV2.FORGE.name ) ) diff --git a/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt b/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt index 65ab647414..19b2954178 100644 --- a/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt +++ b/android/app/src/main/java/com/naviapp/network/retrofit/RetrofitService.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2019-2023 by Navi Technologies Limited + * * Copyright © 2019-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -38,7 +38,6 @@ import com.navi.common.model.UserSms import com.navi.common.model.common.WidgetResponse import com.navi.common.network.models.GenericResponse import com.navi.common.useruploaddata.model.IngestionStatusBody -import com.navi.common.utils.Constants import com.navi.common.utils.Constants.AVAILABLE_APP_VERSION_CODE import com.navi.common.utils.Constants.BOTTOM_NAV_BAR_ENDPOINT import com.navi.common.utils.Constants.HEADER_CONNECTIVITY_TYPE @@ -1998,16 +1997,18 @@ interface RetrofitService { @Header("X-Target") target: String ): Response> - @GET("/forge/screen") + @GET("/forge/screen/{screenId}") suspend fun fetchForgeScreen( - @Query("screenId") screenId: String?, - @Header("X-Target") target: String + @Header("Accept-Encoding") acceptEncoding: String, + @Header("X-Target") target: String, + @Path("screenId") screenId: String ): Response> - @GET("/forge/screen") + @GET("/forge/screen/{screenId}") suspend fun fetchNotificationForgeScreen( + @Header("Accept-Encoding") acceptEncoding: String, @Header("X-Target") target: String, - @Query("screenId") screenId: String? + @Path("screenId") screenId: String ): Response> @POST("/notification/bulk/delivery-events") @@ -2019,15 +2020,15 @@ interface RetrofitService { @GET("/forge/screen/{screenId}") suspend fun fetchInsuranceTabForgeScreen( @Header("Accept-Encoding") acceptEncoding: String, - @Path("screenId") screenId: String, - @Header("X-Target") target: String + @Header("X-Target") target: String, + @Path("screenId") screenId: String ): Response> @GET("/forge/screen/{screenId}") suspend fun fetchTrialDashboardForgeScreen( @Header("Accept-Encoding") acceptEncoding: String, - @Path("screenId") screenId: String, - @Header("X-Target") target: String + @Header("X-Target") target: String, + @Path("screenId") screenId: String ): Response> @POST("/kruz/proxy/callback") diff --git a/android/navi-coin/src/main/java/com/navi/coin/network/retrofit/RetrofitService.kt b/android/navi-coin/src/main/java/com/navi/coin/network/retrofit/RetrofitService.kt index ac09b03037..fca8d35ebc 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/network/retrofit/RetrofitService.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/network/retrofit/RetrofitService.kt @@ -1,3 +1,10 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.coin.network.retrofit import com.navi.coin.models.RedemptionInfoResponse @@ -10,7 +17,6 @@ import com.navi.coin.models.VpaValidation import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.network.models.GenericResponse -import com.navi.common.utils.Constants.GZIP import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET @@ -36,9 +42,9 @@ interface RetrofitService { @GET("/forge/screen/{screenId}") suspend fun fetchScreenUiTronConfigs( - @Header("Accept-Encoding") acceptEncoding: String = GZIP, - @Header("X-Target") target: String?, - @Path("screenId") screenId: String? + @Header("Accept-Encoding") acceptEncoding: String, + @Header("X-Target") target: String, + @Path("screenId") screenId: String ): Response> @GET("/reward-service/scratch-card/history") @@ -67,7 +73,7 @@ interface RetrofitService { @POST("/gullak/v1/redemption/redeem") suspend fun redeemCoins( - @Body redemptionRequest : RedemptionRequest, + @Body redemptionRequest: RedemptionRequest, @Header("X-Target") target: String ): Response> @@ -76,4 +82,4 @@ interface RetrofitService { @Header("X-Target") target: String, @Query("txnId") txnId: String ): Response> -} \ No newline at end of file +} diff --git a/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHistoryScreenRepo.kt b/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHistoryScreenRepo.kt index eec4b9ec75..7ab20b998d 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHistoryScreenRepo.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHistoryScreenRepo.kt @@ -1,3 +1,10 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.coin.repo import com.navi.coin.models.TransactionHistoryResponse @@ -8,29 +15,35 @@ import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback +import com.navi.common.utils.Constants.GZIP import javax.inject.Inject class CoinHistoryScreenRepo @Inject constructor(private val retrofitService: RetrofitService) : -ResponseCallback() { - suspend fun fetchCoinHistoryScreenCoinBalanceUiTronConfigs() : RepoResult { + ResponseCallback() { + suspend fun fetchCoinHistoryScreenCoinBalanceUiTronConfigs(): RepoResult { return apiResponseCallback( retrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = TRANSACTION_HISTORY_COINS_SCREEN_NAME ) ) } - suspend fun fetchCoinHistoryScreenCashRewardsUiTronConfigs() : RepoResult { + suspend fun fetchCoinHistoryScreenCashRewardsUiTronConfigs(): RepoResult { return apiResponseCallback( retrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = TRANSACTION_HISTORY_CASH_SCREEN_NAME ) ) } - suspend fun fetchCoinsListData(pageNo: Int, pageSize: Int) : RepoResult { + suspend fun fetchCoinsListData( + pageNo: Int, + pageSize: Int + ): RepoResult { return apiResponseCallback( retrofitService.getCoinTransactions( target = ModuleNameV2.COIN.name, @@ -40,7 +53,10 @@ ResponseCallback() { ) } - suspend fun fetchCashListData(pageNo: Int, pageSize: Int) : RepoResult { + suspend fun fetchCashListData( + pageNo: Int, + pageSize: Int + ): RepoResult { return apiResponseCallback( retrofitService.getRewardsTransactions( target = ModuleNameV2.REWARDS.name, @@ -49,4 +65,4 @@ ResponseCallback() { ) ) } -} \ No newline at end of file +} diff --git a/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHomeScreenRepo.kt b/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHomeScreenRepo.kt index f0e4c280eb..35fcddf6df 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHomeScreenRepo.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/repo/CoinHomeScreenRepo.kt @@ -1,3 +1,10 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.coin.repo import com.navi.coin.models.RedemptionRequest @@ -6,61 +13,66 @@ import com.navi.coin.utils.Constants.SCREENS.COINS_LOADING_SCREEN_SCREEN_NAME import com.navi.coin.utils.Constants.SCREENS.COINS_SCREEN_SCREEN_NAME import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 +import com.navi.common.utils.Constants.GZIP import com.navi.rr.network.retrofit.ResponseHandler import javax.inject.Inject -class CoinHomeScreenRepo @Inject constructor( +class CoinHomeScreenRepo +@Inject +constructor( private val responseHandler: ResponseHandler, private val retrofitService: RetrofitService, ) { - suspend fun fetchCoinHomeScreenUiTronConfigs() = responseHandler.handleResponse( - retrofitService.fetchScreenUiTronConfigs( - target = ModuleNameV2.FORGE.name, - screenId = COINS_SCREEN_SCREEN_NAME - ) - ) - - suspend fun validateUPIId(upiId: String) = responseHandler.handleResponse( - retrofitService.validateUPIId( - target = ModuleName.REWARD_PAYOUT.name, - upiId = upiId - ) - ) - - suspend fun getUpiIdValidationStatus(requestId: String) = responseHandler.handleResponse( - retrofitService.getUpiIdValidationStatus( - target = ModuleName.REWARD_PAYOUT.name, - requestId = requestId - ) - ) - - suspend fun fetchCoinHomeScreenLoadingStateUiTronConfigs() = responseHandler.handleResponse( - retrofitService.fetchScreenUiTronConfigs( - target = ModuleNameV2.FORGE.name, - screenId = COINS_LOADING_SCREEN_SCREEN_NAME - ) - ) - - suspend fun getRedemptionInfo() = responseHandler.handleResponse( - retrofitService.getRedemptionInfo( - target = ModuleNameV2.COIN.name, - + suspend fun fetchCoinHomeScreenUiTronConfigs() = + responseHandler.handleResponse( + retrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = COINS_SCREEN_SCREEN_NAME ) - ) + ) + + suspend fun validateUPIId(upiId: String) = + responseHandler.handleResponse( + retrofitService.validateUPIId(target = ModuleName.REWARD_PAYOUT.name, upiId = upiId) + ) + + suspend fun getUpiIdValidationStatus(requestId: String) = + responseHandler.handleResponse( + retrofitService.getUpiIdValidationStatus( + target = ModuleName.REWARD_PAYOUT.name, + requestId = requestId + ) + ) + + suspend fun fetchCoinHomeScreenLoadingStateUiTronConfigs() = + responseHandler.handleResponse( + retrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = COINS_LOADING_SCREEN_SCREEN_NAME + ) + ) + + suspend fun getRedemptionInfo() = + responseHandler.handleResponse( + retrofitService.getRedemptionInfo( + target = ModuleNameV2.COIN.name, + ) + ) suspend fun redeemCoins( redemptionRequest: RedemptionRequest, - ) = responseHandler.handleResponse( - retrofitService.redeemCoins( - target = ModuleNameV2.COIN.name, - redemptionRequest = redemptionRequest + ) = + responseHandler.handleResponse( + retrofitService.redeemCoins( + target = ModuleNameV2.COIN.name, + redemptionRequest = redemptionRequest + ) ) - ) - suspend fun getRedemptionStatus(txnId: String) = responseHandler.handleResponse( - retrofitService.getRedemptionStatus( - target = ModuleNameV2.COIN.name, - txnId = txnId + suspend fun getRedemptionStatus(txnId: String) = + responseHandler.handleResponse( + retrofitService.getRedemptionStatus(target = ModuleNameV2.COIN.name, txnId = txnId) ) - ) -} \ No newline at end of file +} diff --git a/android/navi-coin/src/main/java/com/navi/coin/repo/ScratchCardHistoryScreenRepo.kt b/android/navi-coin/src/main/java/com/navi/coin/repo/ScratchCardHistoryScreenRepo.kt index e55cf04e1b..53303cc32c 100644 --- a/android/navi-coin/src/main/java/com/navi/coin/repo/ScratchCardHistoryScreenRepo.kt +++ b/android/navi-coin/src/main/java/com/navi/coin/repo/ScratchCardHistoryScreenRepo.kt @@ -14,21 +14,27 @@ import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback +import com.navi.common.utils.Constants.GZIP import javax.inject.Inject +class ScratchCardHistoryScreenRepo +@Inject +constructor(private val retrofitService: RetrofitService) : ResponseCallback() { -class ScratchCardHistoryScreenRepo @Inject constructor(private val retrofitService: RetrofitService) : - ResponseCallback() { - - suspend fun fetchScratchCardUiTronConfigs() : RepoResult { + suspend fun fetchScratchCardUiTronConfigs(): RepoResult { return apiResponseCallback( retrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = REWARD_HISTORY_SCRATCH_CARD_SCREEN_NAME ) ) } - suspend fun fetchScratchCardListData(pageNo: Int, pageSize: Int) : RepoResult { + + suspend fun fetchScratchCardListData( + pageNo: Int, + pageSize: Int + ): RepoResult { return apiResponseCallback( retrofitService.fetchScratchCardHistoryList( target = ModuleNameV2.REWARDS.name, @@ -37,4 +43,4 @@ class ScratchCardHistoryScreenRepo @Inject constructor(private val retrofitServi ) ) } -} \ No newline at end of file +} diff --git a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt index 445d291b4e..818f899033 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHistoryScreenRepoTest.kt @@ -1,3 +1,10 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.coins.repo import androidx.arch.core.executor.testing.InstantTaskExecutorRule @@ -13,6 +20,7 @@ import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.GenericResponse import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback +import com.navi.common.utils.Constants.GZIP import io.mockk.MockKAnnotations import io.mockk.coEvery import io.mockk.every @@ -30,15 +38,11 @@ import retrofit2.Response @RunWith(JUnit4::class) class CoinHistoryScreenRepoTest { - @RelaxedMockK - private lateinit var superAppRetrofitService: RetrofitService - @RelaxedMockK - private lateinit var responseCallback: ResponseCallback + @RelaxedMockK private lateinit var superAppRetrofitService: RetrofitService + @RelaxedMockK private lateinit var responseCallback: ResponseCallback private lateinit var repository: CoinHistoryScreenRepo - @get:Rule - var rule: TestRule = InstantTaskExecutorRule() - @InternalCoroutinesApi - lateinit var testDispatcher: TestDispatcher + @get:Rule var rule: TestRule = InstantTaskExecutorRule() + @InternalCoroutinesApi lateinit var testDispatcher: TestDispatcher @OptIn(InternalCoroutinesApi::class) @Before @@ -49,110 +53,110 @@ class CoinHistoryScreenRepoTest { @OptIn(InternalCoroutinesApi::class) @Test - fun testFetchCoinHistoryScreenCoinBalanceUiTronConfigs() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) - // Mock Retrofit response - val expectedResponse = ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) - val response = Response.success(GenericResponse(data = expectedResponse)) - val convertedResponse: Response> = - Response.success(response.body()!!) - convertedResponse.body()?.statusCode = 200 - coEvery { - superAppRetrofitService.fetchScreenUiTronConfigs( - target = ModuleNameV2.FORGE.name, - screenId = Constants.SCREENS.TRANSACTION_HISTORY_COINS_SCREEN_NAME - ) - } returns convertedResponse - every { responseCallback.apiResponseCallback(response) } returns RepoResult( - data = expectedResponse, - statusCode = 200 - ) - // Call the function to be tested - val result = repository.fetchCoinHistoryScreenCoinBalanceUiTronConfigs() - // Assert the result - Assert.assertEquals(result.data == expectedResponse, true) - - } + fun testFetchCoinHistoryScreenCoinBalanceUiTronConfigs() = + runBlocking(testDispatcher) { + repository = CoinHistoryScreenRepo(superAppRetrofitService) + // Mock Retrofit response + val expectedResponse = + ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) + val response = Response.success(GenericResponse(data = expectedResponse)) + val convertedResponse: Response> = + Response.success(response.body()!!) + convertedResponse.body()?.statusCode = 200 + coEvery { + superAppRetrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = Constants.SCREENS.TRANSACTION_HISTORY_COINS_SCREEN_NAME + ) + } returns convertedResponse + every { responseCallback.apiResponseCallback(response) } returns + RepoResult(data = expectedResponse, statusCode = 200) + // Call the function to be tested + val result = repository.fetchCoinHistoryScreenCoinBalanceUiTronConfigs() + // Assert the result + Assert.assertEquals(result.data == expectedResponse, true) + } @OptIn(InternalCoroutinesApi::class) @Test - fun testFetchCoinHistoryScreenCashRewardsUiTronConfigs() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) - // Mock Retrofit response - val expectedResponse = ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) - val response = Response.success(GenericResponse(data = expectedResponse)) - val convertedResponse: Response> = - Response.success(response.body()!!) - convertedResponse.body()?.statusCode = 200 - coEvery { - superAppRetrofitService.fetchScreenUiTronConfigs( - target = ModuleNameV2.FORGE.name, - screenId = Constants.SCREENS.TRANSACTION_HISTORY_CASH_SCREEN_NAME - ) - } returns convertedResponse - every { responseCallback.apiResponseCallback(response) } returns RepoResult( - data = expectedResponse, - statusCode = 200 - ) - // Call the function to be tested - val result = repository.fetchCoinHistoryScreenCashRewardsUiTronConfigs() - // Assert the result - Assert.assertEquals(result.data == expectedResponse, true) - - } + fun testFetchCoinHistoryScreenCashRewardsUiTronConfigs() = + runBlocking(testDispatcher) { + repository = CoinHistoryScreenRepo(superAppRetrofitService) + // Mock Retrofit response + val expectedResponse = + ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) + val response = Response.success(GenericResponse(data = expectedResponse)) + val convertedResponse: Response> = + Response.success(response.body()!!) + convertedResponse.body()?.statusCode = 200 + coEvery { + superAppRetrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = Constants.SCREENS.TRANSACTION_HISTORY_CASH_SCREEN_NAME + ) + } returns convertedResponse + every { responseCallback.apiResponseCallback(response) } returns + RepoResult(data = expectedResponse, statusCode = 200) + // Call the function to be tested + val result = repository.fetchCoinHistoryScreenCashRewardsUiTronConfigs() + // Assert the result + Assert.assertEquals(result.data == expectedResponse, true) + } @OptIn(InternalCoroutinesApi::class) @Test - fun testFetchCoinsListData() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) - // Mock Retrofit response - val expectedResponse = - TransactionHistoryResponse(coinHistoryList = listOf(TransactionHistoryCardData("@311"))) - val response = Response.success(GenericResponse(data = expectedResponse)) - val convertedResponse: Response> = - Response.success(response.body()!!) - convertedResponse.body()?.statusCode = 200 - coEvery { - superAppRetrofitService.getCoinTransactions( - target = ModuleNameV2.COIN.name, - pageNumber = "1", - pageSize = "1" - ) - } returns convertedResponse - every { responseCallback.apiResponseCallback(response) } returns RepoResult( - data = expectedResponse, - statusCode = 200 - ) - // Call the function to be tested - val result = repository.fetchCoinsListData(1, 1) - // Assert the result - Assert.assertEquals(result.data == expectedResponse, true) - - } + fun testFetchCoinsListData() = + runBlocking(testDispatcher) { + repository = CoinHistoryScreenRepo(superAppRetrofitService) + // Mock Retrofit response + val expectedResponse = + TransactionHistoryResponse( + coinHistoryList = listOf(TransactionHistoryCardData("@311")) + ) + val response = Response.success(GenericResponse(data = expectedResponse)) + val convertedResponse: Response> = + Response.success(response.body()!!) + convertedResponse.body()?.statusCode = 200 + coEvery { + superAppRetrofitService.getCoinTransactions( + target = ModuleNameV2.COIN.name, + pageNumber = "1", + pageSize = "1" + ) + } returns convertedResponse + every { responseCallback.apiResponseCallback(response) } returns + RepoResult(data = expectedResponse, statusCode = 200) + // Call the function to be tested + val result = repository.fetchCoinsListData(1, 1) + // Assert the result + Assert.assertEquals(result.data == expectedResponse, true) + } @OptIn(InternalCoroutinesApi::class) @Test - fun testFetchCashListData() = runBlocking(testDispatcher) { - repository = CoinHistoryScreenRepo(superAppRetrofitService) - val expectedResponse = - TransactionHistoryResponse(coinHistoryList = listOf(TransactionHistoryCardData("@31123"))) - val response = Response.success(GenericResponse(data = expectedResponse)) - val convertedResponse: Response> = - Response.success(response.body()!!) - convertedResponse.body()?.statusCode = 200 - coEvery { - superAppRetrofitService.getRewardsTransactions( - target = ModuleNameV2.REWARDS.name, - pageNumber = "1", - pageSize = "1" - ) - } returns convertedResponse - every { responseCallback.apiResponseCallback(response) } returns RepoResult( - data = expectedResponse, - statusCode = 200 - ) - val result = repository.fetchCashListData(1, 1) - Assert.assertEquals(result.data == expectedResponse, true) - } - -} \ No newline at end of file + fun testFetchCashListData() = + runBlocking(testDispatcher) { + repository = CoinHistoryScreenRepo(superAppRetrofitService) + val expectedResponse = + TransactionHistoryResponse( + coinHistoryList = listOf(TransactionHistoryCardData("@31123")) + ) + val response = Response.success(GenericResponse(data = expectedResponse)) + val convertedResponse: Response> = + Response.success(response.body()!!) + convertedResponse.body()?.statusCode = 200 + coEvery { + superAppRetrofitService.getRewardsTransactions( + target = ModuleNameV2.REWARDS.name, + pageNumber = "1", + pageSize = "1" + ) + } returns convertedResponse + every { responseCallback.apiResponseCallback(response) } returns + RepoResult(data = expectedResponse, statusCode = 200) + val result = repository.fetchCashListData(1, 1) + Assert.assertEquals(result.data == expectedResponse, true) + } +} diff --git a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt index 881e47e70d..1499c6edb7 100644 --- a/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt +++ b/android/navi-coin/src/test/java/com/navi/coins/repo/CoinHomeScreenRepoTest.kt @@ -1,3 +1,10 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.coins.repo import androidx.arch.core.executor.testing.InstantTaskExecutorRule @@ -11,6 +18,8 @@ import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.GenericResponse import com.navi.common.network.models.RepoResult import com.navi.common.network.retrofit.ResponseCallback +import com.navi.common.utils.Constants.GZIP +import com.navi.rr.network.retrofit.ResponseHandler import io.mockk.MockKAnnotations import io.mockk.coEvery import io.mockk.every @@ -29,16 +38,12 @@ import retrofit2.Response @RunWith(JUnit4::class) class CoinHomeScreenRepoTest { - @RelaxedMockK - private lateinit var superAppRetrofitService: RetrofitService - @RelaxedMockK - private lateinit var responseCallback: ResponseCallback - @RelaxedMockK - private lateinit var repository: CoinHomeScreenRepo - @get:Rule - var rule: TestRule = InstantTaskExecutorRule() - @InternalCoroutinesApi - lateinit var testDispatcher: TestDispatcher + @RelaxedMockK private lateinit var superAppRetrofitService: RetrofitService + @RelaxedMockK private lateinit var responseHandler: ResponseHandler + @RelaxedMockK private lateinit var responseCallback: ResponseCallback + @RelaxedMockK private lateinit var repository: CoinHomeScreenRepo + @get:Rule var rule: TestRule = InstantTaskExecutorRule() + @InternalCoroutinesApi lateinit var testDispatcher: TestDispatcher @OptIn(InternalCoroutinesApi::class) @Before @@ -49,27 +54,28 @@ class CoinHomeScreenRepoTest { @OptIn(InternalCoroutinesApi::class) @Test - fun testFetchScreenUiTronConfigs() = runBlocking(testDispatcher) { - repository = CoinHomeScreenRepo(superAppRetrofitService) - // Mock Retrofit response - val expectedResponse = ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) - val response = Response.success(GenericResponse(data = expectedResponse)) - val convertedResponse: Response> = - Response.success(response.body()!!) - convertedResponse.body()?.statusCode = 200 - coEvery { - superAppRetrofitService.fetchScreenUiTronConfigs( - target = ModuleNameV2.FORGE.name, - screenId = Constants.SCREENS.COINS_SCREEN_SCREEN_NAME - ) - } returns convertedResponse - every { responseCallback.apiResponseCallback(response) } returns RepoResult( - data = expectedResponse, - statusCode = 200 - ) - // Call the function to be tested - val result = repository.fetchCoinHomeScreenUiTronConfigs() - // Assert the result - Assert.assertEquals(result.data == expectedResponse, true) - } -} \ No newline at end of file + fun testFetchScreenUiTronConfigs() = + runBlocking(testDispatcher) { + repository = CoinHomeScreenRepo(responseHandler, superAppRetrofitService) + // Mock Retrofit response + val expectedResponse = + ScreenDefinition(screenStructure = ScreenStructure(screenId = "1")) + val response = Response.success(GenericResponse(data = expectedResponse)) + val convertedResponse: Response> = + Response.success(response.body()!!) + convertedResponse.body()?.statusCode = 200 + coEvery { + superAppRetrofitService.fetchScreenUiTronConfigs( + acceptEncoding = GZIP, + target = ModuleNameV2.FORGE.name, + screenId = Constants.SCREENS.COINS_SCREEN_SCREEN_NAME + ) + } returns convertedResponse + every { responseCallback.apiResponseCallback(response) } returns + RepoResult(data = expectedResponse, statusCode = 200) + // Call the function to be tested + val result = repository.fetchCoinHomeScreenUiTronConfigs() + // Assert the result + Assert.assertEquals(result.data == expectedResponse, true) + } +} diff --git a/android/navi-rr/src/main/java/com/navi/rr/leaderboard/repo/LeaderboardScreenRepo.kt b/android/navi-rr/src/main/java/com/navi/rr/leaderboard/repo/LeaderboardScreenRepo.kt index c4dd0a1562..c562ed05db 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/leaderboard/repo/LeaderboardScreenRepo.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/leaderboard/repo/LeaderboardScreenRepo.kt @@ -1,9 +1,17 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + package com.navi.rr.leaderboard.repo import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.navi.rr.common.constants.FORGE_LEADERBOARD_SCREEN import com.navi.rr.leaderboard.models.LeaderboardListResponse import com.navi.rr.network.di.SuperAppRetrofitForRR @@ -11,21 +19,24 @@ import com.navi.rr.network.retrofit.ResponseHandler import com.navi.rr.network.retrofit.RetrofitService import javax.inject.Inject -class LeaderboardScreenRepo @Inject constructor( +class LeaderboardScreenRepo +@Inject +constructor( private val responseHandler: ResponseHandler, @SuperAppRetrofitForRR private val retrofitService: RetrofitService, ) { - suspend fun fetchReferralForgeScreen() : RepoResult { + suspend fun fetchReferralForgeScreen(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = FORGE_LEADERBOARD_SCREEN ) ) } - suspend fun fetchLeaderboardList(userEntered : Boolean) : RepoResult { + suspend fun fetchLeaderboardList(userEntered: Boolean): RepoResult { return responseHandler.handleResponse( retrofitService.fetchLeaderboardList( target = ModuleName.REFERRAL.name, @@ -33,5 +44,4 @@ class LeaderboardScreenRepo @Inject constructor( ) ) } - -} \ No newline at end of file +} diff --git a/android/navi-rr/src/main/java/com/navi/rr/network/retrofit/RetrofitService.kt b/android/navi-rr/src/main/java/com/navi/rr/network/retrofit/RetrofitService.kt index 49ce7a441e..0aeff6c758 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/network/retrofit/RetrofitService.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/network/retrofit/RetrofitService.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2023 by Navi Technologies Limited + * * Copyright © 2023-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -12,7 +12,6 @@ import com.navi.common.model.ActionCheckResponse import com.navi.common.model.common.WidgetResponse import com.navi.common.network.models.GenericResponse import com.navi.common.utils.Constants -import com.navi.common.utils.Constants.GZIP import com.navi.naviwidgets.models.response.CSATResponse import com.navi.rr.common.models.ABSettings import com.navi.rr.common.models.RRWidgetResponse @@ -29,12 +28,18 @@ import com.navi.rr.tds.models.TdsKycVerifyRequest import com.navi.rr.upi.models.RegisterUpiRequestModel import com.navi.rr.upi.models.UpiValidationResponse import retrofit2.Response -import retrofit2.http.* +import retrofit2.http.Body +import retrofit2.http.GET +import retrofit2.http.Header +import retrofit2.http.POST +import retrofit2.http.PUT +import retrofit2.http.Path +import retrofit2.http.Query +import retrofit2.http.QueryMap interface RetrofitService { @GET("/referral/v1/profile") - suspend fun getReferralDetails( - ): Response> + suspend fun getReferralDetails(): Response> @GET("/referral-service/v2/referral") suspend fun fetchRefereeTrackerDetails( @@ -113,7 +118,6 @@ interface RetrofitService { @Query("productId") productId: String? ): Response> - @POST("/reward-service/kyc/verify-kyc") suspend fun getKycVerifyPollingDetails( @Body kycVerifyRequest: TdsKycVerifyRequest?, @@ -132,9 +136,9 @@ interface RetrofitService { @GET("/forge/screen/{screenId}") suspend fun fetchForgeScreen( - @Header("Accept-Encoding") acceptEncoding: String = GZIP, - @Header("X-Target") target: String?, - @Path("screenId") screenId: String? + @Header("Accept-Encoding") acceptEncoding: String, + @Header("X-Target") target: String, + @Path("screenId") screenId: String ): Response> @GET("/referral-service/leaderboard/referral-leaderboard/rank-list") diff --git a/android/navi-rr/src/main/java/com/navi/rr/referral/repo/RefereeTrackerRepo.kt b/android/navi-rr/src/main/java/com/navi/rr/referral/repo/RefereeTrackerRepo.kt index c9debf0264..8cb380d631 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/referral/repo/RefereeTrackerRepo.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/referral/repo/RefereeTrackerRepo.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2022-2023 by Navi Technologies Limited + * * Copyright © 2022-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -11,6 +11,7 @@ import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.navi.rr.common.constants.FORGE_REFEREE_TRACKER_SCREEN import com.navi.rr.common.constants.FORGE_REFEREE_TRACKER_SCREEN_V2 import com.navi.rr.network.di.SuperAppRetrofitForRR @@ -18,7 +19,9 @@ import com.navi.rr.network.retrofit.ResponseHandler import com.navi.rr.network.retrofit.RetrofitService import javax.inject.Inject -class RefereeTrackerRepo @Inject constructor( +class RefereeTrackerRepo +@Inject +constructor( private val responseHandler: ResponseHandler, @SuperAppRetrofitForRR private val retrofitService: RetrofitService, ) { @@ -30,30 +33,28 @@ class RefereeTrackerRepo @Inject constructor( ) } - suspend fun fetchRefereeTrackerDetails( - pageNo: Int, - pageSize: Int - ) = responseHandler.handleResponse( - retrofitService.fetchRefereeTrackerDetails( - pageNo = pageNo, - pageSize = pageSize, - target = ModuleName.REFERRAL.name + suspend fun fetchRefereeTrackerDetails(pageNo: Int, pageSize: Int) = + responseHandler.handleResponse( + retrofitService.fetchRefereeTrackerDetails( + pageNo = pageNo, + pageSize = pageSize, + target = ModuleName.REFERRAL.name + ) ) - ) - suspend fun fetchRefereeTrackerDetailsV3( - pageNo: Int, - pageSize: Int - ) = responseHandler.handleResponse( - retrofitService.fetchRefereeTrackerDetailsV3( - pageNo = pageNo, - pageSize = pageSize, - target = ModuleName.REFERRAL.name + + suspend fun fetchRefereeTrackerDetailsV3(pageNo: Int, pageSize: Int) = + responseHandler.handleResponse( + retrofitService.fetchRefereeTrackerDetailsV3( + pageNo = pageNo, + pageSize = pageSize, + target = ModuleName.REFERRAL.name + ) ) - ) suspend fun fetchRefereeTrackerForgeElement(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = FORGE_REFEREE_TRACKER_SCREEN ) @@ -63,6 +64,7 @@ class RefereeTrackerRepo @Inject constructor( suspend fun fetchRefereeTrackerV2ForgeElement(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = FORGE_REFEREE_TRACKER_SCREEN_V2 ) diff --git a/android/navi-rr/src/main/java/com/navi/rr/referral/repo/ReferralHomeRepo.kt b/android/navi-rr/src/main/java/com/navi/rr/referral/repo/ReferralHomeRepo.kt index c90b7c9d0a..cee0742f32 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/referral/repo/ReferralHomeRepo.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/referral/repo/ReferralHomeRepo.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2022-2023 by Navi Technologies Limited + * * Copyright © 2022-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -10,6 +10,7 @@ package com.navi.rr.referral.repo import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.navi.rr.common.constants.FORGE_REFERRAL_HOME_SCREEN import com.navi.rr.leaderboard.utils.Constants import com.navi.rr.network.di.SuperAppRetrofitForRR @@ -18,7 +19,9 @@ import com.navi.rr.network.retrofit.RetrofitService import com.navi.rr.utils.ReferralHomeConstants.REFERRAL_POPUP_SCREEN import javax.inject.Inject -class ReferralHomeRepo @Inject constructor( +class ReferralHomeRepo +@Inject +constructor( private val responseHandler: ResponseHandler, @SuperAppRetrofitForRR private val retrofitService: RetrofitService, ) { @@ -28,6 +31,7 @@ class ReferralHomeRepo @Inject constructor( suspend fun fetchReferralForgeScreen(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = FORGE_REFERRAL_HOME_SCREEN ) @@ -37,6 +41,7 @@ class ReferralHomeRepo @Inject constructor( suspend fun fetchReferralPopupScreen(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = REFERRAL_POPUP_SCREEN ) @@ -46,9 +51,10 @@ class ReferralHomeRepo @Inject constructor( suspend fun fetchLeaderboardPopUp(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, target = ModuleNameV2.FORGE.name, screenId = Constants.REFERRAL_LEADERBOARD_GRATIFICATION_SCREEN ) ) } -} \ No newline at end of file +} diff --git a/android/navi-rr/src/main/java/com/navi/rr/scratchcard/repo/ScratchCardRepo.kt b/android/navi-rr/src/main/java/com/navi/rr/scratchcard/repo/ScratchCardRepo.kt index 2297227cfa..7fbb787c57 100644 --- a/android/navi-rr/src/main/java/com/navi/rr/scratchcard/repo/ScratchCardRepo.kt +++ b/android/navi-rr/src/main/java/com/navi/rr/scratchcard/repo/ScratchCardRepo.kt @@ -11,6 +11,7 @@ import com.navi.common.forge.model.ScreenDefinition import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 import com.navi.common.network.models.RepoResult +import com.navi.common.utils.Constants.GZIP import com.navi.rr.leaderboard.utils.Constants.REWARDS_SCRATCH_CARD_SCREEN import com.navi.rr.network.di.SuperAppRetrofitForRR import com.navi.rr.network.retrofit.ResponseHandler @@ -19,7 +20,9 @@ import com.navi.rr.scratchcard.model.ScratchCardNudgeResponse import com.navi.rr.scratchcard.model.ScratchCardResponse import javax.inject.Inject -class ScratchCardRepo @Inject constructor( +class ScratchCardRepo +@Inject +constructor( private val responseHandler: ResponseHandler, @SuperAppRetrofitForRR private val retrofitService: RetrofitService, ) { @@ -39,23 +42,21 @@ class ScratchCardRepo @Inject constructor( suspend fun getNudgeRewardInfo(eventId: String): RepoResult { return responseHandler.handleResponse( - retrofitService.getNudgeRewardInfo( - eventId = eventId, - target = ModuleName.REWARDS.name - ) + retrofitService.getNudgeRewardInfo(eventId = eventId, target = ModuleName.REWARDS.name) ) } + suspend fun putScratchCompleted(requestId: String) { - retrofitService.putScratchCompleted( target = ModuleName.REWARDS.name,requestId) + retrofitService.putScratchCompleted(target = ModuleName.REWARDS.name, requestId) } - suspend fun fetchScratchCardTemplate() : RepoResult { + suspend fun fetchScratchCardTemplate(): RepoResult { return responseHandler.handleResponse( retrofitService.fetchForgeScreen( + acceptEncoding = GZIP, screenId = REWARDS_SCRATCH_CARD_SCREEN, target = ModuleNameV2.FORGE.name, ) ) } - }