Nightly Procrastination Machine

    This package has been deprecated

    Author message:

    This package is no longer maintained and is referenced by another package nestjs-minio

    nest-minio
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.0 • Public • Published

    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 nest-minio

    Download from NPM

    npm install --save nest-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({
          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';
     
    @Controller()
    export class NestMinioClientController {
      constructor(@Inject(MINIO_CONNECTION) private readonly minioClient) {}
     
      @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.');
          },
        );
      }
    }
     
     

    Keywords

    Install

    npm i nest-minio

    DownloadsWeekly Downloads

    1

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    29.3 kB

    Total Files

    46

    Last publish

    Collaborators

    • rubins