Initialized Project with default middlewares and helpers, connected to Atlas Instance and created Swagger Setup. Created necessary DB models and authentication-authorization logic

This commit is contained in:
Shibi Chakkaravarthy
2026-04-15 02:28:35 +05:30
commit 864e5fae65
71 changed files with 8184 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
import { model, Schema, Types } from "mongoose";
const moduleSchema = new Schema({
module: {
type: String,
required: true,
enum: [
"branch",
"role",
"designation",
"department",
"user",
"profile",
"access",
"team",
"task",
"target",
"salary",
"vendor",
"expense",
"product",
"invoice",
"partner",
"activity",
"location",
"assignment",
"inventory",
"inventoryLog",
],
},
permission: {
type: String,
required: true,
enum: ["read", "write", "authorize", "delete"],
},
});
const schema = new Schema({
name: {
type: String,
required: true,
},
modules: {
type: [moduleSchema],
required: true,
},
keys: {
type: [String],
required: true,
enum: ["accounts", "admin", "sales", "field", "hr", "logistics"],
},
createdBy: {
type: Types.ObjectId,
required: true,
ref: "user",
},
createdOn: {
type: Date,
required: true,
},
});
export default model("role", schema);