Hello everyone. I'm trying to execute a custom decorator but to no avail. Am I doing something wrong here?
This is the gateway:
`import { UseGuards } from '@nestjs/common';
import {
MessageBody,
SubscribeMessage,
WebSocketGateway,
WebSocketServer,
OnGatewayConnection,
OnGatewayDisconnect,
OnGatewayInit,
} from '@nestjs/websockets';
import { GetAdmin } from 'src/auth/decorators/getAdmin';
import { SocketGuard } from 'src/auth/guard/socket.guard';
@WebSocketGateway({
cors: true,
})
@UseGuards(SocketGuard)
export class MyGateway
implements OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit
{
@WebSocketServer()
server: any;
@SubscribeMessage('getData')
handleInitConnect(@GetAdmin() client: any, @MessageBody() data: string) {
console.log('admin:', client, data);
}
handleConnection() {
console.log('connected');
}
handleDisconnect() {
console.log('disconnected');
}
afterInit() {
console.log('Socket is live');
}
}`
And this is the custom decorator:
`import { createParamDecorator, ExecutionContext } from '@nestjs/common';
export const GetAdmin = createParamDecorator(
async (data: unknown, context: ExecutionContext) => {
console.log('GetAdmin decorator executed');
const socket = context.switchToWs();
const client = socket.getClient();
return;
},
);`
I can't even get the console.log in the custom decorator to work.