Skip to content

Commit

Permalink
update endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
olawuwo-abideen committed Feb 21, 2025
1 parent 8fb03a7 commit 573b9b2
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 44 deletions.
1 change: 1 addition & 0 deletions logs/index.log
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2025-02-21 15:35:31 error : Email already exists
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"main": "index.js",

"scripts": {
"start": "node dist/index.js",
"start": "nodemon dist/index.js",
"dev": "nodemon --exec ts-node-dev src/index.js",
"build": "tsc && cp -r src/template dist/",
"postinstall": "npm run build"
Expand Down
15 changes: 8 additions & 7 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,12 @@ app.use((err: TypeError, req: Request, res: Response, next: NextFunction) => {
} catch (e) {}
});

app.use('/', UserRouter);
app.use('/', AccountRouter);
app.use('/', TransactionRouter);
app.use('/', AdminRouter);
app.use('/users', UserRouter);
app.use('/accounts', AccountRouter);
app.use('/transactions', TransactionRouter);
app.use('/admin', AdminRouter);

// app.use("/posts", postRouter);

const options = {
definition: {
Expand All @@ -72,9 +73,9 @@ const options = {
},
servers: [
{
url: "https://nodejs-swagger-api.vercel.app/",
url: "https://fintechapp-dnxa.onrender.com/",
description: "My API Documentation",
},
},
],
},
apis: ["./dist/routers/*.js"]
Expand All @@ -83,7 +84,7 @@ const options = {
const specs = swaggerJsDoc(options);

app.get("/", (req: Request, res: Response) => {
res.redirect(301, "/api-docs/");
res.redirect(301, "");
});

app.use(
Expand Down
26 changes: 13 additions & 13 deletions src/routers/accountRouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const accountController = container.resolve(AccountController);

/**
* @swagger
* /account/create-account:
* /accounts/create-account:
* post:
* summary: Create a new account
* tags: [Accounts]
Expand All @@ -41,7 +41,7 @@ const accountController = container.resolve(AccountController);
* 400:
* description: Invalid request data
*/
router.post('/account/create-account/', validator(ValidationSchema.createAccountSchema), Auth(), (req: Request, res: Response) => {
router.post('/create-account', validator(ValidationSchema.createAccountSchema), Auth(), (req: Request, res: Response) => {
return accountController.createAccount(req, res);
});

Expand All @@ -59,13 +59,13 @@ router.post('/account/create-account/', validator(ValidationSchema.createAccount
* 401:
* description: Unauthorized
*/
router.get('/accounts', Auth(), (req: Request, res: Response) => {
router.get('/', Auth(), (req: Request, res: Response) => {
return accountController.getAllUserAccounts(req, res);
});

/**
* @swagger
* /account/{id}:
* /accounts/{id}:
* get:
* summary: Get account details by ID
* tags: [Accounts]
Expand All @@ -84,13 +84,13 @@ router.get('/accounts', Auth(), (req: Request, res: Response) => {
* 404:
* description: Account not found
*/
router.get('/account/:id', Auth(), (req: Request, res: Response) => {
router.get('/:id', Auth(), (req: Request, res: Response) => {
return accountController.getUserAccount(req, res);
});

/**
* @swagger
* /account/payee/list:
* /accounts/payee/list:
* get:
* summary: Get all payees
* tags: [Accounts]
Expand All @@ -102,13 +102,13 @@ router.get('/account/:id', Auth(), (req: Request, res: Response) => {
* 401:
* description: Unauthorized
*/
router.get('/account/payee/list', Auth(), (req: Request, res: Response) => {
router.get('/payee/list', Auth(), (req: Request, res: Response) => {
return accountController.getAllUserPayee(req, res);
});

/**
* @swagger
* /account/payee/{id}:
* /accounts/payee/{id}:
* get:
* summary: Get payee details by ID
* tags: [Accounts]
Expand All @@ -127,13 +127,13 @@ router.get('/account/payee/list', Auth(), (req: Request, res: Response) => {
* 404:
* description: Payee not found
*/
router.get('/account/payee/:id', Auth(), (req: Request, res: Response) => {
router.get('/payee/:id', Auth(), (req: Request, res: Response) => {
return accountController.getUserPayee(req, res);
});

/**
* @swagger
* /account/loan-application:
* /accounts/loan-application:
* post:
* summary: Apply for a loan
* tags: [Accounts]
Expand All @@ -157,13 +157,13 @@ router.get('/account/payee/:id', Auth(), (req: Request, res: Response) => {
* 400:
* description: Invalid request data
*/
router.post('/account/loan-application', validator(ValidationSchema.loanApplication), Auth(), (req: Request, res: Response) => {
router.post('/loan-application', validator(ValidationSchema.loanApplication), Auth(), (req: Request, res: Response) => {
return accountController.applyLoan(req, res);
});

/**
* @swagger
* /account/loan/list:
* /accounts/loan/list:
* get:
* summary: Get all loan applications for the user
* tags: [Accounts]
Expand All @@ -175,7 +175,7 @@ router.post('/account/loan-application', validator(ValidationSchema.loanApplicat
* 401:
* description: Unauthorized
*/
router.get('/account/loan/list', Auth(), (req: Request, res: Response) => {
router.get('/loan/list', Auth(), (req: Request, res: Response) => {
return accountController.getAllUserLoan(req, res);
});

Expand Down
16 changes: 8 additions & 8 deletions src/routers/adminRouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const transactionController = container.resolve(TransactionController);
* 401:
* description: Unauthorized
*/
router.get('/admin/users', AdminAuth(), (req: Request, res: Response) => {
router.get('/users', AdminAuth(), (req: Request, res: Response) => {
return userController.getAllUsersByAdmin(req, res);
});

Expand All @@ -57,7 +57,7 @@ router.get('/admin/users', AdminAuth(), (req: Request, res: Response) => {
* 404:
* description: User not found
*/
router.get('/admin/user/:id', AdminAuth(), (req: Request, res: Response) => {
router.get('/user/:id', AdminAuth(), (req: Request, res: Response) => {
return userController.getSingleUserById(req, res);
});

Expand Down Expand Up @@ -89,7 +89,7 @@ router.get('/admin/user/:id', AdminAuth(), (req: Request, res: Response) => {
* 400:
* description: Invalid request data
*/
router.post('/admin/user/status', validator(ValidationSchema.setAccountStatusSchema), AdminAuth(), (req: Request, res: Response) => {
router.post('/status', validator(ValidationSchema.setAccountStatusSchema), AdminAuth(), (req: Request, res: Response) => {
return userController.setAccountStatus(req, res);
});

Expand All @@ -107,7 +107,7 @@ router.post('/admin/user/status', validator(ValidationSchema.setAccountStatusSch
* 401:
* description: Unauthorized
*/
router.get('/admin/accounts', AdminAuth(), (req: Request, res: Response) => {
router.get('/', AdminAuth(), (req: Request, res: Response) => {
return accountController.getAllUserAccountsAdmin(req, res);
});

Expand All @@ -132,7 +132,7 @@ router.get('/admin/accounts', AdminAuth(), (req: Request, res: Response) => {
* 404:
* description: Account not found
*/
router.get('/admin/account/:id', AdminAuth(), (req: Request, res: Response) => {
router.get('/account/:id', AdminAuth(), (req: Request, res: Response) => {
return accountController.getUserAccountAdmin(req, res);
});

Expand All @@ -150,7 +150,7 @@ router.get('/admin/account/:id', AdminAuth(), (req: Request, res: Response) => {
* 401:
* description: Unauthorized
*/
router.get('/admin/transactions', AdminAuth(), (req: Request, res: Response) => {
router.get('/transactions', AdminAuth(), (req: Request, res: Response) => {
return transactionController.getAllUserTransactionsAdmin(req, res);
});

Expand All @@ -168,7 +168,7 @@ router.get('/admin/transactions', AdminAuth(), (req: Request, res: Response) =>
* 401:
* description: Unauthorized
*/
router.get('/admin/loans', AdminAuth(), (req: Request, res: Response) => {
router.get('/loans', AdminAuth(), (req: Request, res: Response) => {
return accountController.getLoansAdmin(req, res);
});

Expand Down Expand Up @@ -200,7 +200,7 @@ router.get('/admin/loans', AdminAuth(), (req: Request, res: Response) => {
* 400:
* description: Invalid loan ID or status
*/
router.post('/admin/loans/status', validator(AccountValidationSchema.approveOrDeclineLoanSchema), AdminAuth(), (req: Request, res: Response) => {
router.post('/loans/status', validator(AccountValidationSchema.approveOrDeclineLoanSchema), AdminAuth(), (req: Request, res: Response) => {
return accountController.approveOrDeclineLoanByAdmin(req, res);
});

Expand Down
12 changes: 6 additions & 6 deletions src/routers/transactionRouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const transactionController = container.resolve(TransactionController);
* 400:
* description: Bad request
*/
router.post('/transactions/initiate-deposit', validator(ValidationSchema.initiatePaystackDeposit), Auth(), (req: Request, res: Response) =>
router.post('/initiate-deposit', validator(ValidationSchema.initiatePaystackDeposit), Auth(), (req: Request, res: Response) =>
transactionController.initiatePaystackDeposit(req, res)
);

Expand Down Expand Up @@ -70,7 +70,7 @@ router.post('/transactions/initiate-deposit', validator(ValidationSchema.initiat
* 400:
* description: Invalid transaction reference
*/
router.post('/transactions/verify-deposit', validator(ValidationSchema.verifyPaystackDeposit), Auth(), (req: Request, res: Response) =>
router.post('/verify-deposit', validator(ValidationSchema.verifyPaystackDeposit), Auth(), (req: Request, res: Response) =>
transactionController.verifyPaystackDeposit(req, res)
);

Expand Down Expand Up @@ -105,7 +105,7 @@ router.post('/transactions/verify-deposit', validator(ValidationSchema.verifyPay
* 400:
* description: Insufficient balance or invalid recipient
*/
router.post('/transactions/transfer', validator(ValidationSchema.makeInternalTransferSchema), Auth(), (req: Request, res: Response) =>
router.post('/transfer', validator(ValidationSchema.makeInternalTransferSchema), Auth(), (req: Request, res: Response) =>
transactionController.internalTransfer(req, res)
);

Expand Down Expand Up @@ -141,7 +141,7 @@ router.post('/transactions/transfer', validator(ValidationSchema.makeInternalTra
* 400:
* description: Invalid account details
*/
router.post('/transactions/withdrawal', validator(ValidationSchema.makeWithdrawalByPaystack), Auth(), (req: Request, res: Response) =>
router.post('/withdrawal', validator(ValidationSchema.makeWithdrawalByPaystack), Auth(), (req: Request, res: Response) =>
transactionController.withdrawByPaystack(req, res)
);

Expand All @@ -159,7 +159,7 @@ router.post('/transactions/withdrawal', validator(ValidationSchema.makeWithdrawa
* 401:
* description: Unauthorized
*/
router.get('/transactions/', Auth(), (req: Request, res: Response) => {
router.get('/transactions', Auth(), (req: Request, res: Response) => {
return transactionController.getAllUserTransactions(req, res);
});

Expand All @@ -184,7 +184,7 @@ router.get('/transactions/', Auth(), (req: Request, res: Response) => {
* 404:
* description: Transaction not found
*/
router.get('/transaction/:id', Auth(), (req: Request, res: Response) => {
router.get('/:id', Auth(), (req: Request, res: Response) => {
return transactionController.getUserTransaction(req, res);
});

Expand Down
18 changes: 9 additions & 9 deletions src/routers/userRouter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const userController = container.resolve(UserController);

/**
* @swagger
* /auth/signup:
* /users/signup:
* post:
* summary: User signup
* tags: [Users]
Expand Down Expand Up @@ -44,13 +44,13 @@ const userController = container.resolve(UserController);
* 400:
* description: Bad request (Validation error)
*/
router.post('/auth/signup', validator(ValidationSchema.registerSchema), (req: Request, res: Response) => {
router.post('/signup', validator(ValidationSchema.registerSchema), (req: Request, res: Response) => {
return userController.register(req, res);
});

/**
* @swagger
* /auth/login:
* /users/login:
* post:
* summary: User login
* tags: [Users]
Expand All @@ -74,13 +74,13 @@ router.post('/auth/signup', validator(ValidationSchema.registerSchema), (req: Re
* 401:
* description: Unauthorized - Incorrect credentials
*/
router.post('/auth/login', validator(ValidationSchema.loginSchema), (req: Request, res: Response) => {
router.post('/login', validator(ValidationSchema.loginSchema), (req: Request, res: Response) => {
return userController.login(req, res);
});

/**
* @swagger
* /auth/forgot-password:
* /users/forgot-password:
* post:
* summary: Request a password reset email
* tags: [Users]
Expand All @@ -101,13 +101,13 @@ router.post('/auth/login', validator(ValidationSchema.loginSchema), (req: Reques
* 400:
* description: Invalid email
*/
router.post('/auth/forgot-password', validator(ValidationSchema.forgotPasswordSchema), (req: Request, res: Response) => {
router.post('/forgot-password', validator(ValidationSchema.forgotPasswordSchema), (req: Request, res: Response) => {
return userController.forgotPassword(req, res);
});

/**
* @swagger
* /auth/reset-password:
* /users/reset-password:
* post:
* summary: Reset user password
* tags: [Users]
Expand All @@ -132,13 +132,13 @@ router.post('/auth/forgot-password', validator(ValidationSchema.forgotPasswordSc
* 400:
* description: Invalid token or weak password
*/
router.post('/auth/reset-password', validator(ValidationSchema.resetPasswordSchema), (req: Request, res: Response) => {
router.post('/reset-password', validator(ValidationSchema.resetPasswordSchema), (req: Request, res: Response) => {
return userController.resetPassword(req, res);
});

/**
* @swagger
* /profile:
* /users/profile:
* get:
* summary: Get the authenticated user's profile
* tags: [Users]
Expand Down

0 comments on commit 573b9b2

Please sign in to comment.