Назад к задачам
Junior — Senior
6

Переписывание методов репозитория – задача 4

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В проекте имеется репозиторий с плохо названными методами, неинформативными параметрами и избыточными функциями. Требуется провести рефакторинг интерфейса, сделав имена методов и их аргументов более понятными, сохранив при этом оригинальную сигнатуру и поведение.

interface ConferenceRepository {
    suspend fun startConference(
        conferenceId: String?,
        participantId: Long,
        legacyEnabled: Int,
        authToken: String
    )
    suspend fun retrieveAllData(
        conferenceId: String,
        flags: Map<String, String>,
        expansionDepth: Int
    ): Any?
    suspend fun obtainSchedule(
        conferenceCode: Int,
        includePartial: Boolean
    ): List<Any>
    suspend fun validateTicket(
        email: String,
        seatsRequested: Int,
        conferenceId: Long,
        forceCheck: Boolean
    ): Boolean?

    suspend fun loadChatMessages(
        conferenceId: String,
        startOffset: Int,
        pageSize: Int,
        includeRead: Int,
        fromHistory: Boolean
    ): Map<String, Any?>

    suspend fun sendChatMessage(
        text: String,
        conferenceSlug: String,
        userAuthToken: String,
        attachmentUrls: List<String>?
    ): Any

    suspend fun modifySpeaker(
        speakerId: Int,
        updatedFields: Map<String, Any>,
        silentMode: Boolean
    ): Int
    suspend fun changeUserPassword(oldPassword: String, newPassword: String, username: String)
    suspend fun reloadAllData(): Unit
    suspend fun supportLegacyMode(
        conferenceId: Int,
        operationMode: String,
        optionalParam: String?,
        quantity: Int
    ): Long
}