1. Home
  2. Nodejs Boilerplate
  3. প্রজেক্ট তৈরী ও কনফিগ করা
  4. ৮। Helper ফাইল তৈরি করা (userHelper.js)

৮। Helper ফাইল তৈরি করা (userHelper.js)

এখানে আমরা একটি userHelper.js ফাইল তৈরি করবো, যেখানে ইউজারের সাথে সম্পর্কিত কিছু হেল্পার ফাংশন থাকবে। তারপর সেই হেল্পার ফাংশনগুলো userService.js ফাইলে ব্যবহার করবো।

Step 1: User হেল্পার মেথড তৈরি করা (userHelper.js)

এই ফাইলে আমরা কিছু সাধারণ হেল্পার মেথড তৈরি করবো, যেমন – ইমেইল দিয়ে ইউজার খোঁজা, ইউজার আপডেট বা ডিলিট চেক করা, ইত্যাদি।

// helpers/userHelper.js

const  User  = require("../models/User");
const ApiError = require("../utils/ApiError");
const HTTP_STATUS_CODES = require("../constants/httpStatus.js");

/**
 * Check if a user with the given email exists
 * @param {string} email - User's email
 * @returns {Promise<boolean>}
 */
const isUserExistsByEmail = async (email) => {
  const user = await User.findOne({ where: { email } });
  return !!user;
};

/**
 * Find a user by ID
 * @param {number} userId - User ID
 * @returns {Promise<User>}
 */
const findUserById = async (userId) => {
  const user = await User.findByPk(userId);
  if (!user) {
    throw new ApiError(HTTP_STATUS_CODES.NOT_FOUND, "User not found");
  }
  return user;
};

/**
 * Validate if the user can be updated or deleted
 * @param {number} userId - User ID
 * @returns {Promise<void>}
 */
const validateUserUpdateOrDelete = async (userId) => {
  const userExists = await User.findByPk(userId);
  if (!userExists) {
    throw new ApiError(HTTP_STATUS_CODES.NOT_FOUND, "User not found for update/delete");
  }
};

module.exports = {
  isUserExistsByEmail,
  findUserById,
  validateUserUpdateOrDelete,
};

How can we help?