@@ -5,6 +5,7 @@ import cors from "npm:cors";
55import { Server } from "npm:socket.io" ;
66import { MockDatabase } from "./database/MockDatabase.ts" ;
77import { OrderHandler } from "./handlers/OrderHandler.ts" ;
8+ import { ProductHandler } from "./handlers/ProductHandler.ts" ;
89import { addMessage } from "./lc/model.ts" ;
910import { ValidateJWT } from "./middlewares/ValidateJWT.ts" ;
1011import { AuthenticationService } from "./services/AuthenticationService.ts" ;
@@ -28,6 +29,7 @@ const JWTmiddleware = new ValidateJWT(authenticationService);
2829
2930// Instantiate the handlers
3031export const orderHandler = new OrderHandler ( db ) ;
32+ export const productHandler = new ProductHandler ( db ) ;
3133
3234app . use ( cookieParser ( ) ) ;
3335app . use ( express . json ( ) ) ;
@@ -106,9 +108,9 @@ app.post("/auth/login", async (req, res) => {
106108app . post ( "/order" , JWTmiddleware . validateToken , async ( req , res ) => {
107109 const order = req . body ;
108110 const userId = req . user ! . id ;
109-
111+
110112 const result = await orderHandler . createOrder ( order , userId as number ) ;
111-
113+
112114 res . status ( result . status ) . json ( {
113115 message : result . message ,
114116 data : result . data ,
@@ -121,17 +123,17 @@ app.get("/order/:id", JWTmiddleware.validateToken, async (req, res) => {
121123 const userId = req . user ! . id ;
122124
123125 const result = await orderHandler . getOrderById ( Number ( id ) , userId as number ) ;
124-
126+
125127 res . status ( result . status ) . json ( {
126128 message : result . message ,
127129 data : result . data ,
128130 error : result . error ,
129131 } ) ;
130132} ) ;
131133
132- app . get ( "/orders" , async ( _req , res ) => {
134+ app . get ( "/orders" , JWTmiddleware . validateToken , async ( _req , res ) => {
133135 const result = await orderHandler . getOrders ( ) ;
134-
136+
135137 res . status ( result . status ) . json ( {
136138 message : result . message ,
137139 data : result . data ,
@@ -169,6 +171,42 @@ app.patch("/order/:id", JWTmiddleware.validateToken, async (req, res) => {
169171 } ) ;
170172} ) ;
171173
174+ // Product section
175+ app . post ( "/product" , JWTmiddleware . validateToken , async ( req , res ) => {
176+ const product = req . body ;
177+
178+
179+ const result = await productHandler . createProduct ( product ) ;
180+
181+
182+ res . status ( result . status ) . json ( {
183+ message : result . message ,
184+ data : result . data ,
185+ error : result . error ,
186+ } ) ;
187+ } ) ;
188+
189+ app . get ( "/product/:id" , JWTmiddleware . validateToken , async ( req , res ) => {
190+ const { id } = req . params ;
191+
192+ const result = await productHandler . getProductById ( Number ( id ) ) ;
193+ res . status ( result . status ) . json ( {
194+ message : result . message ,
195+ data : result . data ,
196+ error : result . error ,
197+ } ) ;
198+ } ) ;
199+
200+ app . get ( "/products" , JWTmiddleware . validateToken , async ( _req , res ) => {
201+ const result = await productHandler . getProducts ( ) ;
202+ res . status ( result . status ) . json ( {
203+ message : result . message ,
204+ data : result . data ,
205+ error : result . error ,
206+ } ) ;
207+ } ) ;
208+
209+
172210app . get ( "/hidden" , JWTmiddleware . validateToken , ( _req , res ) => {
173211 res . status ( 200 ) . json ( { message : "This is a hidden route" } ) ;
174212} ) ;
@@ -200,14 +238,14 @@ io.use((socket, next) => {
200238 socket . user = {
201239 id : 2 ,
202240 name : "Lucas" ,
203- }
241+ } ;
204242
205243 next ( ) ;
206244} ) ;
207245
208246io . on ( "connection" , ( socket ) => {
209247 socket . on ( "message" , async ( e ) => {
210- await addMessage ( { message : e , user : socket . user ! } ) . then ( ( final ) => {
248+ await addMessage ( { message : e , user : socket . user ! } ) . then ( ( final ) => {
211249 socket . emit ( "message" , final ) ;
212250 } ) ;
213251 } ) ;
0 commit comments