Skip to content

Commit f0892fc

Browse files
author
shawon-majid
committed
issue api added
1 parent da84380 commit f0892fc

File tree

4 files changed

+53
-0
lines changed

4 files changed

+53
-0
lines changed

server/src/controllers/issue.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { PrismaClient } from "@prisma/client";
2+
import { Request, Response } from "express";
3+
import errorWrapper from "../middlewares/errorWrapper";
4+
import { adminLog } from "../services/logdata";
5+
6+
const prisma = new PrismaClient();
7+
8+
const addIssue = errorWrapper(
9+
async (req: Request, res: Response) => {
10+
const payload = req.body;
11+
const newIssue = await prisma.issue.create({
12+
data: payload,
13+
});
14+
15+
await adminLog("Issue Entry", `Issue ${newIssue.issueType} created`);
16+
17+
res.status(201).json(newIssue);
18+
},
19+
{ statusCode: 400, message: "Issue not created" }
20+
);
21+
22+
const getAllIssues = errorWrapper(
23+
async (req: Request, res: Response) => {
24+
const issues = await prisma.issue.findMany();
25+
res.status(200).json(issues);
26+
},
27+
{ statusCode: 404, message: "Issues not found" }
28+
);
29+
30+
export { addIssue, getAllIssues };

server/src/prisma/schema.prisma

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,18 @@ model ContractorLogs {
7373
updatedAt DateTime @updatedAt
7474
}
7575

76+
model Issue {
77+
id String @id @default(uuid())
78+
issueType String
79+
description String
80+
latitude Decimal
81+
longitude Decimal
82+
isAnonymous Boolean
83+
issuePic String @default("https://thumbs.dreamstime.com/b/pile-garbage-home-junk-left-front-house-street-plastic-bags-dumper-truck-to-collect-pile-115303584.jpg")
84+
createdAt DateTime @default(now())
85+
updatedAt DateTime @updatedAt
86+
}
87+
7688
model AdminLogs {
7789
id String @id @default(uuid())
7890
type String

server/src/routes/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import logRouter from "./logs";
1919
import routeAreaRouter from "./routeArea";
2020
import employeeRoute from "./employee";
2121
import collectionPlanRoute from "./collectionPlans";
22+
import issueRoute from "./issue";
2223

2324
router.use("/auth", authRoute);
2425
router.use("/users", userRoute);
@@ -39,5 +40,6 @@ router.use("/logs", logRouter);
3940
router.use("/route-areas", routeAreaRouter);
4041
router.use("/employees", employeeRoute);
4142
router.use("/collection-plans", collectionPlanRoute);
43+
router.use("/issues", issueRoute);
4244

4345
export default router;

server/src/routes/issue.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import express from "express";
2+
const router = express.Router();
3+
4+
import { addIssue, getAllIssues } from "../controllers/issue";
5+
6+
router.route("/create").post(addIssue);
7+
router.route("/all").get(getAllIssues);
8+
9+
export default router;

0 commit comments

Comments
 (0)