@settlemint/sdk-minio
Version:
MinIO integration module for SettleMint SDK, providing S3-compatible object storage capabilities
38 lines (36 loc) • 1.28 kB
JavaScript
// 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