From 59933a49c1199372e4aaf6ef91968f5ab25fe8fc Mon Sep 17 00:00:00 2001 From: Ulung32 <13521122@mahasiswa.itb.ac.id> Date: Sat, 11 Nov 2023 18:49:58 +0700 Subject: [PATCH] feat add getHistory and getHistoryDetail --- src/history/history.router.ts | 26 +++++++++++++++++++ src/history/history.service.ts | 47 ++++++++++++++++++++++++++++++++++ src/index.ts | 4 +++ src/user/user.service.ts | 0 4 files changed, 77 insertions(+) create mode 100644 src/history/history.router.ts create mode 100644 src/history/history.service.ts create mode 100644 src/user/user.service.ts diff --git a/src/history/history.router.ts b/src/history/history.router.ts new file mode 100644 index 0000000..08a6e62 --- /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 0000000..840fe1c --- /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 217261d..e3da18c 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 0000000..e69de29 -- GitLab