diff options
| author | Daniel Andreas Wang <danielaw@tilde.club> | 2026-03-14 15:37:31 +0100 |
|---|---|---|
| committer | Daniel Andreas Wang <danielaw@tilde.club> | 2026-03-14 15:37:31 +0100 |
| commit | f4f6f490ab0bb1a2a06d660ce1b276a4fad9d2c2 (patch) | |
| tree | 9c9af5b4f49274fd1a62627b8879caf616d25a93 /backend/src/controllers/user.controller.js | |
Diffstat (limited to 'backend/src/controllers/user.controller.js')
| -rw-r--r-- | backend/src/controllers/user.controller.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/backend/src/controllers/user.controller.js b/backend/src/controllers/user.controller.js new file mode 100644 index 0000000..b5d2048 --- /dev/null +++ b/backend/src/controllers/user.controller.js @@ -0,0 +1,33 @@ +import { User } from '../models/user.model.js' + +const registerUser = async (req, res) => { + try { + const { username, email, password } = req.body + + if (!username || !email || !password) { + return res.status(400).json({ message: 'All fields are important!'}) + } + + const existing = await User.findOne({ email: email.toLowerCase() }) + if (existing) { + return res.status(400).json({ message: 'User already exists.'}) + } + + const user = await User.create({ + username, + email: email.toLowerCase(), + password, + }) + + res.status(201).json({ + message: 'User registered.', + user: { id: user._id, email: user.email, username: user.username } + }) + } catch (error) { + res.status(500).json({ message: 'Internal server error!', error: error.message }) + } +} + +export { + registerUser +} |
