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

0.0.9 • Public • Published

ROIT Storage

Usage for Google Cloud Storage

In the env.yaml file add the googleStorageCredential{} attribute, with the number of folders inside the {}:

dev:
    googleStorageCredential{5}: my-credential.json

Inject in your desired class:

import { GoogleCloudHandler } from '@roit/roit-storage'

constructor( 
    private readonly googleCloudHandler: GoogleCloudHandler
) {}

To use the retrieveFromStorage method:

const filePath = 'path/from/my/file'
const bucketName = 'my-files-bucket'

const url = await this.googleCloudHandler.retrieveFromStorage(filePath, bucketName)
console.log(url) // outputs https://storage.googleapis.com/...

To use the getSignedUrl method:

const filePath = 'path/from/my/file'
const bucketName = 'my-files-bucket'

const url = await this.googleCloudHandler.getSignedUrl(filePath, bucketName)
console.log(url) 

The getSignedUrl method returns a URL from Google that you need to perform a HTTP POST with the binary encoded file you want to upload, here is a example in Insomnia:

insomnia-example

Nestjs Usage

In Nestjs, don't forget to add the GoogleCloudHandler on the AppModule as a provider:

@Module({
  imports: [],
  controllers: [],
  providers: [
    GoogleCloudHandler
  ],
})
export class AppModule { }

Package Sidebar

Install

npm i @roit/roit-storage

Weekly Downloads

0

Version

0.0.9

License

none

Unpacked Size

103 kB

Total Files

28

Last publish

Collaborators

  • williampaulo
  • lucasmoreira
  • roitjoaovitor
  • jeremias.silva
  • karlaugust1
  • yucky4
  • tiagodev
  • jenkins.roit
  • tiago.gois
  • evelin.iurko.roit