aloux-iam 0.0.117 → 0.0.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +2 -2
- package/CONTRIBUTING.md +1 -1
- package/LICENSE +21 -21
- package/README.md +271 -271
- package/index.js +38 -38
- package/lib/config/utils.js +13 -13
- package/lib/controllers/auth.js +166 -166
- package/lib/controllers/business.js +203 -0
- package/lib/controllers/company.js +154 -0
- package/lib/controllers/functions.js +86 -86
- package/lib/controllers/history.js +97 -97
- package/lib/controllers/label.js +82 -82
- package/lib/controllers/log.js +278 -268
- package/lib/controllers/menu.js +101 -101
- package/lib/controllers/operationsAWS.js +228 -228
- package/lib/controllers/permission.js +90 -90
- package/lib/controllers/user.js +880 -880
- package/lib/middleware.js +148 -146
- package/lib/models/Business.js +48 -14
- package/lib/models/Company.js +14 -0
- package/lib/models/Functions.js +13 -13
- package/lib/models/History.js +15 -15
- package/lib/models/Label.js +13 -13
- package/lib/models/Log.js +11 -11
- package/lib/models/Menu.js +17 -17
- package/lib/models/Permission.js +16 -16
- package/lib/models/User.js +136 -115
- package/lib/models/UserProvisional.js +10 -10
- package/lib/router.js +142 -104
- package/lib/services/auth.js +958 -958
- package/lib/services/bigQuery.js +87 -87
- package/lib/services/s3.js +71 -71
- package/lib/services/ses.js +97 -97
- package/lib/services/sns.js +21 -21
- package/lib/services/user.js +99 -99
- package/lib/swagger.yaml +1231 -1231
- package/package.json +38 -38
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
const Company = require("../models/Company");
|
|
2
|
+
const { AlouxAWS } = require("aloux-iam");
|
|
3
|
+
const errorController = require("../config/utils");
|
|
4
|
+
const self = module.exports;
|
|
5
|
+
|
|
6
|
+
self.create = async (req, res) => {
|
|
7
|
+
try {
|
|
8
|
+
const company = new Company(req.body);
|
|
9
|
+
company.createdAt = new Date().getTime();
|
|
10
|
+
company.lastUpdate = company.createdAt;
|
|
11
|
+
company.status = company.status || "Activo";
|
|
12
|
+
const create = await company.save();
|
|
13
|
+
await res.status(201).send(create);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
await errorController.responseError(res, error);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
self.retrieve = async (req, res) => {
|
|
20
|
+
try {
|
|
21
|
+
const retrieve = await Company.find({}, { gkey: 0 }).lean();
|
|
22
|
+
res.status(200).send(retrieve);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
await errorController.responseError(res, error);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
self.retrieveMy = async (req, res) => {
|
|
29
|
+
try {
|
|
30
|
+
let query = { _id: { $in: req.user._company } };
|
|
31
|
+
const retrieve = await Company.find(query, { name: 1, id: 1 }).lean();
|
|
32
|
+
res.status(200).send(retrieve);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
await errorController.responseError(res, error);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
self.detail = async (req, res) => {
|
|
39
|
+
try {
|
|
40
|
+
const detail = await Company.findOne(
|
|
41
|
+
{
|
|
42
|
+
_id: req.params.COMPANY_ID,
|
|
43
|
+
},
|
|
44
|
+
{ "gkey.key": 0 }
|
|
45
|
+
).lean();
|
|
46
|
+
if (!detail) {
|
|
47
|
+
throw {
|
|
48
|
+
code: 404,
|
|
49
|
+
title: "No se encontro el elemento",
|
|
50
|
+
detail: "No existe el negocio seleccionado",
|
|
51
|
+
suggestion: "Revisa que el negocio exista",
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
res.status(200).send(detail);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
await errorController.responseError(res, error);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
self.update = async (req, res) => {
|
|
61
|
+
try {
|
|
62
|
+
const update = await Company.updateOne(
|
|
63
|
+
{ _id: req.params.COMPANY_ID },
|
|
64
|
+
{ $set: req.body, lastUpdate: new Date().getTime() }
|
|
65
|
+
);
|
|
66
|
+
res.status(202).send(update);
|
|
67
|
+
} catch (error) {
|
|
68
|
+
await errorController.responseError(res, error);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
self.delete = async (req, res) => {
|
|
73
|
+
try {
|
|
74
|
+
let company = await Company.findOne({
|
|
75
|
+
_id: req.params.COMPANY_ID,
|
|
76
|
+
}).lean();
|
|
77
|
+
|
|
78
|
+
if (!company) {
|
|
79
|
+
throw {
|
|
80
|
+
code: 404,
|
|
81
|
+
title: "No se encontro el elemento",
|
|
82
|
+
detail: "No se encontro el negocio",
|
|
83
|
+
suggestion: "Verifica su existencia",
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
await Company.deleteOne({
|
|
88
|
+
_id: req.params.COMPANY_ID,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
res.status(200).send("Success");
|
|
92
|
+
} catch (error) {
|
|
93
|
+
await errorController.responseError(res, error);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
self.picture = async (req, res) => {
|
|
98
|
+
try {
|
|
99
|
+
let company = await Company.findOne({ _id: req.params.COMPANY_ID });
|
|
100
|
+
|
|
101
|
+
const imgUrl = await AlouxAWS.upload(
|
|
102
|
+
"company/" + "picture" + "-" + req.params.COMPANY_ID,
|
|
103
|
+
req.files.picture
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
company.imgUrl = imgUrl;
|
|
107
|
+
const updateBusiness = await company.save();
|
|
108
|
+
|
|
109
|
+
res.status(202).send(updateBusiness);
|
|
110
|
+
} catch (error) {
|
|
111
|
+
res.status(400).send({ error: error.message });
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
self.favicon = async (req, res) => {
|
|
116
|
+
try {
|
|
117
|
+
let company = await Company.findOne({ _id: req.params.COMPANY_ID });
|
|
118
|
+
|
|
119
|
+
const faviconUrl = await AlouxAWS.upload(
|
|
120
|
+
"company/" + "favicon" + "-" + req.params.COMPANY_ID,
|
|
121
|
+
req.files.favicon
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
company.faviconUrl = faviconUrl;
|
|
125
|
+
const updateBusiness = await company.save();
|
|
126
|
+
|
|
127
|
+
res.status(202).send(updateBusiness);
|
|
128
|
+
} catch (error) {
|
|
129
|
+
res.status(400).send({ error: error.message });
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
self.identity = async (req, res) => {
|
|
134
|
+
try {
|
|
135
|
+
const detail = await Company.findOne(
|
|
136
|
+
{
|
|
137
|
+
id: req.params.ID,
|
|
138
|
+
},
|
|
139
|
+
{ name: 1, imgUrl: 1, faviconUrl: 1 }
|
|
140
|
+
).lean();
|
|
141
|
+
if (!detail) {
|
|
142
|
+
throw {
|
|
143
|
+
code: 404,
|
|
144
|
+
title: "No se encontro el elemento",
|
|
145
|
+
detail: "No existe el negocio seleccionado",
|
|
146
|
+
suggestion: "Revisa que el negocio exista",
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
delete detail._id;
|
|
150
|
+
res.status(200).send(detail);
|
|
151
|
+
} catch (error) {
|
|
152
|
+
await errorController.responseError(res, error);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
const Functions = require('../models/Functions')
|
|
2
|
-
const user = require('./user')
|
|
3
|
-
const self = module.exports
|
|
4
|
-
|
|
5
|
-
self.create = async (req, res) => {
|
|
6
|
-
try {
|
|
7
|
-
const functions = new Functions(req.body)
|
|
8
|
-
functions.createdAt = (new Date()).getTime()
|
|
9
|
-
functions.status = 'Activo'
|
|
10
|
-
await functions.save()
|
|
11
|
-
res.status(201).send(functions)
|
|
12
|
-
} catch (error) {
|
|
13
|
-
console.log(error)
|
|
14
|
-
res.status(400).send({error:error.message})
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
self.update = async (req, resp) => {
|
|
19
|
-
try {
|
|
20
|
-
await (new Functions(req.body)).validate()
|
|
21
|
-
const count = await Functions.findOne({_id:req.params.FUNCTION_ID}).countDocuments()
|
|
22
|
-
if(!count)
|
|
23
|
-
throw new Error('Upss! No se encontró el registro')
|
|
24
|
-
req.body.lastUpdate = (new Date()).getTime()
|
|
25
|
-
const result = await Functions.updateOne({_id:req.params.FUNCTION_ID}, req.body)
|
|
26
|
-
resp.status(200).send(req.body)
|
|
27
|
-
} catch (error) {
|
|
28
|
-
resp.status(400).send({error:error.message})
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
self.status = async (req, resp) => {
|
|
32
|
-
try {
|
|
33
|
-
const _id = req.params.FUNCTION_ID
|
|
34
|
-
const functions = await Functions.findOne({ _id })
|
|
35
|
-
if(!functions)
|
|
36
|
-
throw new Error('Upss! No se encontró el Elemento')
|
|
37
|
-
functions.status = req.body.status
|
|
38
|
-
functions.lastUpdate = (new Date()).getTime()
|
|
39
|
-
const result = await functions.save()
|
|
40
|
-
resp.status(200).send(result)
|
|
41
|
-
} catch (error) {
|
|
42
|
-
resp.status(400).send({error:error.message})
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
self.retrieve = async(req, res) => {
|
|
46
|
-
try {
|
|
47
|
-
const response = await Functions.find({}).sort({ createdAt:-1 })
|
|
48
|
-
res.status(200).send(response)
|
|
49
|
-
} catch (error) {
|
|
50
|
-
res.status(400).send(error)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
self.get = async(req, res) => {
|
|
55
|
-
try {
|
|
56
|
-
const _id = req.params.FUNCTION_ID
|
|
57
|
-
const functions = await Functions.findOne({ _id }).populate([{ path: "_permissions" },{ path: "_menus" }]).lean()
|
|
58
|
-
if(!functions)
|
|
59
|
-
res.status(404).send()
|
|
60
|
-
res.status(200).send(functions)
|
|
61
|
-
} catch (error) {
|
|
62
|
-
res.status(400).send(error)
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
self.delete = async(req, res) => {
|
|
67
|
-
try {
|
|
68
|
-
|
|
69
|
-
const _id = req.params.FUNCTION_ID
|
|
70
|
-
const response = await Functions.deleteOne({ _id })
|
|
71
|
-
if(!response.deletedCount)
|
|
72
|
-
res.status(404).send({ error : "El registro no existe"})
|
|
73
|
-
else
|
|
74
|
-
res.status(200).send({})
|
|
75
|
-
} catch (error) {
|
|
76
|
-
res.status(400).send({error:error.message})
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
self.count = async(req, res) => {
|
|
81
|
-
try {
|
|
82
|
-
let result = await Functions.find({}).countDocuments()
|
|
83
|
-
res.status(200).send({ count: result })
|
|
84
|
-
} catch (error) {
|
|
85
|
-
res.status(400).send({error:error.message})
|
|
86
|
-
}
|
|
1
|
+
const Functions = require('../models/Functions')
|
|
2
|
+
const user = require('./user')
|
|
3
|
+
const self = module.exports
|
|
4
|
+
|
|
5
|
+
self.create = async (req, res) => {
|
|
6
|
+
try {
|
|
7
|
+
const functions = new Functions(req.body)
|
|
8
|
+
functions.createdAt = (new Date()).getTime()
|
|
9
|
+
functions.status = 'Activo'
|
|
10
|
+
await functions.save()
|
|
11
|
+
res.status(201).send(functions)
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.log(error)
|
|
14
|
+
res.status(400).send({error:error.message})
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
self.update = async (req, resp) => {
|
|
19
|
+
try {
|
|
20
|
+
await (new Functions(req.body)).validate()
|
|
21
|
+
const count = await Functions.findOne({_id:req.params.FUNCTION_ID}).countDocuments()
|
|
22
|
+
if(!count)
|
|
23
|
+
throw new Error('Upss! No se encontró el registro')
|
|
24
|
+
req.body.lastUpdate = (new Date()).getTime()
|
|
25
|
+
const result = await Functions.updateOne({_id:req.params.FUNCTION_ID}, req.body)
|
|
26
|
+
resp.status(200).send(req.body)
|
|
27
|
+
} catch (error) {
|
|
28
|
+
resp.status(400).send({error:error.message})
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
self.status = async (req, resp) => {
|
|
32
|
+
try {
|
|
33
|
+
const _id = req.params.FUNCTION_ID
|
|
34
|
+
const functions = await Functions.findOne({ _id })
|
|
35
|
+
if(!functions)
|
|
36
|
+
throw new Error('Upss! No se encontró el Elemento')
|
|
37
|
+
functions.status = req.body.status
|
|
38
|
+
functions.lastUpdate = (new Date()).getTime()
|
|
39
|
+
const result = await functions.save()
|
|
40
|
+
resp.status(200).send(result)
|
|
41
|
+
} catch (error) {
|
|
42
|
+
resp.status(400).send({error:error.message})
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
self.retrieve = async(req, res) => {
|
|
46
|
+
try {
|
|
47
|
+
const response = await Functions.find({}).sort({ createdAt:-1 })
|
|
48
|
+
res.status(200).send(response)
|
|
49
|
+
} catch (error) {
|
|
50
|
+
res.status(400).send(error)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
self.get = async(req, res) => {
|
|
55
|
+
try {
|
|
56
|
+
const _id = req.params.FUNCTION_ID
|
|
57
|
+
const functions = await Functions.findOne({ _id }).populate([{ path: "_permissions" },{ path: "_menus" }]).lean()
|
|
58
|
+
if(!functions)
|
|
59
|
+
res.status(404).send()
|
|
60
|
+
res.status(200).send(functions)
|
|
61
|
+
} catch (error) {
|
|
62
|
+
res.status(400).send(error)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
self.delete = async(req, res) => {
|
|
67
|
+
try {
|
|
68
|
+
|
|
69
|
+
const _id = req.params.FUNCTION_ID
|
|
70
|
+
const response = await Functions.deleteOne({ _id })
|
|
71
|
+
if(!response.deletedCount)
|
|
72
|
+
res.status(404).send({ error : "El registro no existe"})
|
|
73
|
+
else
|
|
74
|
+
res.status(200).send({})
|
|
75
|
+
} catch (error) {
|
|
76
|
+
res.status(400).send({error:error.message})
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
self.count = async(req, res) => {
|
|
81
|
+
try {
|
|
82
|
+
let result = await Functions.find({}).countDocuments()
|
|
83
|
+
res.status(200).send({ count: result })
|
|
84
|
+
} catch (error) {
|
|
85
|
+
res.status(400).send({error:error.message})
|
|
86
|
+
}
|
|
87
87
|
}
|
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
const History = require("../models/History");
|
|
2
|
-
const self = module.exports;
|
|
3
|
-
|
|
4
|
-
self.create = async (data) => {
|
|
5
|
-
try {
|
|
6
|
-
const history = new History({
|
|
7
|
-
method: data.originalMethod,
|
|
8
|
-
path: data.route.path,
|
|
9
|
-
payload: data.body,
|
|
10
|
-
createdAt: Date.now(),
|
|
11
|
-
});
|
|
12
|
-
const newHistory = await history.save();
|
|
13
|
-
return newHistory;
|
|
14
|
-
} catch (error) {
|
|
15
|
-
return error;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
self.response = async (_history, response, _createdBy, permission) => {
|
|
20
|
-
try {
|
|
21
|
-
if (_createdBy) {
|
|
22
|
-
await History.updateOne(
|
|
23
|
-
{ _id: _history },
|
|
24
|
-
{ response: response, _createdBy: _createdBy, permission: permission }
|
|
25
|
-
);
|
|
26
|
-
} else {
|
|
27
|
-
await History.updateOne(
|
|
28
|
-
{ _id: _history },
|
|
29
|
-
{ response: response, permission: permission }
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
return true;
|
|
33
|
-
} catch (error) {
|
|
34
|
-
return error;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
self.retrieve = async (req, res) => {
|
|
39
|
-
try {
|
|
40
|
-
let query = { $and: [] };
|
|
41
|
-
const response = { items: [], count: 0 };
|
|
42
|
-
|
|
43
|
-
if (req.body?.filter?.method) {
|
|
44
|
-
query.$and.push({ method: req.body.filter.method });
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (req.body?.filter?.description) {
|
|
48
|
-
query.$and.push({
|
|
49
|
-
permission: { $regex: req.body.filter.description, $options: "i" },
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (req.body?.filter?._user) {
|
|
54
|
-
query.$and.push({ _createdBy: req.body.filter._user });
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (req.body.filter?.dateStart > 0 && req.body.filter?.dateEnd > 0) {
|
|
58
|
-
query.$and.push({
|
|
59
|
-
createdAt: {
|
|
60
|
-
$gte: req.body.filter.dateStart,
|
|
61
|
-
$lte: req.body.filter.dateEnd,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (query.$and.length === 0) {
|
|
67
|
-
query = {};
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
response.count = await History.countDocuments(query);
|
|
71
|
-
response.items = await History.find(query)
|
|
72
|
-
.populate({ path: "_createdBy", select: { name: 1, lastName: 1 } })
|
|
73
|
-
.sort({ createdAt: -1 })
|
|
74
|
-
.skip((req.body.config.page - 1) * req.body.config.itemsPerPage)
|
|
75
|
-
.limit(req.body.config.itemsPerPage)
|
|
76
|
-
.lean();
|
|
77
|
-
|
|
78
|
-
res.status(200).send(response);
|
|
79
|
-
} catch (error) {
|
|
80
|
-
res.status(400).send(error);
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
self.detail = async (req, res) => {
|
|
85
|
-
try {
|
|
86
|
-
const history = await History.findOne({ _id: req.params.HISTORY_ID });
|
|
87
|
-
if (!history) {
|
|
88
|
-
return res.status(404).send({
|
|
89
|
-
error: "No se encontró el elemento",
|
|
90
|
-
suggestion: "Verifica que el id del registro sea correcto",
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
res.status(200).send(history);
|
|
94
|
-
} catch (error) {
|
|
95
|
-
res.status(400).send(error);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
1
|
+
const History = require("../models/History");
|
|
2
|
+
const self = module.exports;
|
|
3
|
+
|
|
4
|
+
self.create = async (data) => {
|
|
5
|
+
try {
|
|
6
|
+
const history = new History({
|
|
7
|
+
method: data.originalMethod,
|
|
8
|
+
path: data.route.path,
|
|
9
|
+
payload: data.body,
|
|
10
|
+
createdAt: Date.now(),
|
|
11
|
+
});
|
|
12
|
+
const newHistory = await history.save();
|
|
13
|
+
return newHistory;
|
|
14
|
+
} catch (error) {
|
|
15
|
+
return error;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
self.response = async (_history, response, _createdBy, permission) => {
|
|
20
|
+
try {
|
|
21
|
+
if (_createdBy) {
|
|
22
|
+
await History.updateOne(
|
|
23
|
+
{ _id: _history },
|
|
24
|
+
{ response: response, _createdBy: _createdBy, permission: permission }
|
|
25
|
+
);
|
|
26
|
+
} else {
|
|
27
|
+
await History.updateOne(
|
|
28
|
+
{ _id: _history },
|
|
29
|
+
{ response: response, permission: permission }
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
} catch (error) {
|
|
34
|
+
return error;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
self.retrieve = async (req, res) => {
|
|
39
|
+
try {
|
|
40
|
+
let query = { $and: [] };
|
|
41
|
+
const response = { items: [], count: 0 };
|
|
42
|
+
|
|
43
|
+
if (req.body?.filter?.method) {
|
|
44
|
+
query.$and.push({ method: req.body.filter.method });
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (req.body?.filter?.description) {
|
|
48
|
+
query.$and.push({
|
|
49
|
+
permission: { $regex: req.body.filter.description, $options: "i" },
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (req.body?.filter?._user) {
|
|
54
|
+
query.$and.push({ _createdBy: req.body.filter._user });
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (req.body.filter?.dateStart > 0 && req.body.filter?.dateEnd > 0) {
|
|
58
|
+
query.$and.push({
|
|
59
|
+
createdAt: {
|
|
60
|
+
$gte: req.body.filter.dateStart,
|
|
61
|
+
$lte: req.body.filter.dateEnd,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (query.$and.length === 0) {
|
|
67
|
+
query = {};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
response.count = await History.countDocuments(query);
|
|
71
|
+
response.items = await History.find(query)
|
|
72
|
+
.populate({ path: "_createdBy", select: { name: 1, lastName: 1 } })
|
|
73
|
+
.sort({ createdAt: -1 })
|
|
74
|
+
.skip((req.body.config.page - 1) * req.body.config.itemsPerPage)
|
|
75
|
+
.limit(req.body.config.itemsPerPage)
|
|
76
|
+
.lean();
|
|
77
|
+
|
|
78
|
+
res.status(200).send(response);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
res.status(400).send(error);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
self.detail = async (req, res) => {
|
|
85
|
+
try {
|
|
86
|
+
const history = await History.findOne({ _id: req.params.HISTORY_ID });
|
|
87
|
+
if (!history) {
|
|
88
|
+
return res.status(404).send({
|
|
89
|
+
error: "No se encontró el elemento",
|
|
90
|
+
suggestion: "Verifica que el id del registro sea correcto",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
res.status(200).send(history);
|
|
94
|
+
} catch (error) {
|
|
95
|
+
res.status(400).send(error);
|
|
96
|
+
}
|
|
97
|
+
};
|
package/lib/controllers/label.js
CHANGED
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
const Label = require("../models/Label");
|
|
2
|
-
const self = module.exports;
|
|
3
|
-
|
|
4
|
-
self.create = async (req, res) => {
|
|
5
|
-
try {
|
|
6
|
-
const label = new Label(req.body);
|
|
7
|
-
label.createdAt = new Date().getTime();
|
|
8
|
-
label.status = "Activo";
|
|
9
|
-
await label.save();
|
|
10
|
-
res.status(201).send(label);
|
|
11
|
-
} catch (error) {
|
|
12
|
-
res.status(400).send({ error: error.message });
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
self.update = async (req, resp) => {
|
|
17
|
-
try {
|
|
18
|
-
await new Label(req.body).validate();
|
|
19
|
-
const _id = req.params.LABEL_ID;
|
|
20
|
-
const count = await Label.findOne({ _id }).countDocuments();
|
|
21
|
-
if (!count) throw new Error("Upss! No se encontró el registro");
|
|
22
|
-
req.body.lastUpdate = new Date().getTime();
|
|
23
|
-
const result = await Label.updateOne({ _id }, req.body);
|
|
24
|
-
resp.status(200).send(req.body);
|
|
25
|
-
} catch (error) {
|
|
26
|
-
resp.status(400).send({ error: error.message });
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
self.status = async (req, resp) => {
|
|
30
|
-
try {
|
|
31
|
-
const _id = req.params.LABEL_ID;
|
|
32
|
-
const user = await Label.findOne({ _id });
|
|
33
|
-
if (!user) throw new Error("Upss! No se encontró el Elemento");
|
|
34
|
-
user.status = req.body.status;
|
|
35
|
-
user.lastUpdate = new Date().getTime();
|
|
36
|
-
const result = await user.save();
|
|
37
|
-
resp.status(200).send(result);
|
|
38
|
-
} catch (error) {
|
|
39
|
-
resp.status(400).send({ error: error.message });
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
self.retrieve = async (req, res) => {
|
|
43
|
-
try {
|
|
44
|
-
const consulta = await Label.find({}).sort({ index: 1 });
|
|
45
|
-
if (!consulta) res.status(404).send();
|
|
46
|
-
res.status(200).send(consulta);
|
|
47
|
-
} catch (error) {
|
|
48
|
-
res.status(400).send(error);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
self.get = async (req, res) => {
|
|
53
|
-
try {
|
|
54
|
-
const _id = req.params.LABEL_ID;
|
|
55
|
-
const label = await Label.findOne({ _id });
|
|
56
|
-
if (!label) res.status(404).send();
|
|
57
|
-
res.status(200).send(label);
|
|
58
|
-
} catch (error) {
|
|
59
|
-
res.status(400).send(error);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
self.delete = async (req, res) => {
|
|
64
|
-
try {
|
|
65
|
-
const _id = req.params.LABEL_ID;
|
|
66
|
-
const response = await Label.deleteOne({ _id });
|
|
67
|
-
if (!response.deletedCount)
|
|
68
|
-
res.status(404).send({ error: "El registro no existe" });
|
|
69
|
-
else res.status(200).send({});
|
|
70
|
-
} catch (error) {
|
|
71
|
-
res.status(400).send({ error: error.message });
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
self.count = async (req, res) => {
|
|
76
|
-
try {
|
|
77
|
-
let result = await Label.find({}).countDocuments();
|
|
78
|
-
res.status(200).send({ count: result });
|
|
79
|
-
} catch (error) {
|
|
80
|
-
res.status(400).send({ error: error.message });
|
|
81
|
-
}
|
|
82
|
-
};
|
|
1
|
+
const Label = require("../models/Label");
|
|
2
|
+
const self = module.exports;
|
|
3
|
+
|
|
4
|
+
self.create = async (req, res) => {
|
|
5
|
+
try {
|
|
6
|
+
const label = new Label(req.body);
|
|
7
|
+
label.createdAt = new Date().getTime();
|
|
8
|
+
label.status = "Activo";
|
|
9
|
+
await label.save();
|
|
10
|
+
res.status(201).send(label);
|
|
11
|
+
} catch (error) {
|
|
12
|
+
res.status(400).send({ error: error.message });
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
self.update = async (req, resp) => {
|
|
17
|
+
try {
|
|
18
|
+
await new Label(req.body).validate();
|
|
19
|
+
const _id = req.params.LABEL_ID;
|
|
20
|
+
const count = await Label.findOne({ _id }).countDocuments();
|
|
21
|
+
if (!count) throw new Error("Upss! No se encontró el registro");
|
|
22
|
+
req.body.lastUpdate = new Date().getTime();
|
|
23
|
+
const result = await Label.updateOne({ _id }, req.body);
|
|
24
|
+
resp.status(200).send(req.body);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
resp.status(400).send({ error: error.message });
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
self.status = async (req, resp) => {
|
|
30
|
+
try {
|
|
31
|
+
const _id = req.params.LABEL_ID;
|
|
32
|
+
const user = await Label.findOne({ _id });
|
|
33
|
+
if (!user) throw new Error("Upss! No se encontró el Elemento");
|
|
34
|
+
user.status = req.body.status;
|
|
35
|
+
user.lastUpdate = new Date().getTime();
|
|
36
|
+
const result = await user.save();
|
|
37
|
+
resp.status(200).send(result);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
resp.status(400).send({ error: error.message });
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
self.retrieve = async (req, res) => {
|
|
43
|
+
try {
|
|
44
|
+
const consulta = await Label.find({}).sort({ index: 1 });
|
|
45
|
+
if (!consulta) res.status(404).send();
|
|
46
|
+
res.status(200).send(consulta);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
res.status(400).send(error);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
self.get = async (req, res) => {
|
|
53
|
+
try {
|
|
54
|
+
const _id = req.params.LABEL_ID;
|
|
55
|
+
const label = await Label.findOne({ _id });
|
|
56
|
+
if (!label) res.status(404).send();
|
|
57
|
+
res.status(200).send(label);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
res.status(400).send(error);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
self.delete = async (req, res) => {
|
|
64
|
+
try {
|
|
65
|
+
const _id = req.params.LABEL_ID;
|
|
66
|
+
const response = await Label.deleteOne({ _id });
|
|
67
|
+
if (!response.deletedCount)
|
|
68
|
+
res.status(404).send({ error: "El registro no existe" });
|
|
69
|
+
else res.status(200).send({});
|
|
70
|
+
} catch (error) {
|
|
71
|
+
res.status(400).send({ error: error.message });
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
self.count = async (req, res) => {
|
|
76
|
+
try {
|
|
77
|
+
let result = await Label.find({}).countDocuments();
|
|
78
|
+
res.status(200).send({ count: result });
|
|
79
|
+
} catch (error) {
|
|
80
|
+
res.status(400).send({ error: error.message });
|
|
81
|
+
}
|
|
82
|
+
};
|