Player.js (760B)
1 'use strict'; 2 3 const mongoose = require('mongoose') 4 const { Schema } = mongoose 5 6 const { isEmail } = require('validator') 7 8 const PlayerSchema = new Schema({ 9 name: { 10 type: String, 11 required: true 12 }, 13 email: { 14 type: String, 15 required: true, 16 validate: [ isEmail ] 17 }, 18 birth_year: { 19 type: Number, 20 required: true, 21 min: 1, 22 validate: [ Number.isInteger ] 23 }, 24 gender: { 25 type: String, 26 enum: [ 'MALE', 'FEMALE', 'OTHER' ], 27 default: 'MALE' 28 }, 29 club: { 30 type: String, 31 default: '' 32 }, 33 dwz: { 34 type: Number, 35 min: 0, 36 validate: [ Number.isInteger ], 37 default: 0 38 }, 39 approved: { 40 type: Boolean, 41 default: false 42 }, 43 created_at: { 44 type: Date, 45 default: Date.now() 46 } 47 }) 48 49 module.exports = mongoose.model('Players', PlayerSchema)