Module: controllers/userController

Controller for user-related operations like registration and login.

Source:

Requires

  • module:../models/userModel
  • module:jsonwebtoken

Methods

(async, static) loginUser(req, res) → {Promise.<void>}

Authenticates an existing user and returns a JWT.

  • Verifies email and password.
  • Returns user details and a JWT if credentials are valid.
Parameters:
Name Type Description
req Object

Express request object (contains email and password in body).

res Object

Express response object.

Source:
Returns:
Type
Promise.<void>

(async, static) registerUser(req, res) → {Promise.<void>}

Registers a new user.

  • Validates that the email is unique.
  • Creates a new user in the database.
  • Returns user details and a JWT on success.
Parameters:
Name Type Description
req Object

Express request object (contains name, email, password, and optional role in body).

res Object

Express response object.

Source:
Returns:
Type
Promise.<void>