MCPcopy Index your code
hub / github.com/NestCrafts/nestjs-minio

github.com/NestCrafts/nestjs-minio @v2.6.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.6.3 ↗ · + Follow
19 symbols 38 edges 12 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Nest Logo

Minio Module for Nest framework

NPM Version Package License NPM Downloads

Buy Me A Coffee

Description

This's a nest-minio module for Nest. This quickstart guide will show you how to install the client SDK and execute an example JavaScript program. For a complete list of APIs and examples, please take a look at the JavaScript Client API Reference documentation.

This document assumes that you have a working nodejs setup in place.

Installation

$ npm i --save nestjs-minio

Initialize MinIO Client

You need five items in order to connect to MinIO object storage server.

Params Description
endPoint URL to object storage service.
port TCP/IP port number. This input is optional. Default value set to 80 for HTTP and 443 for HTTPs.
accessKey Access key is like user ID that uniquely identifies your account.
secretKey Secret key is the password to your account.
useSSL Set this value to 'true' to enable secure (HTTPS) access

Provide the credentials for minio module by importing it as :

import { Module } from '@nestjs/common';
import { NestMinioClientController } from './nest-minio-client.controller';
import { NestMinioModule } from '../nest-minio.module';

@Module({
  controllers: [NestMinioClientController],
  imports: [
    NestMinioModule.register({
      isGlobal: true,
      endPoint: 'play.min.io',
      port: 9000,
      useSSL: true,
      accessKey: 'Q3AM3UQ867SPQQA43P2F',
      secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
    }),
  ],
})
export class NestMinioClientModule {}

Then you can use it in the controller or service by injecting it in the controller as:


 constructor(@Inject(MINIO_CONNECTION) private readonly minioClient) {}

Quick Start Example - File Uploader

This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.

We will use the MinIO server running at https://play.min.io in this example. Feel free to use this service for testing and development. Access credentials shown in this example are open to the public.


import { Controller, Get, Inject } from '@nestjs/common';
import { MINIO_CONNECTION } from '../constants';
import {Client, InjectMinio} from 'minio';

@Controller()
export class NestMinioClientController {
 // use inject token
  constructor(@Inject(MINIO_CONNECTION) private readonly minioClient: Client) {}

  // or use inject decorator
  // constructor(@InjectMinio() private readonly minioClient: Client) {}

  @Get()
  index() {
    const file = '/tmp/app.zip';

    const metaData = {
      'Content-Type': 'application/octet-stream',
      'X-Amz-Meta-Testing': 1234,
      example: 5678,
    };
    // Using fPutObject API upload your file to the bucket europetrip.
    this.minioClient.fPutObject(
      'europetripxxx3',
      'app.zip',
      file,
      metaData,
      function(err, etag) {
        if (err) {
          return console.log(err);
        }
        console.log('File uploaded successfully.');
      },
    );
  }
}


Extension points exported contracts — how you extend this code

INestMinioService (Interface)
(no doc) [2 implementers]
src/nest-minio.service.ts

Core symbols most depended-on inside this repo

getMinio
called by 1
src/nest-minio.service.ts
checkConnection
called by 1
src/nest-minio.service.ts
InjectMinio
called by 1
src/nest-minio.decorator.ts
bootstrap
called by 1
tests/src/main.ts
constructor
called by 0
src/nest-minio.service.ts
getMinio
called by 0
src/nest-minio.service.ts
constructor
called by 0
src/nest-minio.module.ts
onModuleInit
called by 0
src/nest-minio.module.ts

Shape

Class 8
Method 8
Function 2
Interface 1

Languages

TypeScript100%

Modules by API surface

src/nest-minio.service.ts7 symbols
tests/src/app.controller.ts4 symbols
src/nest-minio.module.ts4 symbols
tests/src/app.module.ts2 symbols
tests/src/main.ts1 symbols
src/nest-minio.decorator.ts1 symbols

For agents

$ claude mcp add nestjs-minio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page