From e41050b75308aab2736eea11b67bf9387a90dfe5 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 21 Jun 2017 15:06:20 -0700 Subject: Add file existence checking to file storage --- src/main/scala/xyz/driver/core/file/GcsStorage.scala | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/main/scala/xyz/driver/core/file/GcsStorage.scala') diff --git a/src/main/scala/xyz/driver/core/file/GcsStorage.scala b/src/main/scala/xyz/driver/core/file/GcsStorage.scala index 0d8b918..deb8a0e 100644 --- a/src/main/scala/xyz/driver/core/file/GcsStorage.scala +++ b/src/main/scala/xyz/driver/core/file/GcsStorage.scala @@ -79,6 +79,15 @@ class GcsStorage(storageClient: Storage, bucketName: Name[Bucket], executionCont ) } + override def exists(path: Path): Future[Boolean] = Future { + val blob = Option( + storageClient.get( + bucketName.value, + path.toString + )) + blob.isDefined + } + override def signedFileUrl(filePath: Path, duration: Duration): OptionT[Future, URL] = OptionT.optionT(Future { Option(storageClient.get(bucketName.value, filePath.toString)).filterNot(_.getSize == 0).map { blob => -- cgit v1.2.3