UNPKG

@settlemint/sdk-minio

Version:

MinIO integration module for SettleMint SDK, providing S3-compatible object storage capabilities

39 lines (37 loc) 1.24 kB
// src/minio.ts import { ensureServer } from "@settlemint/sdk-utils/runtime"; import { validate } from "@settlemint/sdk-utils/validation"; import { Client } from "minio"; // src/helpers/client-options.schema.ts import { UrlSchema } from "@settlemint/sdk-utils/validation"; import { z } from "zod"; var ClientOptionsSchema = z.object({ /** The URL of the MinIO instance to connect to */ instance: UrlSchema }); var ServerClientOptionsSchema = ClientOptionsSchema.extend({ /** The MinIO access key used to authenticate with the MinIO server */ accessKey: z.string(), /** The MinIO secret key used to authenticate with the MinIO server */ secretKey: z.string() }); // src/minio.ts function createServerMinioClient(options) { ensureServer(); const validatedOptions = validate(ServerClientOptionsSchema, options); const url = new URL(validatedOptions.instance); return { client: new Client({ endPoint: url.hostname, accessKey: validatedOptions.accessKey, secretKey: validatedOptions.secretKey, useSSL: url.protocol !== "http:", port: url.port ? Number(url.port) : void 0, region: "eu-central-1" }) }; } export { createServerMinioClient }; //# sourceMappingURL=minio.mjs.map