This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@muhammadzadeh/nestjs-storage
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

Nest Logo

NestJS Storage module, work with famous object storage like S3, R2, Azure, Google Cloud

Installation

$ npm i --save @muhammadzadeh/nestjs-storage

How To

  • select your prefered provider and provide its configs
  • inject StorageService

Local Example

// app.module.ts
import { Module } from '@nestjs/common'
import { StorageModule } from '@muhammadzadeh/nestjs-storage';

@Module({
  imports: [
    StorageModule.forRoot({
      provider: 'local',
      options: {
        root: 'ROOT_DIR',
      },
    }),
  ],
})
export class AppModule {}

S3 Example

// app.module.ts
import { Module } from '@nestjs/common'
import { StorageModule } from '@muhammadzadeh/nestjs-storage';

@Module({
  imports: [
    StorageModule.forRoot({
      provider: 's3',
      options: {
        accessKeyId: 'ACCESS_KEY_ID',
        secretAccessKey: 'SECRET_ACCESS_KEY',
        endpoint: 'S3_ENDPOINT',
        region: 'auto',
      },
    }),
  ],
})
export class AppModule {}

R2 Example

// app.module.ts
import { Module } from '@nestjs/common'
import { StorageModule } from '@muhammadzadeh/nestjs-storage';

@Module({
  imports: [
    StorageModule.forRoot({
      provider: 'r2',
      options: {
        accessKeyId: 'ACCESS_KEY_ID',
        secretAccessKey: 'SECRET_ACCESS_KEY',
        endpoint: 'CLOUDFLARE_R2_EXAMPLE',
        region: 'auto',
      },
    }),
  ],
})
export class AppModule {}

Azure Example

// app.module.ts
import { Module } from '@nestjs/common'
import { StorageModule } from '@muhammadzadeh/nestjs-storage';

@Module({
  imports: [
    StorageModule.forRoot({
      provider: 'azure',
      options: {
        connectionString: 'CONNECTION_STRING ',
      },
    }),
  ],
})
export class AppModule {}

Google Cloud Example

// app.module.ts
import { Module } from '@nestjs/common'
import { StorageModule } from '@muhammadzadeh/nestjs-storage';

@Module({
  imports: [
    StorageModule.forRoot({
      provider: 'gcs',
      options: {
        keyFilename: 'GOOGLE_KEY_FILE_NAME',
      },
    }),
  ],
})
export class AppModule {}

StorageService

import { Injectable } from '@nestjs/common';
import { StorageService } from "@muhammadzadeh/nestjs-storage";

@Injectable()
export class MyClass {
  constructor(private readonly storage: StorageService) {}
}

Support

nestjs-storage is an MIT-licensed open source project. If this library is helpful, please click star to support it.

License

nestjs-storage is MIT licensed.

Package Sidebar

Install

npm i @muhammadzadeh/nestjs-storage

Weekly Downloads

0

Version

0.0.6

License

MIT

Unpacked Size

40.3 kB

Total Files

46

Last publish

Collaborators

  • muhammadzadeh