@fsco-sdk/nestjs
v2.1.13
Published
REST client for @fsco-sdk/nestjs
Downloads
50
Readme
📦 Install
bun add @fsco-sdk/nestjsPeer dependencies expected in your app:
bun add @nestjs/common @nestjs/core @nestjs/axios rxjs reflect-metadata⚡ Quick Start
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import {
FscoSdkModule,
Configuration,
type ConfigurationParameters,
} from '@fsco-sdk/nestjs';
@Module({
imports: [
ConfigModule.forRoot({ isGlobal: true }),
FscoSdkModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService): Configuration => {
const params: ConfigurationParameters = {
apiKeys: {
'X-API-Key': config.get<string>('FSCO_API_KEY', { infer: true }) ?? '',
'X-API-Secret': config.get<string>('FSCO_API_SECRET', { infer: true }) ?? '',
},
};
return new Configuration(params);
},
}),
],
})
export class AppModule {}🧪 Service Usage Example
import { Injectable } from '@nestjs/common';
import { DocumentApiService } from '@fsco-sdk/nestjs';
import { firstValueFrom } from 'rxjs';
@Injectable()
export class DocsService {
constructor(private readonly documentApi: DocumentApiService) {}
async listDocuments(page = 1, size = 10, groupId?: string) {
const { data } = await firstValueFrom(
this.documentApi.getDocumentList(groupId, page, size),
);
return data.items.map((doc) => ({
id: doc.id,
name: doc.name,
status: doc.status,
}));
}
}🧩 Notes
- Package version:
2.1.13 - Default base URL follows
FSCO_STAGE/NODE_ENV(override withFSCO_API_BASE_URLorbasePath) - All generated
*Serviceclasses are injectable and ready for Nest DI
