Skip to content

Commit e81cab7

Browse files
committed
feat : migrating code to the layered architecture
1 parent 4f3f5b1 commit e81cab7

File tree

7 files changed

+199
-116
lines changed

7 files changed

+199
-116
lines changed

dist/repositories/auth.js

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
Object.defineProperty(exports, "__esModule", { value: true });
12+
exports.Update = exports.findUnique = exports.create = void 0;
13+
const db_1 = require("../db");
14+
const create = ({ name, gender, email, password, phone_number }) => __awaiter(void 0, void 0, void 0, function* () {
15+
const User = yield db_1.prisma.user.create({
16+
data: {
17+
name,
18+
gender,
19+
email,
20+
password,
21+
phone_number
22+
}
23+
});
24+
return User;
25+
});
26+
exports.create = create;
27+
const findUnique = (email) => __awaiter(void 0, void 0, void 0, function* () {
28+
const data = yield db_1.prisma.user.findUnique({
29+
where: {
30+
email,
31+
},
32+
});
33+
return data;
34+
});
35+
exports.findUnique = findUnique;
36+
const Update = ({ name, password, phone_number, userId }) => __awaiter(void 0, void 0, void 0, function* () {
37+
const user = yield db_1.prisma.user.update({
38+
where: {
39+
id: userId
40+
},
41+
data: {
42+
name,
43+
password,
44+
phone_number
45+
}
46+
});
47+
return user;
48+
});
49+
exports.Update = Update;

dist/routes/userRoute.js

+17-31
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
1313
};
1414
Object.defineProperty(exports, "__esModule", { value: true });
1515
const express_1 = __importDefault(require("express"));
16-
const db_1 = require("../db");
1716
const jsonwebtoken_1 = require("jsonwebtoken");
1817
const authMiddleware_1 = require("../middleware/authMiddleware");
18+
const auth_1 = require("../repositories/auth");
1919
const router = express_1.default.Router();
2020
router.post("/auth/signup", (req, res) => __awaiter(void 0, void 0, void 0, function* () {
2121
console.log("request recived");
@@ -31,17 +31,16 @@ router.post("/auth/signup", (req, res) => __awaiter(void 0, void 0, void 0, func
3131
});
3232
}
3333
try {
34-
const user = yield db_1.prisma.user.create({
35-
data: {
36-
name,
37-
gender,
38-
email,
39-
password,
40-
phone_number,
41-
},
34+
const user = yield (0, auth_1.create)({
35+
name,
36+
gender,
37+
email,
38+
password,
39+
phone_number,
4240
});
4341
res.status(200).json({
4442
message: "user created successfully",
43+
user,
4544
});
4645
}
4746
catch (error) {
@@ -51,13 +50,9 @@ router.post("/auth/signup", (req, res) => __awaiter(void 0, void 0, void 0, func
5150
});
5251
}
5352
}));
54-
router.post('/auth/signin', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
53+
router.post("/auth/signin", (req, res) => __awaiter(void 0, void 0, void 0, function* () {
5554
const { email, password } = req.body;
56-
const user = yield db_1.prisma.user.findUnique({
57-
where: {
58-
email: email
59-
}
60-
});
55+
const user = yield (0, auth_1.findUnique)(email);
6156
console.log(user);
6257
if (!user) {
6358
return res.status(411).json({
@@ -66,42 +61,33 @@ router.post('/auth/signin', (req, res) => __awaiter(void 0, void 0, void 0, func
6661
}
6762
if (user.password != password) {
6863
return res.status(411).json({
69-
message: "incorrect password"
64+
message: "incorrect password",
7065
});
7166
}
7267
const token = (0, jsonwebtoken_1.sign)(user.id, "secret");
7368
return res.status(200).json({
7469
message: "user logged in sucessfully",
75-
token
70+
token,
7671
});
7772
}));
78-
router.put('/update', authMiddleware_1.authMiddleware, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
73+
router.put("/update", authMiddleware_1.authMiddleware, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
7974
try {
8075
const { name, password, phone_number } = req.body;
8176
const userId = req.userId;
8277
if (!userId) {
8378
return res.status(411).json({
84-
message: "userId is not present"
79+
message: "userId is not present",
8580
});
8681
}
87-
const user = yield db_1.prisma.user.update({
88-
where: {
89-
id: userId
90-
},
91-
data: {
92-
name,
93-
password,
94-
phone_number
95-
}
96-
});
82+
const user = yield (0, auth_1.Update)({ name, password, phone_number, userId });
9783
return res.status(200).json({
9884
message: "user updated Sucessfully",
99-
user
85+
user,
10086
});
10187
}
10288
catch (error) {
10389
res.status(411).json({
104-
message: "error while updating the user"
90+
message: "error while updating the user",
10591
});
10692
}
10793
}));

k8s/deployment.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ spec:
2020
- containerPort: 3000
2121
env:
2222
- name: DATABASE_URL
23-
value: ""
23+
value: "postgresql://neondb_owner:npg_bwL4OdvAifc6@ep-cold-unit-a84yyr2y.eastus2.azure.neon.tech/neondb?sslmode=require"
2424
---
2525
apiVersion: v1
2626
kind: Service

k8s/postgres-pvc.yml

+4
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ spec:
88
resources:
99
requests:
1010
storage: 1Gi
11+
12+
13+
14+

src/interface/authInterface.ts

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export interface User{
2+
name : string,
3+
gender : string,
4+
email : string,
5+
password : string,
6+
phone_number : string
7+
}
8+
9+
export interface UserUpdate{
10+
name : string,
11+
password : string,
12+
phone_number : string,
13+
userId : string,
14+
}

src/repositories/auth.ts

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import express from "express";
2+
import { prisma } from "../db";
3+
import { authMiddleware } from "../middleware/authMiddleware";
4+
import { User, UserUpdate } from "../interface/authInterface";
5+
6+
7+
8+
export const create = async ({name,gender ,email, password, phone_number} : User) => {
9+
const User = await prisma.user.create({
10+
data : {
11+
name,
12+
gender,
13+
email,
14+
password,
15+
phone_number
16+
}
17+
})
18+
return User;
19+
}
20+
21+
export const findUnique = async (email: string) => {
22+
const data = await prisma.user.findUnique({
23+
where: {
24+
email,
25+
},
26+
});
27+
return data;
28+
};
29+
30+
31+
export const Update = async({name, password, phone_number , userId} : UserUpdate) => {
32+
const user = await prisma.user.update({
33+
where : {
34+
id : userId
35+
},
36+
data : {
37+
name,
38+
password,
39+
phone_number
40+
}
41+
})
42+
return user
43+
}

0 commit comments

Comments
 (0)