From 9f1c20b418f416e449318f4c89d35f41b1b36e83 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Thu, 8 Oct 2020 15:17:28 +0200 Subject: [PATCH] add Sharee response model --- .../responses => }/CommonOcsResponse.kt | 2 +- .../shares/responses/ShareeResponse.kt | 91 +++++++++++++++++++ .../status/GetRemoteCapabilitiesOperation.kt | 2 +- .../users/GetRemoteUserInfoOperation.kt | 2 +- 4 files changed, 94 insertions(+), 3 deletions(-) rename owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/{status/responses => }/CommonOcsResponse.kt (96%) create mode 100644 owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/responses/ShareeResponse.kt diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/responses/CommonOcsResponse.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/CommonOcsResponse.kt similarity index 96% rename from owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/responses/CommonOcsResponse.kt rename to owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/CommonOcsResponse.kt index 491db0d1..2cfbe2ed 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/responses/CommonOcsResponse.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/CommonOcsResponse.kt @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package com.owncloud.android.lib.resources.status.responses +package com.owncloud.android.lib.resources import com.squareup.moshi.JsonClass diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/responses/ShareeResponse.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/responses/ShareeResponse.kt new file mode 100644 index 00000000..19f19728 --- /dev/null +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/responses/ShareeResponse.kt @@ -0,0 +1,91 @@ +/* ownCloud Android Library is available under MIT license + * + * Copyright (C) 2020 ownCloud GmbH. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.owncloud.android.lib.resources.shares.responses + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +/** + * This was modeled according to the documentation: + * https://doc.owncloud.com/server/developer_manual/core/apis/ocs-recipient-api.html#get-shares-recipients + */ +@JsonClass(generateAdapter = true) +data class ShareeOcsResponse( + @Json(name = "data") + val data: ShareeResponseData?, + @Json(name = "meta") + val meta: ShareeMeta? +) + +@JsonClass(generateAdapter = true) +data class ShareeResponseData( + @Json(name = "exact") + val exact: ExactSharees?, + @Json(name = "groups") + val groups: List?, + @Json(name = "remotes") + val remotes: List?, + @Json(name = "users") + val users: List? +) + +@JsonClass(generateAdapter = true) +data class ExactSharees( + @Json(name = "groups") + val groups: List?, + @Json(name = "remotes") + val remotes: List?, + @Json(name = "users") + val users: List? +) + +@JsonClass(generateAdapter = true) +data class ShareeItem( + @Json(name = "label") + val label: String?, + @Json(name = "value") + val value: ShareeValue? +) + +@JsonClass(generateAdapter = true) +data class ShareeValue( + @Json(name = "shareType") + val shareType: Int?, + @Json(name = "shareWith") + val shareWith: String? +) + +@JsonClass(generateAdapter = true) +data class ShareeMeta( + @Json(name = "itemsperpage") + val itemsPerPage: Int?, + @Json(name = "message") + val message: String?, + @Json(name = "status") + val status: String?, + @Json(name = "statuscode") + val statusCode: Int?, + @Json(name = "totalitems") + val totalItems: Int? +) diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt index 3117494b..806440be 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.kt @@ -35,7 +35,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperation import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.OK import com.owncloud.android.lib.resources.status.responses.CapabilityResponse -import com.owncloud.android.lib.resources.status.responses.CommonOcsResponse +import com.owncloud.android.lib.resources.CommonOcsResponse import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Moshi import com.squareup.moshi.Types diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.kt index 07e6c95c..d1f2a43c 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.kt @@ -29,7 +29,7 @@ import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod import com.owncloud.android.lib.common.operations.RemoteOperation import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode -import com.owncloud.android.lib.resources.status.responses.CommonOcsResponse +import com.owncloud.android.lib.resources.CommonOcsResponse import com.owncloud.android.lib.resources.users.responses.UserInfoResponse import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Moshi