33 lines
966 B
JavaScript
33 lines
966 B
JavaScript
|
const { User } = require('../models');
|
||
|
|
||
|
// アカウントセットアップページを表示
|
||
|
exports.showAccountSetupPage = (req, res) => {
|
||
|
res.render('accountSetup', { user: req.user, hideSidebar: true });
|
||
|
};
|
||
|
|
||
|
// アカウント作成処理
|
||
|
exports.handleAccountSetup = async (req, res) => {
|
||
|
try {
|
||
|
const { name, email, agreeToTerms } = req.body;
|
||
|
|
||
|
if (!agreeToTerms) {
|
||
|
return res.status(400).send('利用規約に同意する必要があります');
|
||
|
}
|
||
|
|
||
|
const user = await User.findByPk(req.user.id);
|
||
|
|
||
|
// ユーザー情報を更新
|
||
|
user.name = name;
|
||
|
user.email = email;
|
||
|
user.isAccountSetupComplete = true;
|
||
|
|
||
|
await user.save();
|
||
|
|
||
|
// アカウント登録が完了したら同位体作成画面へリダイレクト
|
||
|
res.redirect('/isotope');
|
||
|
} catch (error) {
|
||
|
console.error('アカウント登録に失敗しました:', error);
|
||
|
res.status(500).send('アカウント登録に失敗しました');
|
||
|
}
|
||
|
};
|