diff options
Diffstat (limited to 'src/main/scala/xyz/driver/core/file/GcsStorage.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/file/GcsStorage.scala | 9 |
1 files changed, 9 insertions, 0 deletions
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 => |