-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
36 lines (30 loc) · 1.27 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require('dotenv').config()
const express = require('express')
const bodyParser = require('body-parser')
const db = require('./src/infrastructure/config/database')
const TaskRepositorySQLite = require('./src/infrastructure/database/TaskRepositorySQLite')
const CreateTask = require('./src/domain/usecases/CreateTask')
const GetTaskById = require('./src/domain/usecases/GetTaskById')
const UpdateTask = require('./src/domain/usecases/UpdateTask')
const DeleteTask = require('./src/domain/usecases/DeleteTask')
const TaskController = require('./src/application/controllers/TaskController')
const createRoutes = require('./src/infrastructure/web/routes')
const app = express()
const PORT = process.env.PORT || 3000
app.use(bodyParser.json())
const taskRepository = new TaskRepositorySQLite(db)
const createTaskUseCase = new CreateTask(taskRepository)
const getTaskByIdUseCase = new GetTaskById(taskRepository)
const updateTaskUseCase = new UpdateTask(taskRepository)
const deleteTaskUseCase = new DeleteTask(taskRepository)
const taskController = new TaskController(
createTaskUseCase,
taskRepository,
getTaskByIdUseCase,
updateTaskUseCase,
deleteTaskUseCase
)
app.use('/api', createRoutes(taskController))
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`)
})