diff --git a/src/history/history.router.ts b/src/history/history.router.ts new file mode 100644 index 0000000000000000000000000000000000000000..08a6e62cb19512817f23940fc1f8e190421097ea --- /dev/null +++ b/src/history/history.router.ts @@ -0,0 +1,26 @@ +import express from "express"; +import type { Request, Response } from "express"; +// import { body, validationResult } from "express-validator"; + +import * as HistoryServices from './history.service' + +export const HistoryRouter = express.Router() + +HistoryRouter.get('/', async (request: Request, response: Response) => { + try { + const history = await HistoryServices.getHistory(); + return response.status(200).json(history); + } catch (error: any) { + return response.status(500).json(error.message); + } +}) + +HistoryRouter.get('/:id', async (request: Request, response: Response) => { + const id: number = parseInt(request.params.id, 10); + try { + const history = await HistoryServices.getHistoryDetail(id); + return response.status(200).json(history); + } catch (error: any) { + return response.status(500).json(error.message); + } +}) \ No newline at end of file diff --git a/src/history/history.service.ts b/src/history/history.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..840fe1c5127ba0e8f2467c3f22119b9e1d6bade9 --- /dev/null +++ b/src/history/history.service.ts @@ -0,0 +1,47 @@ +import {db} from "../utils/db.server" + + +type History = { + id: number, + user_id : number, + alamat_tujuan: string, + nama_penerima: string, + rating: number, +} + +type HistoryDetail = { + id: number, + history_id : number, + product_name: string, + quantity: number, +} + +export const getHistory = async (): Promise<History[]> => { + const user_id = 2; //ini buat temp aja karena auth belom dibuat + return db.history.findMany({ + where:{ + user_id : user_id, + }, + select: { + id: true, + user_id: true, + alamat_tujuan: true, + nama_penerima: true, + rating: true + } + }) +} + +export const getHistoryDetail = async (historyId: number): Promise<HistoryDetail[]> => { + return db.historyDetail.findMany({ + where:{ + history_id: historyId + }, + select:{ + id: true, + history_id: true, + product_name: true, + quantity: true + } + }) +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 217261daff874c082b1a88d6b9a8c0aa94c26ad8..e3da18cb0698b54a1375d9f24b9244fdcb55f18b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,11 @@ import express, {Express, Request, Response} from "express"; +import { HistoryRouter } from "./history/history.router"; + const app = express(); const port = 5000; + +app.use('/history', HistoryRouter); app.get("/", (req, res) => { res.send("test get home"); }) diff --git a/src/user/user.service.ts b/src/user/user.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391