Skip to content

Commit 653068a

Browse files
committed
chore(ws): Simplify code
1 parent 661baef commit 653068a

File tree

1 file changed

+16
-36
lines changed

1 file changed

+16
-36
lines changed

src/websocket/wizard.gateway.ts

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,54 +28,34 @@ export class WizardGateway implements OnGatewayConnection, OnGatewayDisconnect {
2828

2929
constructor(private readonly wizardService: WizardService) {}
3030

31-
handleConnection(client: Socket) {
32-
this.logger.log(`Client connected: ${client.id}`);
33-
}
31+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
32+
handleConnection(client: Socket) {}
3433

35-
handleDisconnect(client: Socket) {
36-
this.logger.log(`Client disconnected: ${client.id}`);
37-
}
34+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
35+
handleDisconnect(client: Socket) {}
3836

3937
@UseGuards(WsJwtGuard)
4038
@SubscribeMessage('ask')
4139
async handleAsk(
4240
@MessageBody() data: AgentRequestDto,
4341
@ConnectedSocket() client: Socket,
4442
) {
45-
const userId = client.data.userId;
46-
const requestId = client.handshake.headers['x-request-id'] as string;
47-
48-
try {
49-
const observable = await this.wizardService.streamService.agentStream(
50-
userId,
51-
data,
52-
requestId,
53-
'ask',
54-
);
55-
56-
observable.subscribe({
57-
next: (message) => {
58-
client.emit('message', message.data);
59-
},
60-
error: (error) => {
61-
this.logger.error('Error in ask stream', error);
62-
client.emit('error', { error: error.message });
63-
},
64-
complete: () => {
65-
client.emit('complete');
66-
},
67-
});
68-
} catch (error) {
69-
this.logger.error('Error handling ask', error);
70-
client.emit('error', { error: error.message });
71-
}
43+
await this.handleAgentStream(client, data, 'ask');
7244
}
7345

7446
@UseGuards(WsJwtGuard)
7547
@SubscribeMessage('write')
7648
async handleWrite(
7749
@MessageBody() data: AgentRequestDto,
7850
@ConnectedSocket() client: Socket,
51+
) {
52+
await this.handleAgentStream(client, data, 'write');
53+
}
54+
55+
private async handleAgentStream(
56+
client: Socket,
57+
data: AgentRequestDto,
58+
eventType: 'ask' | 'write',
7959
) {
8060
const userId = client.data.userId;
8161
const requestId = client.handshake.headers['x-request-id'] as string;
@@ -85,23 +65,23 @@ export class WizardGateway implements OnGatewayConnection, OnGatewayDisconnect {
8565
userId,
8666
data,
8767
requestId,
88-
'write',
68+
eventType,
8969
);
9070

9171
observable.subscribe({
9272
next: (message) => {
9373
client.emit('message', message.data);
9474
},
9575
error: (error) => {
96-
this.logger.error('Error in write stream', error);
76+
this.logger.error(`Error in ${eventType} stream`, error);
9777
client.emit('error', { error: error.message });
9878
},
9979
complete: () => {
10080
client.emit('complete');
10181
},
10282
});
10383
} catch (error) {
104-
this.logger.error('Error handling write', error);
84+
this.logger.error(`Error handling ${eventType}`, error);
10585
client.emit('error', { error: error.message });
10686
}
10787
}

0 commit comments

Comments
 (0)