10000 users part completed · vishal-coder/CRM_backend@8ee6a21 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8ee6a21

Browse files
committed
users part completed
1 parent cbee393 commit 8ee6a21

File tree

4 files changed

+77
-11
lines changed

4 files changed

+77
-11
lines changed

controllers/AuthController.js renamed to controllers/UserController.js

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Crypto from "crypto";
33
import jwt from "jsonwebtoken";
44
import {
55
activatateUser,
6+
fetchAllUsers,
67
getDBUserByEmail,
78
insertAccountConfirmationCode,
89
insertToken,
@@ -22,7 +23,7 @@ import {
2223
*/
2324
export const signup = async (req, res) => {
2425
console.log("signup requested", req.body);
25-
const { firstname, lastname, phone, username, userType } = req.body;
26+
const { firstname, lastname, phone, username, userType, parent } = req.body;
2627
const dBUserByEmail = await getDBUserByEmail({ username: username });
2728
if (dBUserByEmail) {
2829
return res.status(401).send({ message: "User Already Exists" });
@@ -35,6 +36,7 @@ export const signup = async (req, res) => {
3536
phone: phone,
3637
userType: userType,
3738
isActive: false,
39+
parent: parent,
3840
});
3941

4042
let resetToken = Crypto.randomBytes(16).toString("hex");
@@ -57,11 +59,12 @@ export const signup = async (req, res) => {
5759
});
5860
}
5961

60-
const mailsuccess = await sendPasswordResetMail(
61-
username,
62-
hashedResetToken,
63-
registerResult.insertedId
64-
);
62+
//TODO: remove below comment before DPL
63+
// const mailsuccess = await sendPasswordResetMail(
64+
// username,
65+
// hashedResetToken,
66+
// registerResult.insertedId
67+
// );
6568

6669
res.status(200).send({
6770
message: "User was registered successfully! ",
@@ -71,7 +74,7 @@ export const signup = async (req, res) => {
7174

7275
export const login = async (req, res) => {
7376
const { username, password } = req.body;
74-
77+
console.log(username, password);
7578
const dBUserByEmail = await getDBUserByEmail({ username: username });
7679

7780
if (!dBUserByEmail) {
@@ -207,3 +210,22 @@ export const logoutUser = async (req, res) => {
207210

208211
return res.send({ success: true, message: "user logged out successfully" });
209212
};
213+
214+
export const getAllUsers = async (req, res) => {
215+
try {
216+
const { username, userType } = req.body;
217+
console.log("inside getAllusers", username, userType);
218+
const response = await fetchAllUsers(username, userType);
219+
console.log("userlist is---", response);
220+
res.status(200).send({
221+
message: "User Fetched Successfully",
222+
success: true,
223+
users: response,
224+
});
225+
} catch (error) {
226+
return res.send({
227+
message: "Something went wrong....Please try again later",
228+
success: false,
229+
});
230+
}
231+
};

index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import cors from "cors";
22
import dotenv from "dotenv";
33
import express from "express";
44
import { MongoClient } from "mongodb";
5-
import { authRouter } from "./routes/auth.js";
5+
import { userRouter } from "./routes/User.js";
66
import http from "http";
77

88
const corsOptions = {
@@ -38,4 +38,4 @@ app.get("/", (req, res) => {
3838
res.send({ message: "default request" });
3939
});
4040

41-
app.use("/auth", authRouter);
41+
app.use("/auth", userRouter);

models/AuthModel.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,45 @@ export function insertAccountConfirmationCode(data, confirmationToken) {
5353
export async function isUserActive(data) {
5454
return client.db("CRM").collection("users").findOne(data);
5555
}
56+
57+
export async function fetchAllUsers(username, userType) {
58+
if (userType === "Admin") {
59+
return client
60+
.db("CRM")
61+
.collection("users")
62+
.find(
63+
{},
64+
{
65+
firstname: 1,
66+
lastname: 1,
67+
phone: 1,
68+
username: 1,
69+
parent: 1,
70+
userType: 1,
71+
isActive: 1,
72+
token: 0,
73+
password: 0,
74+
}
75+
)
76+
.toArray();
77+
} else {
78+
return client
79+
.db("CRM")
80+
.collection("users")
81+
.find(
82+
{ parent: username },
83+
{
84+
firstname: 1,
85+
lastname: 1,
86+
phone: 1,
87+
username: 1,
88+
parent: 1,
89+
userType: 1,
90+
isActive: 1,
91+
D31B token: 0,
92+
password: 0,
93+
}
94+
)
95+
.toArray();
96+
}
97+
}

routes/auth.js renamed to routes/User.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import {
77
resetpassword,
88
signup,
99
verifyEmail,
10-
} from "../controllers/AuthController.js";
10+
getAllUsers,
11+
} from "../controllers/UserController.js";
1112
import {
1213
forgotPasswordValidation,
1314
loginValidation,
@@ -28,5 +29,6 @@ router.post("/forgotPassword", forgotPasswordValidation(), forgotPassword);
2829
router.post("/resetPassword", restPasswordValidation(), resetpassword);
2930
router.post("/verifyToken", verifyToken);
3031
router.post("/logoutUser", logoutUser);
32+
router.post("/allUsers", getAllUsers);
3133

32-
export const authRouter = router;
34+
export const userRouter = router;

0 commit comments

Comments
 (0)
0