module.exports = mongoose => { var editHistorySchema = mongoose.Schema({ employee: String, date: Date }); var schema = mongoose.Schema( { name: String, name_original: String, name_branch: String, specialty: String, type: String, // value may be ['doctor', 'pharmacy' or 'other'] color: String, address: String, city: String, state: String, zipcode: String, phone: String, status: String, // value might be ['active', 'inactive'] create_by: String, create_date: Date, parent_id: String, ext_id: String, category: String, description: String, contact: String, fax: String, note: String, data: Object, edit_by: String, edit_date: Date, create_by: String, create_date: Date, site: Number, images: [{ type: String }], edit_history: [{ type: editHistorySchema }], }, { collection: 'resource', timestamps: true } ); schema.method("toJSON", function() { const { __v, _id, ...object } = this.toObject(); object.id = _id; return object; }); const Resource = mongoose.model("resource", schema); return Resource; };