const express = require(
'express'
)
const bodyParser = require(
'body-parser'
)
const {validationResult} = require(
'express-validator'
)
const repo = require(
'./repository'
)
const { validateStartDate } = require(
'./validator'
)
const formTemplet = require(
'./form'
)
const app = express()
const port = process.env.PORT || 3000
app.use(bodyParser.urlencoded({extended :
true
}))
app.get(
'/'
, (req, res) => {
res.send(formTemplet({}))
})
app.post(
'/project'
,
[validateStartDate],
async (req, res) => {
const errors = validationResult(req)
if
(!errors.isEmpty()) {
return
res.send(formTemplet({errors}))
}
const {name, domain, sdate, edate, } = req.body
const [sd, sm, sy] = sdate.split(
'/'
)
const [ed, em, ey] = edate.split(
'/'
)
await repo.create({
'Project Name'
: name,
'Project Domain'
: domain,
'Start Date'
:
new
Date(sy, sm-1, sd).toDateString(),
'End Date'
:
new
Date(ey, em-1, ed).toDateString()
})
res.send(
'<strong>Project details stored successfully'
+
' in the database</strong>'
);
})
app.listen(port, () => {
console.log(`Server start on port ${port}`)
})