0.1.0 • Published 4 years ago

createme-nestjs-azure-storage v0.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

Azure Storage Blob module for Nest.js

Provides Nest.js module for accessing Azure Blob Storage in unified way.

Usage

Module is designed to cooperate with @createmetech/createme-config but it doesn't explicitly depend on it. Standard usage will be to first read configuration object from configuration file as and then pass it to module constructor as dependency:

import { config } from "@createmetech/createme-config";
import { AzureStorageModule } from "@createmetech/createme-nestjs-azure-storage";

@Module({
    imports: [
        AzureStorageModule.forRootAsync(async () => {
            const signingKey = await config.getAzureStorageSigningKey("azure");
            return {
                signingKey,
                accountName: config.getString("blobAccountName"),
            };
        }),
    ],
    controllers: [ProductTypeController],
    providers: [ProductTypeService],
})

Alternatively, configuration options can be passed directly:

import { config } from "@createmetech/createme-config";
import { AzureStorageModule } from "@createmetech/createme-nestjs-azure-storage";

@Module({
    imports: [
        AzureStorageModule.forRoot(() => ({
                signingKey: "key",
                accountName: "accountName",
        })),
    ],
    controllers: [ProductTypeController],
    providers: [ProductTypeService],
})

After that it can be used in dependency injection e.g. in controller:

import { AzureStorageService } from "@createmetech/createme-nestjs-azure-storage";

@Controller()
export class MyController {
    constructor(
        private azureStorageService: AzureStorageService,
    ) {}
}