const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 3000 });

wss.on('connection', (ws) => {
  let isAuthenticated = false;
  
  ws.on('message', (message) => {
    if (!isAuthenticated) {
      try {
        const authMessage = JSON.parse(message);
        if (authMessage.type === 'auth' && 
            authMessage.username === 'user' && 
            authMessage.password === 'password') {
          isAuthenticated = true;
          ws.send(JSON.stringify({ type: 'auth', status: 'success' }));
        } else {
          ws.close();
        }
      } catch (err) {
        ws.close();
      }
      return;
    }
    // 認証後のメッセージ処理
    if (isAuthenticated) {
      // 通常のメッセージ処理
    }
  });
});