From 9afb2ff89a79b80bbbad3b63e5dbe2c75428978a Mon Sep 17 00:00:00 2001
From: DewanaGustavus <76590469+DewanaGustavus@users.noreply.github.com>
Date: Mon, 13 Nov 2023 15:15:41 +0700
Subject: [PATCH] refactor: router folder structure and interface

---
 prisma/schema.prisma                          |  3 ++-
 src/{ => handler}/history/history.router.ts   |  1 -
 src/{ => handler}/history/history.service.ts  | 20 +++----------------
 .../user/user.router.ts}                      |  0
 src/handler/user/user.service.ts              |  0
 src/index.ts                                  |  2 +-
 src/interfaces/History.ts                     |  8 ++++++++
 src/interfaces/HistoryDetail.ts               |  7 +++++++
 8 files changed, 21 insertions(+), 20 deletions(-)
 rename src/{ => handler}/history/history.router.ts (92%)
 rename src/{ => handler}/history/history.service.ts (71%)
 rename src/{user/user.service.ts => handler/user/user.router.ts} (100%)
 create mode 100644 src/handler/user/user.service.ts
 create mode 100644 src/interfaces/History.ts
 create mode 100644 src/interfaces/HistoryDetail.ts

diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index 37e04cb..0eadc72 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -13,8 +13,9 @@ datasource db {
 
 model User {
   id          Int       @id @default(autoincrement())
-  email String
+  username    String @unique
   name    String
+  email String @unique
   password    String
   saldo       Float     @default(0.0)
   histories   History[]
diff --git a/src/history/history.router.ts b/src/handler/history/history.router.ts
similarity index 92%
rename from src/history/history.router.ts
rename to src/handler/history/history.router.ts
index 08a6e62..4ec9397 100644
--- a/src/history/history.router.ts
+++ b/src/handler/history/history.router.ts
@@ -1,6 +1,5 @@
 import express from "express";
 import type { Request, Response } from "express";
-// import { body, validationResult } from "express-validator";
 
 import * as HistoryServices from './history.service'
 
diff --git a/src/history/history.service.ts b/src/handler/history/history.service.ts
similarity index 71%
rename from src/history/history.service.ts
rename to src/handler/history/history.service.ts
index 840fe1c..4dacade 100644
--- a/src/history/history.service.ts
+++ b/src/handler/history/history.service.ts
@@ -1,20 +1,6 @@
-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,
-}
+import { History } from "../../interfaces/History";
+import { HistoryDetail } from "../../interfaces/HistoryDetail";
+import {db} from "../../utils/db.server"
 
 export const getHistory = async (): Promise<History[]> => {
     const user_id = 2; //ini buat temp aja karena auth belom dibuat
diff --git a/src/user/user.service.ts b/src/handler/user/user.router.ts
similarity index 100%
rename from src/user/user.service.ts
rename to src/handler/user/user.router.ts
diff --git a/src/handler/user/user.service.ts b/src/handler/user/user.service.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/index.ts b/src/index.ts
index fa61d82..8340e8f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,5 +1,5 @@
 import express, {Express, Request, Response} from "express";
-import { HistoryRouter } from "./history/history.router";
+import { HistoryRouter } from "./handler/history/history.router";
 
 const app = express();
 const port = 5000;
diff --git a/src/interfaces/History.ts b/src/interfaces/History.ts
new file mode 100644
index 0000000..3d85e7f
--- /dev/null
+++ b/src/interfaces/History.ts
@@ -0,0 +1,8 @@
+
+export interface History {
+    id: number,
+    user_id : number,
+    alamat_tujuan: string,
+    nama_penerima: string,
+    rating: number,
+}
diff --git a/src/interfaces/HistoryDetail.ts b/src/interfaces/HistoryDetail.ts
new file mode 100644
index 0000000..6c769d4
--- /dev/null
+++ b/src/interfaces/HistoryDetail.ts
@@ -0,0 +1,7 @@
+
+export interface HistoryDetail {
+    id: number,
+    history_id : number,
+    product_name: string,
+    quantity: number,
+}
\ No newline at end of file
-- 
GitLab