♻️ refactor(account, order, plan, profile, support, email): restructure application modules and enhance error handling
Updated Docker configuration, refactored middleware for improved error handling, and restructured account, order, plan, profile, and support modules, including their routes, services, and validations. Enhanced email processing queues and utilities for token generation, pagination, and response management to streamline the application architecture and enhance maintainability.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { configs } from "../../configs";
|
||||
import catchAsync from "../../utils/catch_async";
|
||||
import manageResponse from "../../utils/manage_response";
|
||||
import { account_services } from "./account.service";
|
||||
import { configs } from "../../configs/index.js";
|
||||
import catchAsync from "../../utils/catch_async.js";
|
||||
import manageResponse from "../../utils/manage_response.js";
|
||||
import { account_services } from "./account.service.js";
|
||||
|
||||
const create_account = catchAsync(async (req, res) => {
|
||||
const result = await account_services.create_account_into_db(req);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Router } from "express";
|
||||
import auth from "../../middlewares/auth";
|
||||
import RequestValidator from "../../middlewares/request_validator";
|
||||
import { account_controller } from "./account.controller";
|
||||
import { account_validation } from "./account.validation";
|
||||
import auth from "../../middlewares/auth.js";
|
||||
import RequestValidator from "../../middlewares/request_validator.js";
|
||||
import { account_controller } from "./account.controller.js";
|
||||
import { account_validation } from "./account.validation.js";
|
||||
|
||||
const accountRouter = Router();
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import bcrypt from "bcrypt";
|
||||
import { Request } from "express";
|
||||
import { configs } from "../../configs";
|
||||
import { prisma } from "../../lib/prisma";
|
||||
import { emailQueue } from "../../queues/email/email.queue";
|
||||
import { AppError } from "../../utils/app_error";
|
||||
import { jwtHelpers } from "../../utils/JWT";
|
||||
import sendMail from "../../utils/mail_sender";
|
||||
import { otpGenerator } from "../../utils/otpGenerator";
|
||||
import { configs } from "../../configs/index.js";
|
||||
import { prisma } from "../../lib/prisma.js";
|
||||
import { emailQueue } from "../../queues/email/email.queue.js";
|
||||
import { AppError } from "../../utils/app_error.js";
|
||||
import { jwtHelpers } from "../../utils/JWT.js";
|
||||
import sendMail from "../../utils/mail_sender.js";
|
||||
import { otpGenerator } from "../../utils/otpGenerator.js";
|
||||
|
||||
const create_account_into_db = async (req: Request) => {
|
||||
const payload = req?.body;
|
||||
@@ -22,7 +22,7 @@ const create_account_into_db = async (req: Request) => {
|
||||
const hashPassword = bcrypt.hashSync(payload.password, 10);
|
||||
|
||||
// create account and profile
|
||||
const result = await prisma.$transaction(async (tx) => {
|
||||
const result = await prisma.$transaction(async (tx:any) => {
|
||||
const account = await tx.account.create({
|
||||
data: {
|
||||
email: payload.email,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import catchAsync from "../../utils/catch_async";
|
||||
import manageResponse from "../../utils/manage_response";
|
||||
import { order_service } from "./order.service";
|
||||
import catchAsync from "../../utils/catch_async.js";
|
||||
import manageResponse from "../../utils/manage_response.js";
|
||||
import { order_service } from "./order.service.js";
|
||||
|
||||
const get_all_order = catchAsync(async (req, res) => {
|
||||
const result = await order_service.get_all_order_from_db(req);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
import { Router } from "express";
|
||||
import RequestValidator from "../../middlewares/request_validator";
|
||||
import { order_controller } from "./order.controller";
|
||||
import { order_validations } from "./order.validation";
|
||||
import auth from "../../middlewares/auth";
|
||||
import RequestValidator from "../../middlewares/request_validator.js";
|
||||
import { order_controller } from "./order.controller.js";
|
||||
import { order_validations } from "./order.validation.js";
|
||||
import auth from "../../middlewares/auth.js";
|
||||
|
||||
const router = Router();
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Request } from "express";
|
||||
import { configs } from "../../configs";
|
||||
import { prisma } from "../../lib/prisma";
|
||||
import { orderEmailQueue } from "../../queues/email/order/order.email.queue";
|
||||
import { AppError } from "../../utils/app_error";
|
||||
import paginationHelper from "../../utils/pagination_helper";
|
||||
import { configs } from "../../configs/index.js";
|
||||
import { prisma } from "../../lib/prisma.js";
|
||||
import { orderEmailQueue } from "../../queues/email/order/order.email.queue.js";
|
||||
import { AppError } from "../../utils/app_error.js";
|
||||
import paginationHelper from "../../utils/pagination_helper.js";
|
||||
|
||||
const get_all_order_from_db = async (req: Request) => {
|
||||
// define your own login here
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import catchAsync from "../../utils/catch_async";
|
||||
import manageResponse from "../../utils/manage_response";
|
||||
import { plan_service } from "./plan.service";
|
||||
import catchAsync from "../../utils/catch_async.js";
|
||||
import manageResponse from "../../utils/manage_response.js";
|
||||
import { plan_service } from "./plan.service.js";
|
||||
|
||||
const get_all_plan = catchAsync(async (req, res) => {
|
||||
const result = await plan_service.get_all_plan_from_db(req);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
import { Router } from "express";
|
||||
import RequestValidator from "../../middlewares/request_validator";
|
||||
import { plan_controller } from "./plan.controller";
|
||||
import { plan_validations } from "./plan.validation";
|
||||
import RequestValidator from "../../middlewares/request_validator.js";
|
||||
import { plan_controller } from "./plan.controller.js";
|
||||
import { plan_validations } from "./plan.validation.js";
|
||||
|
||||
const router = Router();
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import { Request } from "express";
|
||||
import { prisma } from "../../lib/prisma";
|
||||
import { AppError } from "../../utils/app_error";
|
||||
import { prisma } from "../../lib/prisma.js";
|
||||
import { AppError } from "../../utils/app_error.js";
|
||||
|
||||
const get_all_plan_from_db = async (req: Request) => {
|
||||
// define your own login here
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import catchAsync from "../../utils/catch_async";
|
||||
import manageResponse from "../../utils/manage_response";
|
||||
import { profile_service } from "./profile.service";
|
||||
import catchAsync from "../../utils/catch_async.js";
|
||||
import manageResponse from "../../utils/manage_response.js";
|
||||
import { profile_service } from "./profile.service.js";
|
||||
|
||||
const update_profile = catchAsync(async (req, res) => {
|
||||
const result = await profile_service.update_profile_into_db(req);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Router } from "express";
|
||||
import RequestValidator from "../../middlewares/request_validator";
|
||||
import { profile_controller } from "./profile.controller";
|
||||
import { profile_validations } from "./profile.validation";
|
||||
import auth from "../../middlewares/auth";
|
||||
import uploader from "../../middlewares/uploader";
|
||||
import RequestValidator from "../../middlewares/request_validator.js";
|
||||
import { profile_controller } from "./profile.controller.js";
|
||||
import { profile_validations } from "./profile.validation.js";
|
||||
import auth from "../../middlewares/auth.js";
|
||||
import uploader from "../../middlewares/uploader.js";
|
||||
|
||||
const router = Router();
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request } from "express";
|
||||
import uploadCloud from "../../utils/cloudinary";
|
||||
import { prisma } from "../../lib/prisma";
|
||||
import { JwtPayloadType } from "../../utils/JWT";
|
||||
import uploadCloud from "../../utils/cloudinary.js";
|
||||
import { prisma } from "../../lib/prisma.js";
|
||||
import { JwtPayloadType } from "../../utils/JWT.js";
|
||||
|
||||
const update_profile_into_db = async (req: Request) => {
|
||||
const user = req?.user as JwtPayloadType;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
import { Request, Response } from "express";
|
||||
import catchAsync from "../../utils/catch_async";
|
||||
import manageResponse from "../../utils/manage_response";
|
||||
import { support_service } from "./support.service";
|
||||
import catchAsync from "../../utils/catch_async.js";
|
||||
import manageResponse from "../../utils/manage_response.js";
|
||||
import { support_service } from "./support.service.js";
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
import { Router } from "express";
|
||||
import RequestValidator from "../../middlewares/request_validator";
|
||||
import { support_controller } from "./support.controller";
|
||||
import { support_validations } from "./support.validation";
|
||||
import auth from "../../middlewares/auth";
|
||||
import RequestValidator from "../../middlewares/request_validator.js";
|
||||
import { support_controller } from "./support.controller.js";
|
||||
import { support_validations } from "./support.validation.js";
|
||||
import auth from "../../middlewares/auth.js";
|
||||
|
||||
const router = Router();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { prisma } from "../../lib/prisma";
|
||||
import { Prisma } from "../../../../prisma/generated/prisma/client";
|
||||
import { AppError } from "../../utils/app_error";
|
||||
import { prisma } from "../../lib/prisma.js";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { AppError } from "../../utils/app_error.js";
|
||||
|
||||
const createSupportIntoDB = async (payload: any) => {
|
||||
const result = await prisma.support.create({ data: payload });
|
||||
|
||||
Reference in New Issue
Block a user