Files
ostandari/server/models/User.js
T
2026-06-19 15:47:02 +03:30

33 lines
1.1 KiB
JavaScript

const mongoose = require('mongoose');
const mongoosePaginate = require('mongoose-paginate-v2');
const s3Storage = require('../plugins/s3Storage');
function image(img) {
if (!img) return null;
if (img.startsWith('http://') || img.startsWith('https://')) return img;
return s3Storage.getPublicUrl(`uploads/images/users/${img}`);
}
const AdminSchema = mongoose.Schema({
firstName: String,
lastName: String,
password: String,
scope: {type: Array, default: ['admin']},
token: {type: String, default: null},
profilePic: {type: String, get: image, default: null},
mobileNumber: {type: String, default: null},
email: String,
registration_done: {type: Boolean, default: false},
_creator: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
_updatedBy: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
username: {type: String, unique: true},
portals: {type: Array, default: []},
permissions: Array,
specialPermissions: [{type: mongoose.Schema.Types.ObjectId, ref: 'Category'}],
private: {type: Boolean, default: false}
})
AdminSchema.plugin(mongoosePaginate);
module.exports = mongoose.model('User', AdminSchema)