Skip to content

Instantly share code, notes, and snippets.

View virendersran01's full-sized avatar
💻
Working from home

Virender Srxn virendersran01

💻
Working from home
  • India
View GitHub Profile
const val CLIENT_ERROR = "Terjadi kesalahan, mohon periksa masukan anda"
const val SERVER_ERROR = "Terjadi kesalahan pada Server, coba lagi nanti"
const val NETWORK_ERROR = "Koneksi internet bermasalah, coba lagi nanti"
const val HTTP_UNKNOWN_ERROR = "HTTP Error tidak diketahui (exc: 4xx/5xx)"
const val UNKNOWN_ERROR = "Error tidak diketahui"
@GET("list/{id}")
suspend fun getDetailAgentVisitWithFullResponse(
@Header("Authorization") token: String,
@Path(value = "id", encoded = true) id: Int
): BaseResponse<GetAgentDetailResponse>
suspend fun getDetailAgentVisitFullResponse(
token: String,
id: Int
): SallyResponseResource<BaseResponse<GetAgentDetailResponse>> {
return asSallyResponseResourceSuspend {
agentVisitService.getDetailAgentVisitWithFullResponse(
token = token,
id = id
)
}
fun getDetailAgentVisitFullResponseFlow(
token: String,
id: Int
): Flow<BaseResponse<GetAgentDetailResponse>> {
return flow {
while (true) {
val getDetailAgent = agentVisitService.getDetailAgentVisitWithFullResponse(
token = token,
id = id
)
override suspend fun getDetailAgentVisitWithFullResponse(id: Int): SallyResponseResource<BaseResponse<GetAgentDetailResponse>> {
return agentVisitDataSource.getDetailAgentVisitFullResponse(
token = "",
id = id
)
}
override fun getDetailAgentVisitFullResponseFlow(id: Int): Flow<SallyResponseResource<BaseResponse<GetAgentDetailResponse>>> {
return agentVisitDataSource.getDetailAgentVisitFullResponseFlow(
token = "",
id = id
).asSallyResponseResourceFlow()
}
override suspend fun getDetailAgentVisitWithFullResponse(id: Int): SallyResponseResource<BaseResponse<GetAgentDetailResponse>> {
return iAgentVisitRepository.getDetailAgentVisitWithFullResponse(id)
}
override fun getDetailAgentVisitFullResponseFlow(id: Int): Flow<SallyResponseResource<BaseResponse<GetAgentDetailResponse>>> {
return iAgentVisitRepository.getDetailAgentVisitFullResponseFlow(id)
}
sealed interface VisitingUiEvent {
data class ShowErrorMessageStatic(
val staticError: String?,
val dynamicError: String?,
val errorCode: String?
) : VisitingUiEvent
}
sealed interface VisitingDetailUiState {
object Loading : VisitingDetailUiState
data class Error(val error: String) : VisitingDetailUiState
data class Success(
val agentVisitingDetail: GetAgentDetailResponse? = null
) : VisitingDetailUiState
}
private val _uiStateDetail =
MutableStateFlow<VisitingDetailUiState>(VisitingDetailUiState.Loading)
val uiStateDetail = _uiStateDetail.asStateFlow()
private val _eventFlow = MutableSharedFlow<VisitingUiEvent>(replay = 1)
val eventFlow = _eventFlow.asSharedFlow()