40 lines
870 B
JavaScript
40 lines
870 B
JavaScript
const mongoose = require('mongoose')
|
|
const ObjectID = mongoose.Schema.Types.ObjectId
|
|
|
|
const roleSchema = new mongoose.Schema(
|
|
{
|
|
englishName: {
|
|
type: String,
|
|
unique: true,
|
|
required: true,
|
|
},
|
|
nativeName: {
|
|
type: String,
|
|
required: [
|
|
true,
|
|
'A role must have a equivalent in Persian language',
|
|
],
|
|
},
|
|
permissions: [
|
|
{
|
|
type: ObjectID,
|
|
ref: 'Permission',
|
|
},
|
|
],
|
|
isActive: {
|
|
type: Boolean,
|
|
default: true,
|
|
select: false,
|
|
},
|
|
},
|
|
{
|
|
toJSON: { virtuals: true },
|
|
toObject: { virtuals: true },
|
|
timestamps: true,
|
|
}
|
|
)
|
|
|
|
const Role = mongoose.model('Role', roleSchema)
|
|
|
|
module.exports = Role
|