@@ -3,28 +3,51 @@ import express from 'express';
33import VerifyParamMiddleware from './middleware/validate-param.middleware' ;
44import OrderController from '@controller/order/order.controller' ;
55import RouteBaseBlock from '@infra/http/route/block-baseurl.route' ;
6+ import { createServer , Server } from 'http' ;
7+ import SocketIo from '@infra/http/socket.io' ;
68
79export default class App {
810
911 private app : express . Application ;
12+ private httpServer : Server ;
13+ private io ;
1014
11- constructor ( ) {
15+ constructor ( ) {
1216 this . app = express ( ) ;
17+ this . httpServer = createServer ( this . app ) ;
18+ this . io = SocketIo . serverIo ( this . httpServer ) ;
19+
20+ this . io . on ( "connection" , ( socket ) => {
21+ console . log ( 'Usuário conectado' ) ;
22+
23+ socket . on ( 'disconnect' , ( ) => {
24+ console . log ( 'usário desconectado' ) ;
25+ } ) ;
26+ } ) ;
1327 }
14-
28+
1529 //Root routes
16- blockRootRoutes ( ) {
30+ blockRootRoutes ( ) {
1731 this . app . get ( [ '/' , '/teste' ] , ExpressAdapter . create ( RouteBaseBlock . blockUrlBase ) ) ;
1832 }
1933
2034 // Order API
21- orderRoutes ( ) {
22- this . app . get ( '/teste/:id' , VerifyParamMiddleware . checkParam , ExpressAdapter . create ( OrderController . getOrder ) ) ;
35+ orderRoutes ( ) {
36+ this . app . get ( '/teste/:id' , VerifyParamMiddleware . checkParam , ExpressAdapter . create ( OrderController . getOrder , this . io ) ) ;
2337 }
2438
25- listen ( port : number ) {
39+ listen ( port : number , socket : boolean ) {
40+
41+ // Para iniciar o servidor com Socket.io
42+ if ( socket ) {
43+ this . httpServer . listen ( port , ( ) => {
44+ console . log ( `Serve is up in port ${ port } with SocketI.io` ) ;
45+ } ) ;
46+ return ;
47+ }
48+
2649 this . app . listen ( port , ( ) => {
27- console . log ( `Serve is up in port ${ port } ` ) ;
50+ console . log ( `Serve is up in port ${ port } , sem Socket.io ` ) ;
2851 } ) ;
2952 }
3053}
0 commit comments