Skip to content

Commit

Permalink
fix: revert custom logger feature
Browse files Browse the repository at this point in the history
  • Loading branch information
vbshnsk committed Sep 19, 2022
1 parent 4d98bdc commit bc2f216
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 38 deletions.
2 changes: 1 addition & 1 deletion index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export { PubSubInterceptor } from './src/pubsub.interceptor';
export { PubSubTransport, PubSubTransportConfig, PubSubContext } from './src/pubsub-transport';
export { PubSubContext, PubSubTransport, PubSubTransportConfig } from './src/pubsub-transport';
export { PubSubTransportAsyncOptions, PubsubTransportModule } from './src/pubsub-transport.module';
30 changes: 0 additions & 30 deletions src/pubsub-transport.module.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import type { PubSub } from '@google-cloud/pubsub';
import { Type } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { WinstonLogger } from 'nest-winston';

import { PubSubTransport, PubSubTransportConfig, PubsubTransportModule } from '..';

Expand Down Expand Up @@ -43,34 +41,6 @@ describe('PubsubTransportModule', () => {
expect(app.get(PubSubTransport)).toBeDefined();
});

it('bootstraps module with a custom logger', async () => {
const mockLogger = {
log: () => ({}),
};
const MockLoggerCtr = class {
constructor() {
return mockLogger;
}
} as never as Type<WinstonLogger>;

const app = await Test.createTestingModule({
imports: [
PubsubTransportModule.forRootAsync({
logger: MockLoggerCtr,
useFactory: () => ({
pubsub: config.pubsub,
topic: 'topic',
subscription: 'sub',
}),
}),
],
}).compile();

const transport = app.get(PubSubTransport);
expect(transport).toBeDefined();
expect((transport as never as Record<string, unknown>)['log']).toBe(mockLogger);
});

it('bootstraps two modules using symbol token (async)', async () => {
const serviceA = Symbol('ServiceA');
const serviceB = Symbol('ServiceB');
Expand Down
7 changes: 2 additions & 5 deletions src/pubsub-transport.module.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import { DynamicModule, Module, ModuleMetadata, Type } from '@nestjs/common';
import { WinstonLogger } from 'nest-winston';

import { LoggerToken, PubSubTransport, PubSubTransportConfig } from './pubsub-transport';
import { PubSubTransport, PubSubTransportConfig } from './pubsub-transport';

export interface PubSubTransportAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
useExisting?: Type<PubSubTransportConfig>;
useClass?: Type<PubSubTransportConfig>;
useFactory?: (...args: any[]) => Promise<PubSubTransportConfig> | PubSubTransportConfig;
inject?: any[];
token?: symbol;
logger?: Type<WinstonLogger>;
}

@Module({})
Expand Down Expand Up @@ -64,7 +62,7 @@ export class PubsubTransportModule {
*/

static forRootAsync(options: PubSubTransportAsyncOptions): DynamicModule {
const { imports = [], useClass, useFactory, useExisting, inject, token, logger } = options;
const { imports = [], useClass, useFactory, useExisting, inject, token } = options;
return {
module: PubsubTransportModule,
global: true,
Expand All @@ -77,7 +75,6 @@ export class PubsubTransportModule {
useExisting,
provide: PubSubTransportConfig,
},
{ provide: LoggerToken, useClass: logger || WinstonLogger },
token ? { useClass: PubSubTransport, provide: token } : PubSubTransport,
],
exports: [token || PubSubTransport],
Expand Down
7 changes: 5 additions & 2 deletions src/pubsub-transport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Message, PubSub, Subscription, Topic } from '@google-cloud/pubsub';
import { Inject, Injectable, Optional } from '@nestjs/common';
import { CustomTransportStrategy, Server } from '@nestjs/microservices';
import errorToJSON from 'error-to-json';
import { WINSTON_MODULE_PROVIDER } from 'nest-winston';
import { firstValueFrom } from 'rxjs';
import { Logger } from 'winston';

Expand All @@ -12,7 +13,6 @@ export interface PubSubContext {

pattern: string;
}
export const LoggerToken = Symbol('Logger');
export const PubSubTransportConfig = Symbol('PubSubTransportConfig');
export type PubSubTransportConfig =
| {
Expand All @@ -24,6 +24,7 @@ export type PubSubTransportConfig =
getPattern?: (msg: Message) => string;
deserializeMessage?: (msg: Message) => any;
ackIfNoHandler?: boolean;
logger?: Logger;
}
| {
pubsub?: undefined;
Expand All @@ -34,6 +35,7 @@ export type PubSubTransportConfig =
getPattern?: (msg: Message) => string;
deserializeMessage?: (msg: Message) => any;
ackIfNoHandler?: boolean;
logger?: Logger;
}
| {
pubsub: PubSub;
Expand All @@ -44,6 +46,7 @@ export type PubSubTransportConfig =
getPattern?: (msg: Message) => string;
deserializeMessage?: (msg: Message) => any;
ackIfNoHandler?: boolean;
logger?: Logger;
};

@Injectable()
Expand All @@ -69,7 +72,7 @@ export class PubSubTransport extends Server implements CustomTransportStrategy {
ackIfNoHandler,
}: PubSubTransportConfig,
@Optional()
@Inject(LoggerToken)
@Inject(WINSTON_MODULE_PROVIDER)
private log?: Logger
) {
super();
Expand Down

0 comments on commit bc2f216

Please sign in to comment.