diff --git a/apps/e-commerce/src/backend/controllers/CouponController.js b/apps/e-commerce/src/backend/controllers/CouponController.js index dced780..5d0f510 100644 --- a/apps/e-commerce/src/backend/controllers/CouponController.js +++ b/apps/e-commerce/src/backend/controllers/CouponController.js @@ -10,6 +10,16 @@ import { Response } from "miragejs"; * send GET Request at /api/coupon * */ -export const getAllCouponsHandler = function () { - return new Response(200, {}, { coupons: this.db.coupons }); + export const getAllCouponsHandler = function () { + try { + return new Response(200, {}, { coupons: this.db.coupons }); + } catch (error) { + return new Response( + 500, + {}, + { + error, + } + ); + } }; diff --git a/apps/e-commerce/src/server.js b/apps/e-commerce/src/server.js index 3c676f9..e6536ae 100644 --- a/apps/e-commerce/src/server.js +++ b/apps/e-commerce/src/server.js @@ -31,6 +31,7 @@ import { import { categories } from "./backend/db/categories"; import { products } from "./backend/db/products"; import { users } from "./backend/db/users"; +import { coupons } from "./backend/db/coupons"; export function makeServer({ environment = "development" } = {}) { return new Server({ @@ -60,6 +61,7 @@ export function makeServer({ environment = "development" } = {}) { ); categories.forEach((item) => server.create("category", { ...item })); + coupons.forEach((item) => server.create("coupon", { ...item })); }, routes() { diff --git a/website/docs/api/apps/e-commerce.md b/website/docs/api/apps/e-commerce.md index f307b86..fe1d0cf 100644 --- a/website/docs/api/apps/e-commerce.md +++ b/website/docs/api/apps/e-commerce.md @@ -238,3 +238,25 @@ The following Routes are relating to User's Wishlist. These are private routes. ``` - **Functionality**: This API call removes a product from the wishlist of the user in the db. + +--- + +## Coupons Routes + +The following Routes are relating to Coupons. These are Publicly accessible routes. + +### 1. GET `/api/coupon` + +- **Request URL**: `/api/coupon` +- **HTTP Method**: GET +- **Response Body**: + + ```js + { + data: { + coupons: Array; + } + } + ``` + +- **Functionality**: This API call gets all coupons from the db. \ No newline at end of file