Add domain suffix parameter
This commit is contained in:
parent
d6bdb4e74a
commit
4a67e1e3fa
15 changed files with 103 additions and 25 deletions
|
@ -22,6 +22,7 @@ public final class io/github/wulkanowy/sdk/scrapper/Scrapper {
|
||||||
public static synthetic fun getDeletedMessages$default (Lio/github/wulkanowy/sdk/scrapper/Scrapper;Ljava/lang/String;IILkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun getDeletedMessages$default (Lio/github/wulkanowy/sdk/scrapper/Scrapper;Ljava/lang/String;IILkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public final fun getDiaryId ()I
|
public final fun getDiaryId ()I
|
||||||
public final fun getDirectorInformation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getDirectorInformation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public final fun getDomainSuffix ()Ljava/lang/String;
|
||||||
public final fun getEmail ()Ljava/lang/String;
|
public final fun getEmail ()Ljava/lang/String;
|
||||||
public final fun getExams (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getExams (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun getExams$default (Lio/github/wulkanowy/sdk/scrapper/Scrapper;Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun getExams$default (Lio/github/wulkanowy/sdk/scrapper/Scrapper;Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
@ -84,6 +85,7 @@ public final class io/github/wulkanowy/sdk/scrapper/Scrapper {
|
||||||
public final fun setBuildTag (Ljava/lang/String;)V
|
public final fun setBuildTag (Ljava/lang/String;)V
|
||||||
public final fun setClassId (I)V
|
public final fun setClassId (I)V
|
||||||
public final fun setDiaryId (I)V
|
public final fun setDiaryId (I)V
|
||||||
|
public final fun setDomainSuffix (Ljava/lang/String;)V
|
||||||
public final fun setEmail (Ljava/lang/String;)V
|
public final fun setEmail (Ljava/lang/String;)V
|
||||||
public final fun setHost (Ljava/lang/String;)V
|
public final fun setHost (Ljava/lang/String;)V
|
||||||
public final fun setKindergartenDiaryId (I)V
|
public final fun setKindergartenDiaryId (I)V
|
||||||
|
|
|
@ -87,6 +87,12 @@ class Scrapper {
|
||||||
field = value
|
field = value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var domainSuffix: String = ""
|
||||||
|
set(value) {
|
||||||
|
if (field != value) changeManager.reset()
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
|
||||||
var loginType: LoginType = LoginType.AUTO
|
var loginType: LoginType = LoginType.AUTO
|
||||||
set(value) {
|
set(value) {
|
||||||
if (field != value) changeManager.reset()
|
if (field != value) changeManager.reset()
|
||||||
|
@ -190,6 +196,7 @@ class Scrapper {
|
||||||
loginType = loginType,
|
loginType = loginType,
|
||||||
schema = schema,
|
schema = schema,
|
||||||
host = host,
|
host = host,
|
||||||
|
domainSuffix = domainSuffix,
|
||||||
symbol = normalizedSymbol,
|
symbol = normalizedSymbol,
|
||||||
email = email,
|
email = email,
|
||||||
password = password,
|
password = password,
|
||||||
|
@ -219,6 +226,7 @@ class Scrapper {
|
||||||
loginType = loginType,
|
loginType = loginType,
|
||||||
schema = schema,
|
schema = schema,
|
||||||
host = host,
|
host = host,
|
||||||
|
domainSuffix = domainSuffix,
|
||||||
symbol = normalizedSymbol,
|
symbol = normalizedSymbol,
|
||||||
cookies = serviceManager.getCookieManager(),
|
cookies = serviceManager.getCookieManager(),
|
||||||
api = serviceManager.getLoginService(),
|
api = serviceManager.getLoginService(),
|
||||||
|
@ -252,10 +260,10 @@ class Scrapper {
|
||||||
HomepageRepository(serviceManager.getHomepageService())
|
HomepageRepository(serviceManager.getHomepageService())
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getPasswordResetCaptcha(registerBaseUrl: String, symbol: String): Pair<String, String> = account.getPasswordResetCaptcha(registerBaseUrl, symbol)
|
suspend fun getPasswordResetCaptcha(registerBaseUrl: String, symbol: String): Pair<String, String> = account.getPasswordResetCaptcha(registerBaseUrl, domainSuffix, symbol)
|
||||||
|
|
||||||
suspend fun sendPasswordResetRequest(registerBaseUrl: String, symbol: String, email: String, captchaCode: String): String {
|
suspend fun sendPasswordResetRequest(registerBaseUrl: String, symbol: String, email: String, captchaCode: String): String {
|
||||||
return account.sendPasswordResetRequest(registerBaseUrl, symbol, email.trim(), captchaCode)
|
return account.sendPasswordResetRequest(registerBaseUrl, symbol, email.trim(), domainSuffix, captchaCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getUserSubjects(): RegisterUser = register.getUserSubjects()
|
suspend fun getUserSubjects(): RegisterUser = register.getUserSubjects()
|
||||||
|
|
|
@ -24,6 +24,7 @@ internal class LoginHelper(
|
||||||
var loginType: Scrapper.LoginType,
|
var loginType: Scrapper.LoginType,
|
||||||
private val schema: String,
|
private val schema: String,
|
||||||
private val host: String,
|
private val host: String,
|
||||||
|
private val domainSuffix: String,
|
||||||
private val symbol: String,
|
private val symbol: String,
|
||||||
private val cookies: CookieManager,
|
private val cookies: CookieManager,
|
||||||
private val api: LoginService,
|
private val api: LoginService,
|
||||||
|
@ -39,7 +40,7 @@ internal class LoginHelper(
|
||||||
}
|
}
|
||||||
|
|
||||||
private val firstStepReturnUrl by lazy {
|
private val firstStepReturnUrl by lazy {
|
||||||
encode("$schema://uonetplus.$host/$symbol/LoginEndpoint.aspx").let {
|
encode("$schema://uonetplus$domainSuffix.$host/$symbol/LoginEndpoint.aspx").let {
|
||||||
"/$symbol/FS/LS?wa=wsignin1.0&wtrealm=$it&wctx=$it"
|
"/$symbol/FS/LS?wa=wsignin1.0&wtrealm=$it&wctx=$it"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +93,7 @@ internal class LoginHelper(
|
||||||
suspend fun sendCertificate(cert: CertificateResponse, email: String, url: String = cert.action): HomePageResponse {
|
suspend fun sendCertificate(cert: CertificateResponse, email: String, url: String = cert.action): HomePageResponse {
|
||||||
cookies.cookieStore.removeAll()
|
cookies.cookieStore.removeAll()
|
||||||
val res = api.sendCertificate(
|
val res = api.sendCertificate(
|
||||||
referer = "$schema://cufs.$host/",
|
referer = "$schema://cufs$domainSuffix.$host/",
|
||||||
url = url,
|
url = url,
|
||||||
certificate = mapOf(
|
certificate = mapOf(
|
||||||
"wa" to cert.wa,
|
"wa" to cert.wa,
|
||||||
|
@ -221,7 +222,7 @@ internal class LoginHelper(
|
||||||
}
|
}
|
||||||
|
|
||||||
val query = "?wa=wsignin1.0" +
|
val query = "?wa=wsignin1.0" +
|
||||||
"&wtrealm=" + encode("http${if (ADFSCards != type) "s" else ""}://cufs.$host/$symbol/Account/LogOn") +
|
"&wtrealm=" + encode("http${if (ADFSCards != type) "s" else ""}://cufs$domainSuffix.$host/$symbol/Account/LogOn") +
|
||||||
"&wctx=" + encode("rm=0&id=$id&ru=" + encode(firstStepReturnUrl)) +
|
"&wctx=" + encode("rm=0&id=$id&ru=" + encode(firstStepReturnUrl)) +
|
||||||
"&wct=" + encode(now(ZoneId.of("UTC")).format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "Z")
|
"&wct=" + encode(now(ZoneId.of("UTC")).format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + "Z")
|
||||||
|
|
||||||
|
|
|
@ -5,19 +5,24 @@ import java.net.URL
|
||||||
internal class UrlGenerator(
|
internal class UrlGenerator(
|
||||||
private val schema: String,
|
private val schema: String,
|
||||||
private val host: String,
|
private val host: String,
|
||||||
|
private val domainSuffix: String,
|
||||||
var symbol: String,
|
var symbol: String,
|
||||||
var schoolId: String,
|
var schoolId: String,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
constructor(url: URL, symbol: String, schoolId: String) : this(url.protocol, url.host, symbol, schoolId)
|
constructor(url: URL, domainSuffix: String, symbol: String, schoolId: String) : this(url.protocol, url.host, domainSuffix, symbol, schoolId)
|
||||||
|
|
||||||
enum class Site {
|
enum class Site {
|
||||||
BASE, LOGIN, HOME, STUDENT, MESSAGES
|
BASE,
|
||||||
|
LOGIN,
|
||||||
|
HOME,
|
||||||
|
STUDENT,
|
||||||
|
MESSAGES,
|
||||||
}
|
}
|
||||||
|
|
||||||
fun generate(type: Site): String {
|
fun generate(type: Site): String {
|
||||||
if (type == Site.BASE) return "$schema://$host"
|
if (type == Site.BASE) return "$schema://$host"
|
||||||
return "$schema://${getSubDomain(type)}.$host/$symbol/${if (type == Site.STUDENT) "$schoolId/" else ""}"
|
return "$schema://${getSubDomain(type)}$domainSuffix.$host/$symbol/${if (type == Site.STUDENT) "$schoolId/" else ""}"
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getSubDomain(type: Site): String {
|
private fun getSubDomain(type: Site): String {
|
||||||
|
|
|
@ -26,14 +26,14 @@ internal class AccountRepository(private val account: AccountService) {
|
||||||
const val SELECTOR_ADFS_CARDS = "#__VIEWSTATE"
|
const val SELECTOR_ADFS_CARDS = "#__VIEWSTATE"
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getPasswordResetCaptcha(registerBaseUrl: String, symbol: String): Pair<String, String> {
|
suspend fun getPasswordResetCaptcha(registerBaseUrl: String, domainSuffix: String, symbol: String): Pair<String, String> {
|
||||||
val (_, resetUrl) = getPasswordResetUrl(registerBaseUrl, symbol.trim())
|
val (_, resetUrl) = getPasswordResetUrl(registerBaseUrl, domainSuffix, symbol.trim())
|
||||||
val res = account.getPasswordResetPageWithCaptcha(resetUrl)
|
val res = account.getPasswordResetPageWithCaptcha(resetUrl)
|
||||||
return resetUrl to res.recaptchaSiteKey
|
return resetUrl to res.recaptchaSiteKey
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun sendPasswordResetRequest(registerBaseUrl: String, symbol: String, email: String, captchaCode: String): String {
|
suspend fun sendPasswordResetRequest(registerBaseUrl: String, domainSuffix: String, symbol: String, email: String, captchaCode: String): String {
|
||||||
val (type, url) = getPasswordResetUrl(registerBaseUrl, symbol.trim())
|
val (type, url) = getPasswordResetUrl(registerBaseUrl, domainSuffix, symbol.trim())
|
||||||
|
|
||||||
val res = when (type) {
|
val res = when (type) {
|
||||||
STANDARD -> account.sendPasswordResetRequest(url, email, captchaCode)
|
STANDARD -> account.sendPasswordResetRequest(url, email, captchaCode)
|
||||||
|
@ -70,7 +70,7 @@ internal class AccountRepository(private val account: AccountService) {
|
||||||
return res.message.ifBlank { "Wysłano wiadomość na zapisany w systemie adres e-mail" }
|
return res.message.ifBlank { "Wysłano wiadomość na zapisany w systemie adres e-mail" }
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun getPasswordResetUrl(registerBaseUrl: String, symbol: String): Pair<Scrapper.LoginType, String> {
|
private suspend fun getPasswordResetUrl(registerBaseUrl: String, domainSuffix: String, symbol: String): Pair<Scrapper.LoginType, String> {
|
||||||
val url = URL(registerBaseUrl)
|
val url = URL(registerBaseUrl)
|
||||||
val unlockUrl = when (url.host) {
|
val unlockUrl = when (url.host) {
|
||||||
"fakelog.cf" -> STANDARD to "https://cufs.fakelog.cf/Default/AccountManage/UnlockAccount"
|
"fakelog.cf" -> STANDARD to "https://cufs.fakelog.cf/Default/AccountManage/UnlockAccount"
|
||||||
|
@ -85,7 +85,7 @@ internal class AccountRepository(private val account: AccountService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return if (unlockUrl.first == AUTO) {
|
return if (unlockUrl.first == AUTO) {
|
||||||
val loginType = getLoginType(UrlGenerator(url, symbol, ""))
|
val loginType = getLoginType(UrlGenerator(url, domainSuffix, symbol, ""))
|
||||||
loginType to when (loginType) {
|
loginType to when (loginType) {
|
||||||
STANDARD -> "https://cufs.vulcan.net.pl/$symbol/AccountManage/UnlockAccount"
|
STANDARD -> "https://cufs.vulcan.net.pl/$symbol/AccountManage/UnlockAccount"
|
||||||
ADFSLightScoped -> "https://adfslight.vulcan.net.pl/$symbol/AccountManage/UnlockAccountRequest"
|
ADFSLightScoped -> "https://adfslight.vulcan.net.pl/$symbol/AccountManage/UnlockAccountRequest"
|
||||||
|
|
|
@ -40,6 +40,7 @@ internal class ServiceManager(
|
||||||
private val loginType: Scrapper.LoginType,
|
private val loginType: Scrapper.LoginType,
|
||||||
private val schema: String,
|
private val schema: String,
|
||||||
private val host: String,
|
private val host: String,
|
||||||
|
private val domainSuffix: String,
|
||||||
private val symbol: String,
|
private val symbol: String,
|
||||||
private val email: String,
|
private val email: String,
|
||||||
private val password: String,
|
private val password: String,
|
||||||
|
@ -60,11 +61,25 @@ internal class ServiceManager(
|
||||||
}
|
}
|
||||||
|
|
||||||
private val loginHelper by lazy {
|
private val loginHelper by lazy {
|
||||||
LoginHelper(loginType, schema, host, symbol, cookies, getLoginService())
|
LoginHelper(
|
||||||
|
loginType = loginType,
|
||||||
|
schema = schema,
|
||||||
|
host = host,
|
||||||
|
domainSuffix = domainSuffix,
|
||||||
|
symbol = symbol,
|
||||||
|
cookies = cookies,
|
||||||
|
api = getLoginService(),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
val urlGenerator by lazy {
|
val urlGenerator by lazy {
|
||||||
UrlGenerator(schema, host, symbol, schoolId)
|
UrlGenerator(
|
||||||
|
schema = schema,
|
||||||
|
host = host,
|
||||||
|
domainSuffix = domainSuffix,
|
||||||
|
symbol = symbol,
|
||||||
|
schoolId = schoolId,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalSerializationApi::class)
|
@OptIn(ExperimentalSerializationApi::class)
|
||||||
|
|
|
@ -98,8 +98,15 @@ abstract class BaseLocalTest : BaseTest() {
|
||||||
private fun getAutoLoginInterceptor(loginType: Scrapper.LoginType, autoLogin: Boolean): AutoLoginInterceptor {
|
private fun getAutoLoginInterceptor(loginType: Scrapper.LoginType, autoLogin: Boolean): AutoLoginInterceptor {
|
||||||
return AutoLoginInterceptor(loginType, CookieManager()) {
|
return AutoLoginInterceptor(loginType, CookieManager()) {
|
||||||
if (autoLogin) {
|
if (autoLogin) {
|
||||||
LoginHelper(loginType, "http", "localhost", "powiatwulkanowy", CookieManager(), getService(LoginService::class.java))
|
LoginHelper(
|
||||||
.login("jan", "kowalski")
|
loginType = loginType,
|
||||||
|
schema = "http",
|
||||||
|
host = "localhost",
|
||||||
|
domainSuffix = "",
|
||||||
|
symbol = "powiatwulkanowy",
|
||||||
|
cookies = CookieManager(),
|
||||||
|
api = getService(LoginService::class.java),
|
||||||
|
).login("jan", "kowalski")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,7 +225,7 @@ class ScrapperRemoteTest : BaseTest() {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun gradesTest() {
|
fun gradesTest() {
|
||||||
val grades = runBlocking { api.getGrades(865).details }
|
val grades = runBlocking { api.getGrades(57).details }
|
||||||
|
|
||||||
// dynamic grade
|
// dynamic grade
|
||||||
grades[7].run {
|
grades[7].run {
|
||||||
|
|
|
@ -124,6 +124,7 @@ class AutoLoginInterceptorTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "${server.hostName}:${server.port}",
|
host = "${server.hostName}:${server.port}",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "powiatwulkanowy",
|
symbol = "powiatwulkanowy",
|
||||||
cookies = CookieManager(),
|
cookies = CookieManager(),
|
||||||
api = loginService,
|
api = loginService,
|
||||||
|
|
|
@ -20,6 +20,7 @@ class LoginTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
cookies = CookieManager(),
|
cookies = CookieManager(),
|
||||||
api = getService(LoginService::class.java, "http://fakelog.localhost:3000/"),
|
api = getService(LoginService::class.java, "http://fakelog.localhost:3000/"),
|
||||||
|
@ -31,6 +32,7 @@ class LoginTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.ADFS,
|
loginType = Scrapper.LoginType.ADFS,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
cookies = CookieManager(),
|
cookies = CookieManager(),
|
||||||
api = getService(
|
api = getService(
|
||||||
|
|
|
@ -9,13 +9,11 @@ import io.github.wulkanowy.sdk.scrapper.repository.RegisterRepository
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.LoginService
|
import io.github.wulkanowy.sdk.scrapper.service.LoginService
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.RegisterService
|
import io.github.wulkanowy.sdk.scrapper.service.RegisterService
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.StudentService
|
import io.github.wulkanowy.sdk.scrapper.service.StudentService
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Assert.assertEquals
|
import org.junit.Assert.assertEquals
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import java.net.CookieManager
|
import java.net.CookieManager
|
||||||
|
|
||||||
@OptIn(ExperimentalCoroutinesApi::class)
|
|
||||||
class RegisterTest : BaseLocalTest() {
|
class RegisterTest : BaseLocalTest() {
|
||||||
|
|
||||||
private val login by lazy {
|
private val login by lazy {
|
||||||
|
@ -23,6 +21,7 @@ class RegisterTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
cookies = CookieManager(),
|
cookies = CookieManager(),
|
||||||
api = getService(
|
api = getService(
|
||||||
|
@ -54,7 +53,13 @@ class RegisterTest : BaseLocalTest() {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
student = getService(StudentService::class.java, "http://fakelog.localhost:3000", false),
|
student = getService(StudentService::class.java, "http://fakelog.localhost:3000", false),
|
||||||
url = UrlGenerator("http", "fakelog.localhost:3000", "default", "123"),
|
url = UrlGenerator(
|
||||||
|
schema = "http",
|
||||||
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
|
symbol = "default",
|
||||||
|
schoolId = "123",
|
||||||
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,12 @@ import io.github.wulkanowy.sdk.scrapper.register.RegisterTest
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.LoginService
|
import io.github.wulkanowy.sdk.scrapper.service.LoginService
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.RegisterService
|
import io.github.wulkanowy.sdk.scrapper.service.RegisterService
|
||||||
import io.github.wulkanowy.sdk.scrapper.service.StudentService
|
import io.github.wulkanowy.sdk.scrapper.service.StudentService
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Assert.assertEquals
|
import org.junit.Assert.assertEquals
|
||||||
import org.junit.Assert.assertTrue
|
import org.junit.Assert.assertTrue
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import java.net.CookieManager
|
import java.net.CookieManager
|
||||||
|
|
||||||
@OptIn(ExperimentalCoroutinesApi::class)
|
|
||||||
class RegisterRepositoryTest : BaseLocalTest() {
|
class RegisterRepositoryTest : BaseLocalTest() {
|
||||||
|
|
||||||
private val normal by lazy { getRegisterRepository("Default") }
|
private val normal by lazy { getRegisterRepository("Default") }
|
||||||
|
@ -33,6 +31,7 @@ class RegisterRepositoryTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = symbol,
|
symbol = symbol,
|
||||||
cookies = CookieManager(),
|
cookies = CookieManager(),
|
||||||
api = getService(LoginService::class.java, "http://fakelog.localhost:3000/"),
|
api = getService(LoginService::class.java, "http://fakelog.localhost:3000/"),
|
||||||
|
@ -43,7 +42,13 @@ class RegisterRepositoryTest : BaseLocalTest() {
|
||||||
okHttp = getOkHttp(errorInterceptor = false, autoLoginInterceptorOn = false),
|
okHttp = getOkHttp(errorInterceptor = false, autoLoginInterceptorOn = false),
|
||||||
),
|
),
|
||||||
student = getService(service = StudentService::class.java, html = false),
|
student = getService(service = StudentService::class.java, html = false),
|
||||||
url = UrlGenerator("http", "fakelog.localhost:3000", symbol, ""),
|
url = UrlGenerator(
|
||||||
|
schema = "http",
|
||||||
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
|
symbol = symbol,
|
||||||
|
schoolId = "",
|
||||||
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ class ServiceManagerTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
email = "email",
|
email = "email",
|
||||||
password = "password",
|
password = "password",
|
||||||
|
@ -57,6 +58,7 @@ class ServiceManagerTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
email = "email",
|
email = "email",
|
||||||
password = "password",
|
password = "password",
|
||||||
|
@ -126,6 +128,7 @@ class ServiceManagerTest : BaseLocalTest() {
|
||||||
loginType = Scrapper.LoginType.STANDARD,
|
loginType = Scrapper.LoginType.STANDARD,
|
||||||
schema = "http",
|
schema = "http",
|
||||||
host = "fakelog.localhost:3000",
|
host = "fakelog.localhost:3000",
|
||||||
|
domainSuffix = "",
|
||||||
symbol = "default",
|
symbol = "default",
|
||||||
email = "email",
|
email = "email",
|
||||||
password = "password",
|
password = "password",
|
||||||
|
|
|
@ -21,6 +21,7 @@ public final class io/github/wulkanowy/sdk/Sdk {
|
||||||
public static synthetic fun getDeletedMessages$default (Lio/github/wulkanowy/sdk/Sdk;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun getDeletedMessages$default (Lio/github/wulkanowy/sdk/Sdk;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public final fun getDiaryId ()I
|
public final fun getDiaryId ()I
|
||||||
public final fun getDirectorInformation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getDirectorInformation (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public final fun getDomainSuffix ()Ljava/lang/String;
|
||||||
public final fun getEmail ()Ljava/lang/String;
|
public final fun getEmail ()Ljava/lang/String;
|
||||||
public final fun getExams (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getExams (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public final fun getFreeDays (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getFreeDays (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
@ -81,6 +82,7 @@ public final class io/github/wulkanowy/sdk/Sdk {
|
||||||
public final fun getTimetable (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getTimetable (Ljava/time/LocalDate;Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public final fun getToken (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getToken (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public final fun getUserAgentTemplate ()Ljava/lang/String;
|
public final fun getUserAgentTemplate ()Ljava/lang/String;
|
||||||
|
public final fun getUserSubjectsFromScrapper (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public final fun getUserSubjectsFromScrapper (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun getUserSubjectsFromScrapper (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun getUserSubjectsFromScrapper$default (Lio/github/wulkanowy/sdk/Sdk;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun getUserSubjectsFromScrapper$default (Lio/github/wulkanowy/sdk/Sdk;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public final fun sendMessage (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public final fun sendMessage (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
@ -89,6 +91,7 @@ public final class io/github/wulkanowy/sdk/Sdk {
|
||||||
public final fun setBuildTag (Ljava/lang/String;)V
|
public final fun setBuildTag (Ljava/lang/String;)V
|
||||||
public final fun setClassId (I)V
|
public final fun setClassId (I)V
|
||||||
public final fun setDiaryId (I)V
|
public final fun setDiaryId (I)V
|
||||||
|
public final fun setDomainSuffix (Ljava/lang/String;)V
|
||||||
public final fun setEmail (Ljava/lang/String;)V
|
public final fun setEmail (Ljava/lang/String;)V
|
||||||
public final fun setKeyId (Ljava/lang/String;)V
|
public final fun setKeyId (Ljava/lang/String;)V
|
||||||
public final fun setKindergartenDiaryId (I)V
|
public final fun setKindergartenDiaryId (I)V
|
||||||
|
|
|
@ -123,6 +123,12 @@ class Sdk {
|
||||||
scrapper.baseUrl = value
|
scrapper.baseUrl = value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var domainSuffix: String = ""
|
||||||
|
set(value) {
|
||||||
|
field = value
|
||||||
|
scrapper.domainSuffix = value
|
||||||
|
}
|
||||||
|
|
||||||
var email = ""
|
var email = ""
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
|
@ -248,9 +254,24 @@ class Sdk {
|
||||||
password: String,
|
password: String,
|
||||||
scrapperBaseUrl: String,
|
scrapperBaseUrl: String,
|
||||||
symbol: String = "Default",
|
symbol: String = "Default",
|
||||||
|
): RegisterUser = getUserSubjectsFromScrapper(
|
||||||
|
email = email,
|
||||||
|
password = password,
|
||||||
|
scrapperBaseUrl = scrapperBaseUrl,
|
||||||
|
domainSuffix = domainSuffix,
|
||||||
|
symbol = symbol,
|
||||||
|
)
|
||||||
|
|
||||||
|
suspend fun getUserSubjectsFromScrapper(
|
||||||
|
email: String,
|
||||||
|
password: String,
|
||||||
|
scrapperBaseUrl: String,
|
||||||
|
domainSuffix: String,
|
||||||
|
symbol: String,
|
||||||
): RegisterUser = withContext(Dispatchers.IO) {
|
): RegisterUser = withContext(Dispatchers.IO) {
|
||||||
scrapper.let {
|
scrapper.let {
|
||||||
it.baseUrl = scrapperBaseUrl
|
it.baseUrl = scrapperBaseUrl
|
||||||
|
it.domainSuffix = domainSuffix
|
||||||
it.email = email
|
it.email = email
|
||||||
it.password = password
|
it.password = password
|
||||||
it.symbol = symbol
|
it.symbol = symbol
|
||||||
|
|
Loading…
Reference in a new issue