asmanager-websdk-nest
v0.0.2
Published
Reusable NestJS module for integrating with the ASManager WebSDK API.
Readme
asmanager-websdk-nest
Reusable NestJS module for integrating with ASManager WebSDK.
Install
npm install asmanager-websdk-nestQuick Start (forRoot)
import { Module } from '@nestjs/common';
import { AsManagerWebSdkModule } from 'asmanager-websdk-nest';
@Module({
imports: [
AsManagerWebSdkModule.forRoot({
host: 'http://your-asmanager-host:82',
autoLogin: true,
username: 'admin',
password: 'your-password',
tokenTtlMs: 20 * 60 * 1000,
}),
],
})
export class AppModule {}Async Config (forRootAsync)
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { AsManagerWebSdkModule } from 'asmanager-websdk-nest';
@Module({
imports: [
ConfigModule.forRoot({ isGlobal: true }),
AsManagerWebSdkModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
host: config.getOrThrow<string>('ASMANAGER_HOST'),
autoLogin: config.get<boolean>('ASMANAGER_AUTO_LOGIN') ?? false,
username: config.get<string>('ASMANAGER_USERNAME'),
password: config.get<string>('ASMANAGER_PASSWORD'),
}),
}),
],
})
export class AppModule {}Inject and Use the Service
import { Injectable } from '@nestjs/common';
import { AsManagerWebSdkService } from 'asmanager-websdk-nest';
@Injectable()
export class AccessLogService {
constructor(private readonly sdk: AsManagerWebSdkService) {}
async getLatestLogs() {
return this.sdk.getLogs({ waitTimeSeconds: 10, max_log: 50 });
}
}Exported API
AsManagerWebSdkModuleAsManagerWebSdkServiceAsManagerWebSdkModuleOptionsAsManagerWebSdkModuleAsyncOptions
Local Development
npm install
npm run buildLicense
MIT
