Files
fielderp-server/models/Role/model.js
T

72 lines
1.2 KiB
JavaScript

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",
"venue",
"metadata",
"product",
"invoice",
"partner",
"activity",
"location",
"assignment",
"inventory",
"inventoryLog",
],
},
region: {
type: String,
required: true,
default: "CITY",
enum: ["CITY", "STATE", "COUNTRY"],
},
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);