package ru.soune interface ReferralRepo { fun getUserReferralLink(userId: Long): String fun getUserIdByLink(link: String): Long? fun getInviterIdForUser(userId: Long): Long? fun getReferralLevelForUser(userId: Long): String fun getReferralByUserId(userId: Long): Referral fun getReferralInvitees(userId: Long, pageSize: Int, pageNumber: Int): List // создаем новую запись в БД fun createReferralEntity(entity: Referral) // прибавить к totalIncome и availableIncome значение transferAmount fun increaseIncome(userId: Long, transferAmount: Int) // установить active в true fun activateUser(userId: Long): Boolean // посчитать записи, у которых inviter == userId и active == true fun getActiveInviteeForUser(userId: Long): Int // посчитать записи, у которых inviter == userId fun getTotalInviteeForUser(userId: Long): Int fun upgradeReferralLevelForUser(userId: Long, newLevelId: String) }