1
- import { Request , Response } from 'express' ;
1
+ import { Request , Response } from 'express' ;
2
2
import { ValidateAlunoUseCase } from '../services/aluno/ValidateAlunoUseCase' ;
3
3
import { CreateAlunoUseCase } from '../services/aluno/CreateAlunoUseCase' ;
4
4
import { LoginAlunoUseCase } from "../services/aluno/LoginAlunoUseCase" ;
@@ -18,15 +18,19 @@ import { GetLastMessagesUseCase } from '../services/shared/GetMessagesUseCase';
18
18
import { EntidadeEnum , IdentificadorEnum } from '../interfaces/sharedDTOs' ;
19
19
import { GetMessagesBetweenUseCase } from '../services/shared/GetChatUseCase' ;
20
20
import { CreateMessageUseCase } from '../services/shared/CreateMessageUseCase' ;
21
+ import { RegisterExtracurricularUseCase } from '../services/aluno/CreateExtraUseCase' ;
22
+ import { EditExtracurricularUseCase } from '../services/aluno/EditExtraUsecase' ;
23
+ import { ExcludeExtracurricularUseCase } from '../services/aluno/ExcludeExtraUseCase' ;
24
+ import { SendBoletimUseCase } from '../services/aluno/SendBoletimUseCase' ;
21
25
22
26
export class CreateAlunoController {
23
27
async handle ( req : Request , res : Response ) {
24
28
const { name, email, password } = req . body ;
25
-
29
+
26
30
const createAlunoUseCase = new CreateAlunoUseCase ( ) ;
27
-
31
+
28
32
const result = await createAlunoUseCase . execute ( { name, email, password } ) ;
29
-
33
+
30
34
return res . status ( 201 ) . json ( result ) ;
31
35
}
32
36
}
@@ -158,23 +162,23 @@ export class UploadImgProfileController {
158
162
async handle ( req : Request , res : Response ) {
159
163
const email = req . body . entidade . email ;
160
164
const file = req . file as Express . Multer . File ;
161
-
165
+
162
166
const uploadProfileUseCase = new UploadProfileUseCase ( ) ;
163
167
164
- const result = await uploadProfileUseCase . execute ( { email, file} ) ;
168
+ const result = await uploadProfileUseCase . execute ( { email, file } ) ;
165
169
166
170
return res . status ( 201 ) . json ( result ) ;
167
171
}
168
172
}
169
173
170
174
export class UploadCapaController {
171
175
async handle ( req : Request , res : Response ) {
172
- const email = req . body . entidade . email ;
176
+ const email = req . body . entidade . email ;
173
177
const file = req . file as Express . Multer . File ;
174
178
175
179
const uploadCapaUseCase = new UploadCapaUseCase ( ) ;
176
180
177
- const result = await uploadCapaUseCase . execute ( { email, file} ) ;
181
+ const result = await uploadCapaUseCase . execute ( { email, file } ) ;
178
182
179
183
return res . status ( 201 ) . json ( result ) ;
180
184
}
@@ -194,7 +198,7 @@ export class ChangePassController {
194
198
195
199
export class GetLastMessagesController {
196
200
async handle ( req : Request , res : Response ) {
197
- const email = req . body . entidade . email ;
201
+ const email = req . body . entidade . email ;
198
202
const identifier = "ALUNO" as IdentificadorEnum ;
199
203
200
204
const getLastMessagesUseCase = new GetLastMessagesUseCase ( ) ;
@@ -209,7 +213,7 @@ export class GetMessagesBetweenController {
209
213
async handle ( req : Request , res : Response ) {
210
214
const email1 = req . body . entidade . email as string ;
211
215
const identifier1 = "ALUNO" as EntidadeEnum ;
212
-
216
+
213
217
const email2 = req . query . email2 as string ;
214
218
const identifier2 = req . query . identifier2 as EntidadeEnum ;
215
219
@@ -230,12 +234,79 @@ export class CreateMessageController {
230
234
const sender = req . body . entidade . email ;
231
235
const { message, recipient, senderIdentifier, recipientIdentifier } = req . body ;
232
236
233
- console . log
234
-
235
237
const createMessageUseCase = new CreateMessageUseCase ( ) ;
236
238
237
239
const result = await createMessageUseCase . execute ( { message, sender, recipient, senderIdentifier, recipientIdentifier } ) ;
238
240
239
241
return res . status ( 201 ) . json ( result ) ;
240
242
}
241
- }
243
+ }
244
+
245
+ export class RegisterExtracurricularController {
246
+ async handle ( req : Request , res : Response ) {
247
+ const alunoId = req . body . entidade . id ;
248
+ const { instituicao, descricao, inicio, fim } = req . body ;
249
+
250
+ const registerExtracurricularUseCase = new RegisterExtracurricularUseCase ( ) ;
251
+
252
+ const result = await registerExtracurricularUseCase . execute ( {
253
+ alunoId,
254
+ instituicao,
255
+ descricao,
256
+ inicio,
257
+ fim,
258
+ } ) ;
259
+
260
+ return res . status ( 201 ) . json ( result ) ;
261
+ }
262
+ }
263
+
264
+ export class EditExtracurricularController {
265
+ async handle ( req : Request , res : Response ) {
266
+ const { instituicao, descricao, inicio, fim } = req . body ;
267
+ const extracurricularId = req . body . extracurricularId ;
268
+ const alunoId = req . body . entidade . id ;
269
+
270
+ const editExtracurricularUseCase = new EditExtracurricularUseCase ( ) ;
271
+
272
+ const result = await editExtracurricularUseCase . execute ( {
273
+ extracurricularId,
274
+ alunoId,
275
+ instituicao,
276
+ descricao,
277
+ inicio,
278
+ fim,
279
+ } ) ;
280
+
281
+ return res . status ( 200 ) . json ( result ) ;
282
+ }
283
+ }
284
+
285
+ export class ExcludeExtracurricularController {
286
+ async handle ( req : Request , res : Response ) {
287
+ const extracurricularId = req . body . extracurricularId ;
288
+ const alunoId = req . body . entidade . id ;
289
+
290
+ const excludeExtracurricularUseCase = new ExcludeExtracurricularUseCase ( ) ;
291
+
292
+ const result = await excludeExtracurricularUseCase . execute ( {
293
+ extracurricularId,
294
+ alunoId,
295
+ } ) ;
296
+
297
+ return res . status ( 200 ) . json ( result ) ;
298
+ }
299
+ }
300
+
301
+ export class SendBoletimController {
302
+ async handle ( req : Request , res : Response ) {
303
+ const alunoId = req . body . entidade . id ;
304
+ const boletim = req . file as Express . Multer . File ;
305
+
306
+ const sendBoletimUseCase = new SendBoletimUseCase ( ) ;
307
+
308
+ const result = await sendBoletimUseCase . execute ( { alunoId, boletim } ) ;
309
+
310
+ return res . status ( 201 ) . json ( result ) ;
311
+ }
312
+ }
0 commit comments