Skip to content

Commit 01522a3

Browse files
committed
add schema validation
1 parent 84a7a9d commit 01522a3

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

src/rooms/gateways/rooms.gateway.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
1-
import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets';
1+
import { ZodPipe } from '@/shared/pipes/zod.pipe';
2+
import {
3+
ConnectedSocket,
4+
MessageBody,
5+
SubscribeMessage,
6+
WebSocketGateway,
7+
} from '@nestjs/websockets';
28
import { Socket } from 'socket.io';
9+
import { z } from 'zod';
10+
11+
const joinRoomSchema = z.string();
12+
const leaveRoomSchema = z.string();
313

414
@WebSocketGateway()
515
export class RoomsGateway {
616
@SubscribeMessage('join')
7-
join(client: Socket, room: string): string[] {
17+
join(
18+
@ConnectedSocket() client: Socket,
19+
@MessageBody(new ZodPipe(joinRoomSchema))
20+
room: z.infer<typeof joinRoomSchema>,
21+
): string[] {
822
client.join(room);
923
return Array.from(client.rooms);
1024
}
1125

1226
@SubscribeMessage('leave')
13-
leave(client: Socket, room: string): string[] {
27+
leave(
28+
@ConnectedSocket() client: Socket,
29+
@MessageBody(new ZodPipe(leaveRoomSchema))
30+
room: z.infer<typeof leaveRoomSchema>,
31+
): string[] {
1432
client.leave(room);
1533
return Array.from(client.rooms);
1634
}

0 commit comments

Comments
 (0)