UNPKG

@settlemint/sdk-minio

Version:

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

38 lines (36 loc) 1.28 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 { ApplicationAccessTokenSchema, 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 access token used to authenticate with the SettleMint platform */ accessToken: ApplicationAccessTokenSchema, /** 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); return { client: new Client({ endPoint: new URL(validatedOptions.instance).host, accessKey: validatedOptions.accessKey, secretKey: validatedOptions.secretKey, region: "eu-central-1" }) }; } export { createServerMinioClient }; //# sourceMappingURL=minio.mjs.map