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) | @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