feat: Refactor login screen - fix compilation error
This commit is contained in:
@@ -16,6 +16,7 @@ package com.homebox.lens.domain.model
|
||||
data class LabelOut(
|
||||
val id: String,
|
||||
val name: String,
|
||||
val description: String?,
|
||||
val color: String,
|
||||
val isArchived: Boolean,
|
||||
val createdAt: String,
|
||||
|
||||
@@ -44,8 +44,25 @@ interface CredentialsRepository {
|
||||
* @summary Retrieves the saved authorization token.
|
||||
* @return The saved token as a String, or null if no token is saved.
|
||||
*/
|
||||
suspend fun getToken(): String?
|
||||
// [END_ENTITY: Function('getToken')]
|
||||
|
||||
suspend fun getToken(): String?
|
||||
// [END_ENTITY: Function('getToken')]
|
||||
|
||||
// [ENTITY: Function('areCredentialsSavedSync')]
|
||||
/**
|
||||
* @summary Synchronously checks if user credentials are saved.
|
||||
* @return true if all essential credentials (URL, username, password) are present, false otherwise.
|
||||
*/
|
||||
fun areCredentialsSavedSync(): Boolean
|
||||
// [END_ENTITY: Function('areCredentialsSavedSync')]
|
||||
|
||||
// [ENTITY: Function('clearAllCredentials')]
|
||||
/**
|
||||
* @summary Clears all saved credentials and tokens.
|
||||
* @sideeffect Removes all credential-related entries from SharedPreferences.
|
||||
*/
|
||||
suspend fun clearAllCredentials()
|
||||
// [END_ENTITY: Function('clearAllCredentials')]
|
||||
}
|
||||
// [END_ENTITY: Interface('CredentialsRepository')]
|
||||
// [END_FILE_CredentialsRepository.kt]
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// [PACKAGE] com.homebox.lens.domain.usecase
|
||||
// [FILE] GetLabelDetailsUseCase.kt
|
||||
// [SEMANTICS] business_logic, use_case, label_retrieval
|
||||
|
||||
// [SEMANTICS] business_logic, use_case, label, get
|
||||
package com.homebox.lens.domain.usecase
|
||||
|
||||
// [IMPORTS]
|
||||
@@ -13,23 +12,25 @@ import javax.inject.Inject
|
||||
// [ENTITY: UseCase('GetLabelDetailsUseCase')]
|
||||
// [RELATION: UseCase('GetLabelDetailsUseCase')] -> [DEPENDS_ON] -> [Interface('ItemRepository')]
|
||||
/**
|
||||
* @summary Получает детальную информацию о метке по ее ID.
|
||||
* @param itemRepository Репозиторий для работы с данными о метках.
|
||||
* @summary Сценарий использования для получения деталей метки.
|
||||
* @param repository Репозиторий для доступа к данным.
|
||||
*/
|
||||
class GetLabelDetailsUseCase @Inject constructor(
|
||||
private val itemRepository: ItemRepository
|
||||
private val repository: ItemRepository
|
||||
) {
|
||||
// [ENTITY: Function('invoke')]
|
||||
/**
|
||||
* @summary Выполняет получение детальной информации о метке.
|
||||
* @param labelId ID запрашиваемой метки.
|
||||
* @return Детальная информация о метке [LabelOut].
|
||||
* @throws IllegalArgumentException если `labelId` пустой.
|
||||
* @throws NoSuchElementException если метка с указанным ID не найдена.
|
||||
* @summary Выполняет получение деталей метки.
|
||||
* @param labelId ID метки для получения деталей.
|
||||
* @return Возвращает полную информацию о метке [LabelOut].
|
||||
* @throws Exception в случае ошибки на уровне репозитория (сеть, API).
|
||||
* @precondition `labelId` не должен быть пустым.
|
||||
*/
|
||||
suspend operator fun invoke(labelId: String): LabelOut {
|
||||
require(labelId.isNotBlank()) { "Label ID cannot be blank." }
|
||||
return itemRepository.getLabelDetails(labelId)
|
||||
return repository.getLabelDetails(labelId)
|
||||
}
|
||||
// [END_ENTITY: Function('invoke')]
|
||||
}
|
||||
// [END_ENTITY: UseCase('GetLabelDetailsUseCase')]
|
||||
// [END_FILE_GetLabelDetailsUseCase.kt]
|
||||
Reference in New Issue
Block a user