mirror of
https://github.com/owncloud/android-library.git
synced 2025-07-04 05:06:37 +00:00
Allow capabilities to be null
This commit is contained in:
parent
679b91df7c
commit
42b923c3b8
@ -32,130 +32,130 @@ import com.squareup.moshi.JsonClass
|
|||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class CapabilityResponse(
|
data class CapabilityResponse(
|
||||||
@Json(name = "version")
|
@Json(name = "version")
|
||||||
val serverVersion: ServerVersion,
|
val serverVersion: ServerVersion?,
|
||||||
val capabilities: Capabilities
|
val capabilities: Capabilities?
|
||||||
) {
|
) {
|
||||||
fun toRemoteCapability(): RemoteCapability = RemoteCapability(
|
fun toRemoteCapability(): RemoteCapability = RemoteCapability(
|
||||||
versionMayor = serverVersion.major,
|
versionMayor = serverVersion?.major ?: 0,
|
||||||
versionMinor = serverVersion.minor,
|
versionMinor = serverVersion?.minor ?: 0,
|
||||||
versionMicro = serverVersion.micro,
|
versionMicro = serverVersion?.micro ?: 0,
|
||||||
versionString = serverVersion.string,
|
versionString = serverVersion?.string ?: "",
|
||||||
versionEdition = serverVersion.edition,
|
versionEdition = serverVersion?.edition ?: "",
|
||||||
corePollinterval = capabilities.coreCapabilities.pollinterval,
|
corePollinterval = capabilities?.coreCapabilities?.pollinterval ?: 0,
|
||||||
filesSharingApiEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingApiEnabled),
|
filesSharingApiEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingApiEnabled),
|
||||||
filesSharingResharing = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingReSharing),
|
filesSharingResharing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingReSharing),
|
||||||
filesSharingPublicEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.enabled),
|
filesSharingPublicEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.enabled),
|
||||||
filesSharingPublicUpload = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicUpload),
|
filesSharingPublicUpload = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicUpload),
|
||||||
filesSharingPublicSupportsUploadOnly = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicUploadOnly),
|
filesSharingPublicSupportsUploadOnly = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicUploadOnly),
|
||||||
filesSharingPublicMultiple = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicMultiple),
|
filesSharingPublicMultiple = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicMultiple),
|
||||||
filesSharingPublicPasswordEnforced = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforced),
|
filesSharingPublicPasswordEnforced = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforced),
|
||||||
filesSharingPublicPasswordEnforcedReadOnly = CapabilityBooleanType.fromBooleanValue(
|
filesSharingPublicPasswordEnforcedReadOnly = CapabilityBooleanType.fromBooleanValue(
|
||||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedReadOnly
|
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedReadOnly
|
||||||
),
|
),
|
||||||
filesSharingPublicPasswordEnforcedReadWrite = CapabilityBooleanType.fromBooleanValue(
|
filesSharingPublicPasswordEnforcedReadWrite = CapabilityBooleanType.fromBooleanValue(
|
||||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedReadWrite
|
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedReadWrite
|
||||||
),
|
),
|
||||||
filesSharingPublicPasswordEnforcedUploadOnly = CapabilityBooleanType.fromBooleanValue(
|
filesSharingPublicPasswordEnforcedUploadOnly = CapabilityBooleanType.fromBooleanValue(
|
||||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedUploadOnly
|
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedUploadOnly
|
||||||
),
|
),
|
||||||
filesSharingPublicExpireDateEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.enabled),
|
filesSharingPublicExpireDateEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.enabled),
|
||||||
filesSharingPublicExpireDateDays = capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.days
|
filesSharingPublicExpireDateDays = capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.days
|
||||||
?: 0,
|
?: 0,
|
||||||
filesSharingPublicExpireDateEnforced = CapabilityBooleanType.fromBooleanValue(
|
filesSharingPublicExpireDateEnforced = CapabilityBooleanType.fromBooleanValue(
|
||||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.enforced ?: false
|
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.enforced
|
||||||
),
|
),
|
||||||
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.bigfilechunking),
|
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.bigfilechunking),
|
||||||
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.undelete),
|
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.undelete),
|
||||||
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.versioning),
|
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.versioning),
|
||||||
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingFederation.incoming),
|
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.incoming),
|
||||||
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingFederation.outgoing)
|
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.outgoing)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class Capabilities(
|
data class Capabilities(
|
||||||
@Json(name = "core")
|
@Json(name = "core")
|
||||||
val coreCapabilities: CoreCapabilities,
|
val coreCapabilities: CoreCapabilities?,
|
||||||
@Json(name = "files_sharing")
|
@Json(name = "files_sharing")
|
||||||
val fileSharingCapabilities: FileSharingCapabilities,
|
val fileSharingCapabilities: FileSharingCapabilities?,
|
||||||
@Json(name = "files")
|
@Json(name = "files")
|
||||||
val fileCapabilities: FileCapabilities
|
val fileCapabilities: FileCapabilities?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class CoreCapabilities(
|
data class CoreCapabilities(
|
||||||
val pollinterval: Int
|
val pollinterval: Int?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingCapabilities(
|
data class FileSharingCapabilities(
|
||||||
@Json(name = "api_enabled")
|
@Json(name = "api_enabled")
|
||||||
val fileSharingApiEnabled: Boolean,
|
val fileSharingApiEnabled: Boolean?,
|
||||||
@Json(name = "public")
|
@Json(name = "public")
|
||||||
val fileSharingPublic: FileSharingPublic,
|
val fileSharingPublic: FileSharingPublic?,
|
||||||
@Json(name = "resharing")
|
@Json(name = "resharing")
|
||||||
val fileSharingReSharing: Boolean,
|
val fileSharingReSharing: Boolean?,
|
||||||
@Json(name = "federation")
|
@Json(name = "federation")
|
||||||
val fileSharingFederation: FileSharingFederation
|
val fileSharingFederation: FileSharingFederation?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingPublic(
|
data class FileSharingPublic(
|
||||||
val enabled: Boolean,
|
val enabled: Boolean?,
|
||||||
@Json(name = "upload")
|
@Json(name = "upload")
|
||||||
val fileSharingPublicUpload: Boolean,
|
val fileSharingPublicUpload: Boolean?,
|
||||||
@Json(name = "supports_upload_only")
|
@Json(name = "supports_upload_only")
|
||||||
val fileSharingPublicUploadOnly: Boolean,
|
val fileSharingPublicUploadOnly: Boolean?,
|
||||||
@Json(name = "multiple")
|
@Json(name = "multiple")
|
||||||
val fileSharingPublicMultiple: Boolean,
|
val fileSharingPublicMultiple: Boolean?,
|
||||||
@Json(name = "password")
|
@Json(name = "password")
|
||||||
val fileSharingPublicPassword: FileSharingPublicPassword,
|
val fileSharingPublicPassword: FileSharingPublicPassword?,
|
||||||
@Json(name = "expire_date")
|
@Json(name = "expire_date")
|
||||||
val fileSharingPublicExpireDate: FileSharingPublicExpireDate
|
val fileSharingPublicExpireDate: FileSharingPublicExpireDate?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingPublicPassword(
|
data class FileSharingPublicPassword(
|
||||||
val enforced: Boolean,
|
val enforced: Boolean?,
|
||||||
@Json(name = "enforced_for")
|
@Json(name = "enforced_for")
|
||||||
val enforcedFor: FileSharingPublicPasswordEnforced
|
val enforcedFor: FileSharingPublicPasswordEnforced?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingPublicPasswordEnforced(
|
data class FileSharingPublicPasswordEnforced(
|
||||||
@Json(name = "read_only")
|
@Json(name = "read_only")
|
||||||
val enforcedReadOnly: Boolean,
|
val enforcedReadOnly: Boolean?,
|
||||||
@Json(name = "read_write")
|
@Json(name = "read_write")
|
||||||
val enforcedReadWrite: Boolean,
|
val enforcedReadWrite: Boolean?,
|
||||||
@Json(name = "upload_only")
|
@Json(name = "upload_only")
|
||||||
val enforcedUploadOnly: Boolean
|
val enforcedUploadOnly: Boolean?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingPublicExpireDate(
|
data class FileSharingPublicExpireDate(
|
||||||
val enabled: Boolean,
|
val enabled: Boolean?,
|
||||||
val days: Int?,
|
val days: Int?,
|
||||||
val enforced: Boolean?
|
val enforced: Boolean?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileSharingFederation(
|
data class FileSharingFederation(
|
||||||
val incoming: Boolean,
|
val incoming: Boolean?,
|
||||||
val outgoing: Boolean
|
val outgoing: Boolean?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class FileCapabilities(
|
data class FileCapabilities(
|
||||||
val bigfilechunking: Boolean,
|
val bigfilechunking: Boolean?,
|
||||||
val undelete: Boolean,
|
val undelete: Boolean?,
|
||||||
val versioning: Boolean
|
val versioning: Boolean?
|
||||||
)
|
)
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class ServerVersion(
|
data class ServerVersion(
|
||||||
var major: Int = 0,
|
var major: Int?,
|
||||||
var minor: Int = 0,
|
var minor: Int?,
|
||||||
var micro: Int = 0,
|
var micro: Int?,
|
||||||
var string: String = "",
|
var string: String?,
|
||||||
var edition: String = ""
|
var edition: String?
|
||||||
)
|
)
|
||||||
|
@ -87,8 +87,8 @@ data class RemoteCapability(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun fromBooleanValue(boolValue: Boolean): CapabilityBooleanType {
|
fun fromBooleanValue(boolValue: Boolean?): CapabilityBooleanType {
|
||||||
return if (boolValue) {
|
return if (boolValue != null && boolValue) {
|
||||||
TRUE
|
TRUE
|
||||||
} else {
|
} else {
|
||||||
FALSE
|
FALSE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user