@nuxfly/core
Version:
Nuxt module for Fly.io integration with storage and database support
25 lines (24 loc) • 906 B
JavaScript
import * as Minio from "minio";
let minioClient;
let bucket;
export default function usePrivateStorage() {
if (!minioClient) {
const nuxflyConfig = useRuntimeConfig().nuxfly || {};
console.log("\u2139 Initializing private storage with configuration:", nuxflyConfig.privateBucket);
const endpointUrl = new URL(nuxflyConfig.privateBucket.s3Endpoint);
minioClient = new Minio.Client({
endPoint: endpointUrl.hostname,
port: endpointUrl.port ? parseInt(endpointUrl.port) : endpointUrl.protocol === "https:" ? 443 : 80,
useSSL: endpointUrl.protocol === "https:",
accessKey: nuxflyConfig.privateBucket.s3AccessKeyId,
secretKey: nuxflyConfig.privateBucket.s3SecretAccessKey,
region: nuxflyConfig.privateBucket.s3Region || "auto",
pathStyle: true
});
bucket = nuxflyConfig.privateBucket.s3Bucket;
}
return {
minioClient,
bucket
};
}