mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 02:17:41 +00:00 
			
		
		
		
	Include services implementation so that can be used by library users
This commit is contained in:
		
							parent
							
								
									cf06126ce1
								
							
						
					
					
						commit
						bec5643714
					
				| @ -21,7 +21,7 @@ | ||||
|  *   THE SOFTWARE. | ||||
|  * | ||||
|  */ | ||||
| package com.owncloud.android.lib.resources.files | ||||
| package com.owncloud.android.lib.resources.files.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.Service | ||||
| @ -0,0 +1,34 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author Abel García de Prada | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.files.services.implementation | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.files.CheckPathExistenceRemoteOperation | ||||
| import com.owncloud.android.lib.resources.files.services.FileService | ||||
| 
 | ||||
| class OCFileService(override val client: OwnCloudClient) : | ||||
|     FileService { | ||||
|     override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean> = | ||||
|         CheckPathExistenceRemoteOperation( | ||||
|             remotePath = path, | ||||
|             isUserLogged = isUserLogged | ||||
|         ).execute(client) | ||||
| } | ||||
| @ -18,10 +18,12 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.shares | ||||
| package com.owncloud.android.lib.resources.shares.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.Service | ||||
| import com.owncloud.android.lib.resources.shares.ShareParserResult | ||||
| import com.owncloud.android.lib.resources.shares.ShareType | ||||
| 
 | ||||
