@@ -6,6 +6,7 @@ import GuardianChild from '../models/GuardianChild';
66import UserController from './UserController' ;
77import dbConfig from '../../config/database' ;
88import Class from '../models/Class' ;
9+ import ClassProfessional from '../models/ClassProfessional' ;
910import Ec from './EcController' ;
1011
1112const sequelize = new Sequelize ( dbConfig . database , dbConfig . username ,
@@ -144,7 +145,7 @@ class AdmController extends UserController {
144145
145146 async registerClass ( req , res ) {
146147 try {
147- const { code, capacity } = req . body ;
148+ const { code, capacity, id_teacher } = req . body ;
148149
149150 // const {fk_idEc} = await Professionals.findByPk(req.userId);
150151 // TODO: adicionar id EC na hora de criar a classe
@@ -162,6 +163,8 @@ class AdmController extends UserController {
162163 capacity,
163164 } ) ;
164165
166+ await ClassProfessional . create ( { fk_idClass : class_obj . id , fk_idProfessional : id_teacher } ) ;
167+
165168 const children = await Child . findAll ( {
166169 limit : capacity ,
167170 } ) ;
@@ -177,6 +180,7 @@ class AdmController extends UserController {
177180 await class_obj . update ( { capacity : capacity - children . length } ) ;
178181 const clss = await Class . findByPk ( class_obj . id , {
179182 include : { association : 'Children' } ,
183+ include : { association : 'Teacher' } ,
180184 } ) ;
181185
182186 return res . status ( 201 ) . json ( { message : 'Turma Cadastrada!' , clss } ) ;
@@ -225,6 +229,29 @@ class AdmController extends UserController {
225229 }
226230 }
227231
232+ async deleteTeacherClass ( req , res ) {
233+ try {
234+ const { teacher_id, class_id } = req . query ;
235+ console . log ( req ) ;
236+
237+ const TeacherClass = await ClassProfessional . findOne ( {
238+ where : {
239+ fk_idClass : class_id ,
240+ fk_idProfessional : teacher_id ,
241+ } ,
242+ } ) ;
243+ if ( TeacherClass === null ) {
244+ return res . status ( 404 ) . json ( { message : 'Relação não encontrada.' } ) ;
245+ }
246+
247+ await TeacherClass . destroy ( ) ;
248+
249+ return res . status ( 200 ) . json ( { msg : 'Professor removido da turma.' } ) ;
250+ } catch ( err ) {
251+ return res . status ( 500 ) . json ( { error : err . message } ) ;
252+ }
253+ }
254+
228255 async updateClass ( req , res ) {
229256 try {
230257 const { id, updates } = req . body ;
0 commit comments