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