Skip to content

Commit f7be016

Browse files
committed
feat: create User model and users route
1 parent 8bac051 commit f7be016

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

src/models/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { User } from "./users.model";
2+
3+
export const mongoModels = {
4+
User,
5+
};

src/models/users.model.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import mongoose from "mongoose";
2+
3+
const userSchema = new mongoose.Schema(
4+
{
5+
name: { type: String, required: true },
6+
age: { type: Number, min: 0, max: 120 },
7+
email: { type: String, required: true, unique: true, match: /.+@.+\..+/ },
8+
isActive: { type: Boolean, default: true },
9+
createdAt: { type: Date, default: Date.now },
10+
},
11+
{
12+
timestamps: true, // adds createdAt and updatedAt
13+
versionKey: false, // disables __v field
14+
},
15+
);
16+
17+
export const User = mongoose.model("User", userSchema);

src/routes/users.routes.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1+
import { User } from "@/models/users.model";
12
import { Router } from "express";
23

34
const userRoute = Router();
45

5-
userRoute.get("/", (_req, res) => {
6+
userRoute.get("/", async (_req, res) => {
7+
const allUsers = await User.find();
68
res.json({
79
status: 200,
8-
message: "This is users route",
10+
message: "Fetched Successfully",
11+
data: allUsers,
912
});
1013
});
1114

0 commit comments

Comments
 (0)