diff --git a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Container.kt b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Container.kt index 2a5a66a..47a8c07 100644 --- a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Container.kt +++ b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Container.kt @@ -22,18 +22,16 @@ interface Container> { var duration: Long var createdDateTimestamp: Long var expiredDateTimestamp: Long - var numberOfFile: Long + var numberOfFiles: Int var message: String? - var needPassword: Long - var lang: String + var needPassword: Boolean + var language: String var sizeUploaded: Long var deletedDateTimestamp: Long? - var swiftVersion: Long - var downloadLimit: Long + var swiftVersion: Int + var downloadLimit: Int var source: String - - // @SerialName("WSUser") TODO: What's it ? - //val wsUser: JsonElement? - + // @SerialName("WSUser") // TODO: What's this ? + // val wsUser: JsonElement? var files: F } diff --git a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/File.kt b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/File.kt index 7c8753b..52d07cb 100644 --- a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/File.kt +++ b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/File.kt @@ -18,11 +18,11 @@ package com.infomaniak.multiplatform_swisstransfer.common.interfaces.transfers interface File { - var containerUUID: String + var containerUuid: String var uuid: String var fileName: String var fileSizeInBytes: Long - var downloadCounter: Long + var downloadCounter: Int var createdDateTimestamp: Long var expiredDateTimestamp: Long var eVirus: String diff --git a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Transfer.kt b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Transfer.kt index 8fda08f..6827be7 100644 --- a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Transfer.kt +++ b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/transfers/Transfer.kt @@ -18,12 +18,12 @@ package com.infomaniak.multiplatform_swisstransfer.common.interfaces.transfers interface Transfer { - var linkUUID: String - var containerUUID: String - var downloadCounterCredit: Long + var linkUuid: String + var containerUuid: String + var downloadCounterCredit: Int var createdDateTimestamp: Long var expiredDateTimestamp: Long - var isDownloadOnetime: Long + var hasBeenDownloadedOneTime: Boolean var isMailSent: Boolean var downloadHost: String var container: ContainerType diff --git a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/upload/UploadContainer.kt b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/upload/UploadContainer.kt index 36d07d3..c50b3b1 100644 --- a/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/upload/UploadContainer.kt +++ b/STCommon/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/common/interfaces/upload/UploadContainer.kt @@ -21,15 +21,14 @@ interface UploadContainer { val uuid: String val duration: String val downloadLimit: Long - val lang: String + val language: String val source: String val wsUser: String? val authorIP: String val swiftVersion: String - // val createdDate: Object // TODO: (Date) Waiting or deserialize this complex date object to timestamp val expiredDateTimestamp: Long val needPassword: Boolean val message: String - val numberOfFiles: Long + val numberOfFiles: Int } diff --git a/STCore/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/SwissTransferInjection.kt b/STCore/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/SwissTransferInjection.kt index 08867df..323c934 100644 --- a/STCore/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/SwissTransferInjection.kt +++ b/STCore/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/SwissTransferInjection.kt @@ -38,11 +38,12 @@ import com.infomaniak.multiplatform_swisstransfer.utils.Constants * @property transferManager A manager used to orchestrate transfer operations. */ class SwissTransferInjection { + private val realmProvider by lazy { RealmProvider() } private val apiClientProvider by lazy { ApiClientProvider() } - private val transferRepository by lazy { TransferRepository(apiClientProvider) } private val uploadRepository by lazy { UploadRepository(apiClientProvider) } + private val transferRepository by lazy { TransferRepository(apiClientProvider) } private val appSettingsController by lazy { AppSettingsController(realmProvider) } diff --git a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/appSettings/AppSettingsDB.kt b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/appSettings/AppSettingsDB.kt index 817bbc2..41f9e68 100644 --- a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/appSettings/AppSettingsDB.kt +++ b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/appSettings/AppSettingsDB.kt @@ -25,6 +25,7 @@ import com.infomaniak.multiplatform_swisstransfer.common.models.ValidityPeriod import io.realm.kotlin.types.RealmObject class AppSettingsDB : RealmObject, AppSettings { + private var _theme: String = Theme.SYSTEM.value override var theme: Theme get() = Theme.entries.find { it.value == _theme } ?: DEFAULT_THEME diff --git a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/ContainerDB.kt b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/ContainerDB.kt index d77cf9d..0b1ce1c 100644 --- a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/ContainerDB.kt +++ b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/ContainerDB.kt @@ -29,18 +29,16 @@ class ContainerDB : Container>, RealmObject { override var duration: Long = 0L override var createdDateTimestamp: Long = 0L override var expiredDateTimestamp: Long = 0L - override var numberOfFile: Long = 0L + override var numberOfFiles: Int = 0 override var message: String? = "" - override var needPassword: Long = 0L // TODO: Boolean ? - override var lang: String = "" + override var needPassword: Boolean = false + override var language: String = "" override var sizeUploaded: Long = 0L override var deletedDateTimestamp: Long? = null - override var swiftVersion: Long = 0L - override var downloadLimit: Long = 0L + override var swiftVersion: Int = 0 + override var downloadLimit: Int = 0 override var source: String = "" - - // @SerialName("WSUser") TODO: What's it ? - //val wsUser: JsonElement? - + // @SerialName("WSUser") // TODO: What's this ? + // val wsUser: JsonElement? override var files: RealmList = realmListOf() } diff --git a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/FileDB.kt b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/FileDB.kt index 0d73934..316b94d 100644 --- a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/FileDB.kt +++ b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/FileDB.kt @@ -23,11 +23,11 @@ import io.realm.kotlin.types.annotations.PrimaryKey class FileDB : File, RealmObject { @PrimaryKey - override var containerUUID: String = "" + override var containerUuid: String = "" override var uuid: String = "" override var fileName: String = "" override var fileSizeInBytes: Long = 0L - override var downloadCounter: Long = 0L + override var downloadCounter: Int = 0 override var createdDateTimestamp: Long = 0L override var expiredDateTimestamp: Long = 0L override var eVirus: String = "" diff --git a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/TransferDB.kt b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/TransferDB.kt index bf7014d..6f6b245 100644 --- a/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/TransferDB.kt +++ b/STDatabase/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/database/models/transfers/TransferDB.kt @@ -23,12 +23,12 @@ import io.realm.kotlin.types.annotations.PrimaryKey class TransferDB : Transfer, RealmObject { @PrimaryKey - override var linkUUID: String = "" - override var containerUUID: String = "" - override var downloadCounterCredit: Long = 0L + override var linkUuid: String = "" + override var containerUuid: String = "" + override var downloadCounterCredit: Int = 0 override var createdDateTimestamp: Long = 0L override var expiredDateTimestamp: Long = 0L - override var isDownloadOnetime: Long = 0L // TODO: Boolean ? + override var hasBeenDownloadedOneTime: Boolean = false override var isMailSent: Boolean = false override var downloadHost: String = "" override var container: ContainerDB? = null diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/ContainerApi.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/ContainerApi.kt index 7b48725..7fab77f 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/ContainerApi.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/ContainerApi.kt @@ -19,6 +19,7 @@ package com.infomaniak.multiplatform_swisstransfer.network.models.transfer import com.infomaniak.multiplatform_swisstransfer.common.interfaces.transfers.Container import com.infomaniak.multiplatform_swisstransfer.network.serializers.DateToTimestampSerializer +import com.infomaniak.multiplatform_swisstransfer.network.serializers.IntToBooleanSerializer import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -26,31 +27,27 @@ import kotlinx.serialization.Serializable class ContainerApi : Container> { @SerialName("UUID") override var uuid: String = "" - override var duration: Long = 0L - @SerialName("createdDate") @Serializable(DateToTimestampSerializer::class) override var createdDateTimestamp: Long = 0L - @SerialName("expiredDate") @Serializable(DateToTimestampSerializer::class) override var expiredDateTimestamp: Long = 0L - override var numberOfFile: Long = 0L + override var numberOfFiles: Int = 0 override var message: String? = null - override var needPassword: Long = 0L - override var lang: String = "" + @Serializable(with = IntToBooleanSerializer::class) + override var needPassword: Boolean = false + @SerialName("lang") + override var language: String = "" override var sizeUploaded: Long = 0L - @SerialName("deletedDate") @Serializable(DateToTimestampSerializer::class) override var deletedDateTimestamp: Long? = null - override var swiftVersion: Long = 0L - override var downloadLimit: Long = 0L + override var swiftVersion: Int = 0 + override var downloadLimit: Int = 0 override var source: String = "ST" - -// @SerialName("WSUser") TODO: What's it ? -// var wsUser: JsonElement? = null - + // @SerialName("WSUser") // TODO: What's this ? + // var wsUser: JsonElement? = null override var files: List = emptyList() } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/FileApi.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/FileApi.kt index d0f563a..204cd2a 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/FileApi.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/FileApi.kt @@ -25,18 +25,16 @@ import kotlinx.serialization.Transient @Serializable class FileApi : File { - override var containerUUID: String = "" + override var containerUuid: String = "" @SerialName("UUID") override var uuid: String = "" override var fileName: String = "" override var fileSizeInBytes: Long = 0L - override var downloadCounter: Long = 0L - + override var downloadCounter: Int = 0 @SerialName("createdDate") @Serializable(DateToTimestampSerializer::class) override var createdDateTimestamp: Long = 0L - @SerialName("expiredDate") @Serializable(DateToTimestampSerializer::class) override var expiredDateTimestamp: Long = 0L diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/TransferApi.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/TransferApi.kt index 66a2554..23d7a00 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/TransferApi.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/transfer/TransferApi.kt @@ -25,25 +25,22 @@ import kotlinx.serialization.Serializable @Serializable class TransferApi : Transfer { - override var linkUUID: String = "" - override var containerUUID: String = "" - override var downloadCounterCredit: Long = 0L - + override var linkUuid: String = "" + override var containerUuid: String = "" + override var downloadCounterCredit: Int = 0 @SerialName("createdDate") @Serializable(DateToTimestampSerializer::class) override var createdDateTimestamp: Long = 0L - @SerialName("expiredDate") @Serializable(DateToTimestampSerializer::class) override var expiredDateTimestamp: Long = 0L - override var isDownloadOnetime: Long = 0L - + @SerialName("isDownloadOnetime") + @Serializable(with = IntToBooleanSerializer::class) + override var hasBeenDownloadedOneTime: Boolean = false @Serializable(with = IntToBooleanSerializer::class) override var isMailSent: Boolean = false override var downloadHost: String = "" - override var container: ContainerApi = ContainerApi() - - // TODO: Add download method url - val downloadUrl get() = "https://$downloadHost/api/download/??Quoi " + val downloadUrl get() = "https://$downloadHost/api/download/??Quoi " // TODO: Add download method url // https://dl-j5769qrh.swisstransfer.com/api/download/ec6bc7ac-96b3-4a6e-8d30-8e12e379d11a/97a742c9-b0f5-4fa5-b6bf-cb2c2d6bbe94 + override var container: ContainerApi = ContainerApi() } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/FinishUploadBody.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/FinishUploadBody.kt index b31a359..b3d1a16 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/FinishUploadBody.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/FinishUploadBody.kt @@ -23,7 +23,8 @@ import kotlinx.serialization.Serializable @Serializable data class FinishUploadBody( @SerialName("UUID") - val containerUUID: String = "", - val lang: String = "", + val containerUuid: String = "", + @SerialName("lang") + val language: String = "", val recipientsEmails: List? = null, ) diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/InitUploadBody.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/InitUploadBody.kt index 79a42a1..2e5da2a 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/InitUploadBody.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/InitUploadBody.kt @@ -17,6 +17,7 @@ */ package com.infomaniak.multiplatform_swisstransfer.network.models.upload.request +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable @@ -30,7 +31,8 @@ class InitUploadBody( val numberOfFile: Int = 0, val recaptcha: String = "", val recaptchaVersion: Long = 0L, - val lang: String = "", + @SerialName("lang") + val language: String = "", val files: List = emptyList(), val recipientsEmails: String = "", ) diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/ResendEmailCodeBody.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/ResendEmailCodeBody.kt index 2ef4fc4..7ddc30c 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/ResendEmailCodeBody.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/request/ResendEmailCodeBody.kt @@ -17,10 +17,12 @@ */ package com.infomaniak.multiplatform_swisstransfer.network.models.upload.request +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable data class ResendEmailCodeBody( val address: String, - val lang: String, // example "fr_FR" + @SerialName("lang") + val language: String, // example "fr_FR" ) diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadCompleteResponse.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadCompleteResponse.kt index cf5d1dc..6162942 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadCompleteResponse.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadCompleteResponse.kt @@ -24,8 +24,10 @@ import kotlinx.serialization.Serializable @Serializable class UploadCompleteResponse( - var linkUUID: String = "", - var containerUUID: String = "", + @SerialName("linkUUID") + var linkUuid: String = "", + @SerialName("containerUUID") + var containerUuid: String = "", var userEmail: String? = null, var downloadCounterCredit: Long = 0L, @SerialName("createdDate") @@ -34,8 +36,9 @@ class UploadCompleteResponse( @SerialName("expiredDate") @Serializable(DateToTimestampSerializer::class) var expiredDateTimestamp: Long = 0L, + @SerialName("isDownloadOnetime") @Serializable(with = IntToBooleanSerializer::class) - var isDownloadOnetime: Boolean = false, + var hasBeenDownloadedOneTime: Boolean = false, @Serializable(with = IntToBooleanSerializer::class) var isMailSent: Boolean = false, ) diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadContainerApi.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadContainerApi.kt index 62078cb..818228d 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadContainerApi.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/models/upload/response/UploadContainerApi.kt @@ -19,6 +19,7 @@ package com.infomaniak.multiplatform_swisstransfer.network.models.upload.respons import com.infomaniak.multiplatform_swisstransfer.common.interfaces.upload.UploadContainer import com.infomaniak.multiplatform_swisstransfer.network.serializers.DateToTimestampSerializer +import com.infomaniak.multiplatform_swisstransfer.network.serializers.IntToBooleanSerializer import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -26,24 +27,22 @@ import kotlinx.serialization.Serializable class UploadContainerApi : UploadContainer { @SerialName("UUID") override var uuid: String = "" - override var duration: String = "" override var downloadLimit: Long = 0L - override var lang: String = "" + @SerialName("lang") + override var language: String = "" override var source: String = "" - @SerialName("WSUser") override var wsUser: String? = null - override var authorIP: String = "" override var swiftVersion: String = "" - // var createdDate: String // TODO: Why a complex date instead of a simple date ? May be Custom serial this @SerialName("expiredDate") @Serializable(DateToTimestampSerializer::class) override var expiredDateTimestamp: Long = 0L + @Serializable(with = IntToBooleanSerializer::class) override var needPassword: Boolean = false override var message: String = "" @SerialName("numberOfFile") - override var numberOfFiles: Long = 0L + override var numberOfFiles: Int = 0 } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/TransferRepository.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/TransferRepository.kt index 1c208c1..f20d035 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/TransferRepository.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/TransferRepository.kt @@ -45,5 +45,5 @@ class TransferRepository internal constructor(private val transferRequest: Trans NetworkException::class, UnknownException::class, ) - suspend fun getTransfer(linkUUID: String): ApiResponse = transferRequest.getTransfer(linkUUID) + suspend fun getTransfer(linkUuid: String): ApiResponse = transferRequest.getTransfer(linkUuid) } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/UploadRepository.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/UploadRepository.kt index 7cbc150..1e2d29f 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/UploadRepository.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/repositories/UploadRepository.kt @@ -103,13 +103,13 @@ class UploadRepository internal constructor(private val uploadRequest: UploadReq ) suspend fun uploadChunk( uploadHost: String, - containerUUID: String, - fileUUID: String, + containerUuid: String, + fileUuid: String, chunkIndex: Int, isLastChunk: Boolean, data: ByteArray, ): Boolean { - return uploadRequest.uploadChunk(uploadHost, containerUUID, fileUUID, chunkIndex, isLastChunk, data) + return uploadRequest.uploadChunk(uploadHost, containerUuid, fileUuid, chunkIndex, isLastChunk, data) } @Throws( diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/TransferRequest.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/TransferRequest.kt index e25b63f..2acd586 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/TransferRequest.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/TransferRequest.kt @@ -25,7 +25,7 @@ import kotlinx.serialization.json.Json internal class TransferRequest(json: Json, httpClient: HttpClient) : BaseRequest(json, httpClient) { - suspend fun getTransfer(linkUUID: String): ApiResponse { - return get(url = createUrl(ApiRoutes.getTransfer(linkUUID))) + suspend fun getTransfer(linkUuid: String): ApiResponse { + return get(url = createUrl(ApiRoutes.getTransfer(linkUuid))) } } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/UploadRequest.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/UploadRequest.kt index 1556aac..af7978e 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/UploadRequest.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/requests/UploadRequest.kt @@ -51,14 +51,14 @@ internal class UploadRequest(json: Json, httpClient: HttpClient) : BaseRequest(j suspend fun uploadChunk( uploadHost: String, - containerUUID: String, - fileUUID: String, + containerUuid: String, + fileUuid: String, chunkIndex: Int, isLastChunk: Boolean, data: ByteArray, ): Boolean { val httpResponse = httpClient.post( - urlString = SharedApiRoutes.uploadChunk(uploadHost, containerUUID, fileUUID, chunkIndex, isLastChunk) + urlString = SharedApiRoutes.uploadChunk(uploadHost, containerUuid, fileUuid, chunkIndex, isLastChunk) ) { setBody(data) } diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/ApiRoutes.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/ApiRoutes.kt index 736b005..4bc9c3a 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/ApiRoutes.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/ApiRoutes.kt @@ -18,12 +18,11 @@ package com.infomaniak.multiplatform_swisstransfer.network.utils internal object ApiRoutes { + const val baseUrl = "https://www.swisstransfer.com/api/" //region Transfer - fun getTransfer(linkUUID: String): String { - return "links/$linkUUID" - } + fun getTransfer(linkUuid: String): String = "links/$linkUuid" //endRegion //region Upload diff --git a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/SharedApiRoutes.kt b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/SharedApiRoutes.kt index e6ba4dd..4eb6b61 100644 --- a/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/SharedApiRoutes.kt +++ b/STNetwork/src/commonMain/kotlin/com/infomaniak/multiplatform_swisstransfer/network/utils/SharedApiRoutes.kt @@ -19,15 +19,13 @@ package com.infomaniak.multiplatform_swisstransfer.network.utils object SharedApiRoutes { - fun downloadFiles(downloadHost: String, linkUUID: String): String { - return "https://$downloadHost/api/download/$linkUUID" - } + fun downloadFiles(downloadHost: String, linkUuid: String): String = "https://$downloadHost/api/download/$linkUuid" - fun downloadFile(downloadHost: String, linkUUID: String, fileUUID: String?): String { - return "${downloadFiles(downloadHost, linkUUID)}/$fileUUID" + fun downloadFile(downloadHost: String, linkUuid: String, fileUuid: String?): String { + return "${downloadFiles(downloadHost, linkUuid)}/$fileUuid" } - fun uploadChunk(uploadHost: String, containerUUID: String, fileUUID: String, chunkIndex: Int, isLastChunk: Boolean): String { - return "https://$uploadHost/api/uploadChunk/$containerUUID/$fileUUID/$chunkIndex/${isLastChunk.int()}" + fun uploadChunk(uploadHost: String, containerUuid: String, fileUuid: String, chunkIndex: Int, isLastChunk: Boolean): String { + return "https://$uploadHost/api/uploadChunk/$containerUuid/$fileUuid/$chunkIndex/${isLastChunk.int()}" } }