Skip to content

Commit 4d61895

Browse files
committed
merge solved
2 parents 2427807 + a2767bb commit 4d61895

File tree

7 files changed

+142
-4
lines changed

7 files changed

+142
-4
lines changed

api/controllers/action.controllers.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
const { incidencesModel } = require('../models/incidences.model')
2+
3+
exports.createAction = (req, res) => {
4+
incidencesModel
5+
.findById(req.params.incidenceId)
6+
.then(incidence => {
7+
incidence.actions.push({ technicianId: req.params.technicianId, ...req.body })
8+
incidence.save(err => {
9+
if (err) res.status(500).send(err)
10+
res.status(200).json(incidence)
11+
})
12+
})
13+
.catch(err => {
14+
console.log(err)
15+
res.status(500).json({ msg: 'Error ' })
16+
})
17+
}
18+
19+
exports.updateAction = (req, res) => {
20+
incidencesModel
21+
.findById(req.params.incidenceId)
22+
.then(incidence => {
23+
const action = incidence.actions.id(req.params.actionId)
24+
25+
incidence.actions.id(req.params.actionId).done = req.body.done ?? action.done
26+
incidence.actions.id(req.params.actionId).status = req.body.status ?? action.status
27+
incidence.actions.id(req.params.actionId).startDate = action.startDate
28+
incidence.actions.id(req.params.actionId).finishDate = action.finishDate
29+
incidence.actions.id(req.params.actionId).technicianId = action.technicianId
30+
31+
incidence.save(err => {
32+
if (err) res.status(500).send(err)
33+
res.status(200).json(incidence)
34+
})
35+
})
36+
.catch(err => {
37+
console.log(err)
38+
res.status(500).json({ msg: 'Error ' })
39+
})
40+
}
41+
42+
exports.getAction = (req, res) => {
43+
incidencesModel
44+
.findById(req.params.incidenceId)
45+
.then(incidence => {
46+
const action = incidence.actions.id(req.params.actionId)
47+
console.log(action)
48+
res.status(200).json(action)
49+
})
50+
.catch(err => {
51+
console.log(err)
52+
res.status(500).json({ msg: 'Error ' })
53+
})
54+
}

api/controllers/employees.controller.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ exports.deleteEmployee = (req, res) => {
9494
employeeModel
9595
.findOneAndRemove({ email: req.body.email })
9696
.then(user => {
97-
console.log('hola')
9897
res.status(200).json({ msg: `The user with email: ${user.email}, has been deleted!` })
9998
})
10099
.catch(err => {

api/models/action.model.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
const mongoose = require('mongoose')
2+
3+
const actionSchema = new mongoose.Schema({
4+
done: {
5+
type: String,
6+
required: true
7+
},
8+
status: {
9+
type: String,
10+
required: [true, 'Status is required']
11+
},
12+
startDate: {
13+
type: Date,
14+
required: [true, 'Start date is required']
15+
},
16+
finishDate: {
17+
type: Date,
18+
required: [true, 'Finish date is required']
19+
},
20+
technicianId: {
21+
type: mongoose.Schema.Types.ObjectId,
22+
ref: 'employee',
23+
required: true
24+
}
25+
})
26+
27+
exports.actionSchema = actionSchema

api/models/incidences.model.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
const mongoose = require('mongoose')
2+
const { incidenceCategoriesSchema } = require('./incidencesCategories.model')
3+
const { actionSchema } = require('./action.model')
4+
//const clientSchema = require('./clients.model')
5+
6+
const incidenceSchema = new mongoose.Schema({
7+
subject: {
8+
type: String
9+
},
10+
description: {
11+
type: String
12+
},
13+
status: {
14+
type: String,
15+
required: true
16+
},
17+
priority: {
18+
type: String,
19+
required: true
20+
},
21+
attachment: {
22+
type: String
23+
},
24+
startDate: {
25+
type: Date,
26+
required: true
27+
},
28+
finishDate: {
29+
type: Date,
30+
required: true
31+
},
32+
employees: {
33+
type: mongoose.Schema.Types.ObjectId,
34+
ref: 'employee',
35+
required: true
36+
},
37+
incidencesCategory: [incidenceCategoriesSchema],
38+
actions: [actionSchema]
39+
//client: [clientSchema]
40+
})
41+
42+
const incidencesModel = mongoose.model('incidences', incidenceSchema)
43+
44+
exports.incidencesModel = incidencesModel

api/models/incidencesCategories.model.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,4 @@ const incidenceCategoriesSchema = new mongoose.Schema({
88
}
99
})
1010

11-
const incidenceCategoriesModel = mongoose.model('incidenceCategories', incidenceCategoriesSchema)
12-
13-
exports.incidenceCategoriesModel = incidenceCategoriesModel
11+
exports.incidenceCategoriesSchema = incidenceCategoriesSchema

api/routes/action.router.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const actionRouter = require('express').Router()
2+
3+
const {
4+
createAction,
5+
updateAction,
6+
getAction
7+
} = require('../controllers/action.controllers')
8+
9+
actionRouter.get('/incidences/:incidenceId/:actionId', getAction)
10+
actionRouter.post('/incidences/:technicianId/:incidenceId', createAction)
11+
actionRouter.put('/incidences/:incidenceId/:actionId', updateAction)
12+
13+
exports.actionRouter = actionRouter

api/routes/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ const { employeesRouter } = require('./employees.router')
44
const { authRouter } = require('./auth.router')
55
const { incidenceCategoriesRouter } = require('./incidenceCategories.router')
66

7+
const { actionRouter } = require('./action.router')
8+
79
router
810
.use('/employees', employeesRouter)
911
.use('/auth', authRouter)
1012
.use('/incidenceCategories', incidenceCategoriesRouter)
13+
.use('/action', actionRouter)
1114

1215
exports.router = router

0 commit comments

Comments
 (0)