const { Isotope } = require('../models'); const { generateInitialGreeting } = require('./chatController'); // 同位体作成ページを表示 exports.showCreateIsotopePage = async (req, res) => { try { // すでに同位体を作成しているか確認 const existingBot = await Isotope.findOne({ where: { user_id: req.user.id } }); if (existingBot) { return res.status(400).send('すでに同位体を作成しています。'); } res.render('createIsotope', { hideSidebar: true }); } catch (error) { console.error('同位体情報の登録ページの表示中にエラーが発生しました:', error); res.status(500).send('同位体情報の登録ページの表示に失敗しました'); } }; // 同位体を作成 exports.createIsotope = async (req, res) => { try { const { name, firstPerson, personality, tone, backgroundStory, likes, dislikes } = req.body; // 同位体作成処理 const newIsotope = await Isotope.create({ name, firstPerson, personality, tone, backgroundStory, likes, dislikes, user_id: req.user.id }); // 同位体作成後、初回挨拶メッセージを生成 await generateInitialGreeting(req.user.id, newIsotope.id); // 同位体作成後、ダッシュボードにリダイレクト res.redirect('/dashboard'); } catch (error) { console.error('同位体情報の登録中にエラーが発生しました:', error); res.status(500).json({ error: '同位体情報の登録中にエラーが発生しました' }); } };