diff --git a/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/GoogleDriveApiService.kt b/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/GoogleDriveApiService.kt index e5a1141a..5b122c4d 100644 --- a/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/GoogleDriveApiService.kt +++ b/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/GoogleDriveApiService.kt @@ -1,6 +1,7 @@ package com.omh.android.storage.api.drive.gms.data import com.google.api.services.drive.Drive +import com.google.api.services.drive.model.File internal class GoogleDriveApiService(private val apiProvider: GoogleDriveApiProvider) { @@ -8,4 +9,9 @@ internal class GoogleDriveApiService(private val apiProvider: GoogleDriveApiProv .googleDriveApiService .files() .list() + + fun createFile(file: File): Drive.Files.Create = apiProvider + .googleDriveApiService + .files() + .create(file) } diff --git a/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/source/GmsFileRemoteDataSourceImpl.kt b/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/source/GmsFileRemoteDataSourceImpl.kt index a98fda25..1d00c1b2 100644 --- a/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/source/GmsFileRemoteDataSourceImpl.kt +++ b/storage-api-drive-gms/src/main/java/com/omh/android/storage/api/drive/gms/data/source/GmsFileRemoteDataSourceImpl.kt @@ -17,7 +17,17 @@ internal class GmsFileRemoteDataSourceImpl(private val apiService: GoogleDriveAp } override fun createFile(name: String, mimeType: String, parentId: String?): OmhFile? { - return null + val fileToBeCreated = File().apply { + this.name = name + this.mimeType = mimeType + if (parentId != null) { + this.parents = listOf(parentId) + } + } + + val responseFile: File = apiService.createFile(fileToBeCreated).execute() + + return responseFile.toOmhFile() } override fun deleteFile(fileId: String): Boolean {