modelo pessoa:
Pessoa.hasMany(models.Matricula, {
foreignKey: 'estudante_id',
scope: { status: 'matriculado' },
as: 'aulasMatriculadas' //'as' é para passar apelido para nossas tabelas
});
PessoaController:
const Controller = require('./Controller.js');
const PessoaServices = require('../services/PessoaServices.js');
const pessoaServices = new PessoaServices();
class PessoaController extends Controller {
constructor() {
super(pessoaServices);
}
async pegaMatriculas(req, res){
const { estudanteId } = req.params;
try{
const listaMatriculas = await pessoaServices.pegaMatriculasPorEstudante(Number(estudanteId));
return res.status(200).json(listaMatriculas);
}catch(erro){
//erro
}
}
}
module.exports = PessoaController;
PessoaServices:
const Services = require('./Services.js');
class PessoaServices extends Services {
constructor() {
super('Pessoa');
}
async pegaMatriculasPorEstudante(id){
const estudante = await super.pegaUmRegistroPorId(id);
const listaMatriculas = await estudante.getAulasMatriculadas();
return listaMatriculas;
}
}
module.exports = PessoaServices;
Como e onde seria criado o método para pegar as matrículas de um determinado estudante se não utilizasse o "getAulasMatriculadas()" que é o "mixin" criado automaticamente?