Files

53 lines
1.2 KiB
JavaScript

// Anderson Valadares Pinto (20251PL.TSIAD0018) [SLS]
import mongoose from 'mongoose';
// Tipos aceitos no formulário. A lista também alimenta o <select> de add.ejs.
export const TIPOS = [
'Cordas',
'Percussão',
'Teclas',
'Sopro',
'Áudio',
'Acessórios',
];
const instrumentoSchema = new mongoose.Schema(
{
nome: {
type: String,
required: [true, 'Informe o nome do instrumento.'],
trim: true,
maxlength: [120, 'O nome pode ter no máximo 120 caracteres.'],
},
fabricante: {
type: String,
required: [true, 'Informe o fabricante.'],
trim: true,
maxlength: [120, 'O fabricante pode ter no máximo 120 caracteres.'],
},
preco: {
type: Number,
required: [true, 'Informe o preço.'],
min: [0, 'O preço não pode ser negativo.'],
},
tipo: {
type: String,
required: [true, 'Informe o tipo do instrumento.'],
trim: true,
enum: {
values: TIPOS,
message: 'Escolha um tipo da lista.',
},
},
},
{
timestamps: true,
versionKey: false,
}
);
const Instrumento = mongoose.model('Instrumento', instrumentoSchema);
export default Instrumento;