Nestjs module for working with Apache Thrift
Requires following packages to be installed
yarn add @qiwi/nestjs-enterprise-thrift
Imports
import { Module } from '@nestjs/common'
import { ConnectionProviderModule } from '@qiwi/nestjs-enterprise-connection-provider'
import { LoggerModule } from '@qiwi/nestjs-enterprise-logger-nestjs'
import { ConsulModule } from '@qiwi/nestjs-enterprise-consul-nestjs'
import { ConfigModule } from '@qiwi/nestjs-enterprise-config-nestjs'
import { ThriftModule } from '@qiwi/nestjs-enterprise-thrift'
@Module({
imports: [
ConfigModule,
LoggerModule,
ConsulModule,
ConnectionProviderModule,
// and so on
],
controllers: [],
providers: [],
})
export class AppModule {}
@Injectable()
class AuthService {
client?: Client
creds?: TCredentials
token?: TAuthentication
@Inject('IConfigService')
config: IConfig
@Inject('IThriftClientService')
thrift: IThriftClientService
getClient() {
const serviceProfile: IServiceDeclaration = this.config.get('serviceName')
this.client = this.thrift.getClient(serviceProfile, Client, {
multiplexer: false,
connectionOpts: {
transport: thrift.TBufferedTransport,
protocol: thrift.TBinaryProtocol,
},
})
return this.client
}
}