| interface ShareService : Service { | ||||
|     fun getShares( | ||||
| @ -18,7 +18,7 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.shares | ||||
| package com.owncloud.android.lib.resources.shares.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.Service | ||||
| @ -0,0 +1,91 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author David González Verdugo | ||||
|  * | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * <p> | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.shares.services.implementation | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.shares.CreateRemoteShareOperation | ||||
| import com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation | ||||
| import com.owncloud.android.lib.resources.shares.RemoveRemoteShareOperation | ||||
| import com.owncloud.android.lib.resources.shares.ShareParserResult | ||||
| import com.owncloud.android.lib.resources.shares.ShareType | ||||
| import com.owncloud.android.lib.resources.shares.UpdateRemoteShareOperation | ||||
| import com.owncloud.android.lib.resources.shares.services.ShareService | ||||
| 
 | ||||
| class OCShareService(override val client: OwnCloudClient) : | ||||
|     ShareService { | ||||
|     override fun getShares( | ||||
|         remoteFilePath: String, | ||||
|         reshares: Boolean, | ||||
|         subfiles: Boolean | ||||
|     ): RemoteOperationResult<ShareParserResult> = GetRemoteSharesForFileOperation( | ||||
|         remoteFilePath, | ||||
|         reshares, | ||||
|         subfiles | ||||
|     ).execute(client) | ||||
| 
 | ||||
|     override fun insertShare( | ||||
|         remoteFilePath: String, | ||||
|         shareType: ShareType, | ||||
|         shareWith: String, | ||||
|         permissions: Int, | ||||
|         name: String, | ||||
|         password: String, | ||||
|         expirationDate: Long, | ||||
|         publicUpload: Boolean | ||||
|     ): RemoteOperationResult<ShareParserResult> = | ||||
|         CreateRemoteShareOperation( | ||||
|             remoteFilePath, | ||||
|             shareType, | ||||
|             shareWith, | ||||
|             permissions | ||||
|         ).apply { | ||||
|             this.name = name | ||||
|             this.password = password | ||||
|             this.expirationDateInMillis = expirationDate | ||||
|             this.publicUpload = publicUpload | ||||
|             this.retrieveShareDetails = true | ||||
|         }.execute(client) | ||||
| 
 | ||||
|     override fun updateShare( | ||||
|         remoteId: Long, | ||||
|         name: String, | ||||
|         password: String?, | ||||
|         expirationDate: Long, | ||||
|         permissions: Int, | ||||
|         publicUpload: Boolean | ||||
|     ): RemoteOperationResult<ShareParserResult> = | ||||
|         UpdateRemoteShareOperation( | ||||
|             remoteId | ||||
|         ).apply { | ||||
|             this.name = name | ||||
|             this.password = password | ||||
|             this.expirationDateInMillis = expirationDate | ||||
|             this.permissions = permissions | ||||
|             this.publicUpload = publicUpload | ||||
|             this.retrieveShareDetails = true | ||||
|         }.execute(client) | ||||
| 
 | ||||
|     override fun deleteShare(remoteId: Long): RemoteOperationResult<ShareParserResult> = | ||||
|         RemoveRemoteShareOperation( | ||||
|             remoteId | ||||
|         ).execute(client) | ||||
| } | ||||
| @ -0,0 +1,42 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author David González Verdugo | ||||
|  * | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * <p> | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.shares.services.implementation | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.shares.GetRemoteShareesOperation | ||||
| import com.owncloud.android.lib.resources.shares.services.ShareeService | ||||
| import org.json.JSONObject | ||||
| import java.util.ArrayList | ||||
| 
 | ||||
| class OCShareeService(override val client: OwnCloudClient) : | ||||
|     ShareeService { | ||||
|     override fun getSharees( | ||||
|         searchString: String, | ||||
|         page: Int, | ||||
|         perPage: Int | ||||
|     ): RemoteOperationResult<ArrayList<JSONObject>> = | ||||
|         GetRemoteShareesOperation( | ||||
|             searchString, | ||||
|             page, | ||||
|             perPage | ||||
|         ).execute(client) | ||||
| } | ||||
| @ -18,10 +18,11 @@ | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.status | ||||
| package com.owncloud.android.lib.resources.status.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.Service | ||||
| import com.owncloud.android.lib.resources.status.RemoteCapability | ||||
| 
 | ||||
| interface CapabilityService: Service { | ||||
|     fun getCapabilities() : RemoteOperationResult<RemoteCapability> | ||||
| @ -21,7 +21,7 @@ | ||||
|  *   THE SOFTWARE. | ||||
|  * | ||||
|  */ | ||||
| package com.owncloud.android.lib.resources.status | ||||
| package com.owncloud.android.lib.resources.status.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.status.OwnCloudVersion | ||||
| @ -0,0 +1,33 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author David González Verdugo | ||||
|  * | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.status.services.implementation | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.status.services.CapabilityService | ||||
| import com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation | ||||
| import com.owncloud.android.lib.resources.status.RemoteCapability | ||||
| 
 | ||||
| class OCCapabilityService(override val client: OwnCloudClient) : | ||||
|     CapabilityService { | ||||
|     override fun getCapabilities(): RemoteOperationResult<RemoteCapability> = | ||||
|         GetRemoteCapabilitiesOperation().execute(client) | ||||
| } | ||||
| @ -0,0 +1,43 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author Abel García de Prada | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.status.services.implementation | ||||
| 
 | ||||
| import android.net.Uri | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.status.services.ServerInfoService | ||||
| import com.owncloud.android.lib.resources.files.CheckPathExistenceRemoteOperation | ||||
| import com.owncloud.android.lib.resources.status.GetRemoteStatusOperation | ||||
| import com.owncloud.android.lib.resources.status.OwnCloudVersion | ||||
| 
 | ||||
| class OCServerInfoService : ServerInfoService { | ||||
|     override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean> = | ||||
|         CheckPathExistenceRemoteOperation( | ||||
|             remotePath = path, | ||||
|             isUserLogged = true | ||||
|         ).execute(createClientFromPath(path)) | ||||
| 
 | ||||
|     override fun getRemoteStatus(path: String): RemoteOperationResult<OwnCloudVersion> = | ||||
|         GetRemoteStatusOperation().execute(createClientFromPath(path)) | ||||
| 
 | ||||
|     private fun createClientFromPath(path: String): OwnCloudClient { | ||||
|         return OwnCloudClient(Uri.parse(path)) | ||||
|     } | ||||
| } | ||||
| @ -22,10 +22,11 @@ | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.users | ||||
| package com.owncloud.android.lib.resources.users.services | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.Service | ||||
| import com.owncloud.android.lib.resources.users.RemoteUserInfo | ||||
| 
 | ||||
| interface UserService: Service { | ||||
|     fun getUserInfo() : RemoteOperationResult<RemoteUserInfo> | ||||
| @ -0,0 +1,32 @@ | ||||
| /** | ||||
|  * ownCloud Android client application | ||||
|  * | ||||
|  * @author Abel García de Prada | ||||
|  * Copyright (C) 2020 ownCloud GmbH. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2, | ||||
|  * as published by the Free Software Foundation. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * <p> | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package com.owncloud.android.lib.resources.users.services.implementation | ||||
| 
 | ||||
| import com.owncloud.android.lib.common.OwnCloudClient | ||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult | ||||
| import com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation | ||||
| import com.owncloud.android.lib.resources.users.RemoteUserInfo | ||||
| import com.owncloud.android.lib.resources.users.services.UserService | ||||
| 
 | ||||
| class OCUserService(override val client: OwnCloudClient) : | ||||
|     UserService { | ||||
|     override fun getUserInfo(): RemoteOperationResult<RemoteUserInfo> = | ||||
|         GetRemoteUserInfoOperation().execute(client) | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user