diff --git a/src/services/minio.ts b/src/services/minio.ts index 5f68d91..36d2d11 100644 --- a/src/services/minio.ts +++ b/src/services/minio.ts @@ -9,3 +9,15 @@ const minio = new Client({ }); export default minio; + +export async function presignedGetObjectIfExist(bucket: string, obj: string, exp?: number) { + if ( + await minio.statObject(bucket, obj).catch((e) => { + if (e.code === "NotFound") return false; + throw new Error("Object storage error."); + }) + ) { + return await minio.presignedGetObject(bucket, obj, exp); + } + return null; +}