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);