@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 { }

/@roit/roit-storage/

    Package Sidebar

    Install

    npm i @roit/roit-storage

    Weekly Downloads

    21

    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