nodester 0.1.4 → 0.2.0

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.
Files changed (63) hide show
  1. package/Readme.md +16 -55
  2. package/lib/application/index.js +174 -63
  3. package/lib/body/extract.js +89 -0
  4. package/lib/constants/Bounds.js +15 -0
  5. package/lib/constants/Clauses.js +13 -0
  6. package/lib/constants/ResponseFormats.js +2 -2
  7. package/lib/controllers/methods/index.js +7 -0
  8. package/lib/controllers/mixins/index.js +36 -36
  9. package/lib/database/connection.js +6 -0
  10. package/lib/database/migration.js +14 -4
  11. package/lib/facades/methods/index.js +16 -16
  12. package/lib/facades/mixins/index.js +67 -13
  13. package/lib/factories/responses/rest.js +25 -13
  14. package/lib/http/codes/descriptions.js +82 -0
  15. package/lib/http/codes/index.js +70 -145
  16. package/lib/http/codes/symbols.js +82 -0
  17. package/lib/http/{request.js → request/index.js} +53 -75
  18. package/lib/http/request/utils.js +27 -0
  19. package/lib/http/response/headers.js +138 -0
  20. package/lib/http/response/index.js +248 -0
  21. package/lib/http/response/utils.js +38 -0
  22. package/lib/middlewares/SearchParams/index.js +25 -0
  23. package/lib/middlewares/cookies/index.js +44 -0
  24. package/lib/middlewares/etag/index.js +32 -15
  25. package/lib/middlewares/formidable/index.js +30 -25
  26. package/lib/middlewares/ql/sequelize/index.js +13 -4
  27. package/lib/middlewares/ql/sequelize/interpreter/QueryLexer.js +4 -3
  28. package/lib/middlewares/render/index.js +62 -0
  29. package/lib/models/associate.js +25 -1
  30. package/lib/models/define.js +26 -19
  31. package/lib/models/mixins.js +8 -1
  32. package/lib/{queries → query}/traverse.js +118 -77
  33. package/lib/router/handlers.util.js +1 -0
  34. package/lib/router/index.js +194 -99
  35. package/lib/router/markers.js +7 -0
  36. package/lib/router/route.js +5 -0
  37. package/lib/router/routes.util.js +16 -14
  38. package/lib/router/utils.js +7 -0
  39. package/lib/stacks/MarkersStack.js +41 -3
  40. package/lib/stacks/MiddlewaresStack.js +200 -0
  41. package/lib/structures/Enum.js +46 -0
  42. package/lib/structures/Filter.js +156 -0
  43. package/lib/structures/Params.js +55 -0
  44. package/lib/tools/sql.tool.js +7 -0
  45. package/lib/utils/objects.util.js +31 -24
  46. package/lib/utils/sanitizations.util.js +10 -4
  47. package/lib/validators/arguments.js +68 -0
  48. package/lib/validators/dates.js +7 -0
  49. package/lib/validators/numbers.js +7 -0
  50. package/package.json +20 -10
  51. package/lib/database/utils.js +0 -19
  52. package/lib/enums/Enum.js +0 -16
  53. package/lib/http/response.js +0 -1074
  54. package/lib/http/utils.js +0 -254
  55. package/lib/params/Params.js +0 -37
  56. package/lib/policies/Role.js +0 -77
  57. package/lib/policies/RoleExtracting.js +0 -97
  58. package/lib/preprocessors/BodyPreprocessor.js +0 -61
  59. package/lib/queries/Colander.js +0 -107
  60. package/lib/queries/NodesterQueryParams.js +0 -145
  61. package/lib/services/includes.service.js +0 -79
  62. package/lib/services/jwt.service.js +0 -147
  63. package/lib/stacks/MiddlewareStack.js +0 -159
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "nodester",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "A boilerplate framework for Node.js",
5
5
  "exports": {
6
6
  ".": "./lib/application/index.js",
7
7
 
8
+ "./body/extract": "./lib/body/extract.js",
9
+
8
10
  "./constants/ErrorCodes": "./lib/constants/ErrorCodes.js",
9
11
 
10
12
  "./controllers/methods": "./lib/controllers/methods/index.js",
@@ -14,7 +16,7 @@
14
16
  "./database/migration": "./lib/database/migration.js",
15
17
  "./database/utils": "./lib/database/utils.js",
16
18
 
17
- "./enum": "./lib/enums/Enum.js",
19
+ "./enum": "./lib/structures/Enum.js",
18
20
 
19
21
  "./facades/methods": "./lib/facades/methods/index.js",
20
22
  "./facades/mixins": "./lib/facades/mixins/index.js",
@@ -22,26 +24,36 @@
22
24
  "./factories/errors": "./lib/factories/errors/index.js",
23
25
  "./factories/responses/rest": "./lib/factories/responses/rest/index.js",
24
26
 
27
+ "./filter": "./lib/structures/Filter.js",
28
+
25
29
  "./http/codes": "./lib/http/codes/index.js",
30
+ "./http/codes/descriptions": "./lib/http/codes/descriptions.js",
31
+ "./http/codes/symbols": "./lib/http/codes/symbols.js",
32
+
26
33
  "./loggers/console": "./lib/loggers/console.js",
27
34
  "./loggers/dev": "./lib/loggers/dev.js",
28
35
 
36
+ "./middlewares/cookies": "./lib/middlewares/cookies/index.js",
29
37
  "./middlewares/formidable": "./lib/middlewares/formidable/index.js",
38
+ "./middlewares/SearchParams": "./lib/middlewares/SearchParams/index.js",
30
39
 
31
40
  "./models/associate": "./lib/models/associate.js",
32
41
  "./models/define": "./lib/models/define.js",
33
42
 
34
- "./params": "./lib/params/Params.js",
43
+ "./params": "./lib/structures/Params.js",
35
44
 
36
- "./ql/sequelize": "./lib/middlewares/ql/sequelize",
37
- "./queries/Colander": "./lib/queries/Colander.js",
38
- "./queries/traverse": "./lib/queries/traverse.js",
45
+ "./ql/sequelize": "./lib/middlewares/ql/sequelize/index.js",
46
+ "./query/traverse": "./lib/query/traverse.js",
39
47
 
40
48
  "./route": "./lib/router/route.js",
41
49
  "./router": "./lib/router/index.js",
42
50
 
51
+ "./stacks/markers": "./lib/stacks/MarkersStack.js",
52
+ "./stacks/middlewares": "./lib/stacks/MiddlewaresStack.js",
53
+
43
54
  "./utils/sql": "./lib/utils/sql.util.js",
44
- "./utils/strings": "./lib/utils/strings.util.js"
55
+ "./utils/strings": "./lib/utils/strings.util.js",
56
+ "./utils/sanitizations": "./lib/utils/sanitizations.util.js"
45
57
  },
46
58
  "directories": {
47
59
  "doc": "docs"
@@ -77,8 +89,6 @@
77
89
  "accepts": "^1.3.8",
78
90
  "body-parser": "^1.20.2",
79
91
  "common-js-file-extensions": "^1.0.4",
80
- "content-disposition": "^0.5.4",
81
- "content-type": "^1.0.5",
82
92
  "cookie": "^0.5.0",
83
93
  "cookie-signature": "^1.2.0",
84
94
  "debug": "^4.3.4",
@@ -88,13 +98,13 @@
88
98
  "fresh": "^0.5.2",
89
99
  "http-errors": "^2.0.0",
90
100
  "inflection": "^2.0.1",
101
+ "mime": "^3.0.0",
91
102
  "mysql2": "^3.6.0",
92
103
  "pg": "^8.11.3",
93
104
  "pg-hstore": "^2.3.4",
94
105
  "proxy-addr": "^2.0.7",
95
106
  "qs": "^6.11.0",
96
107
  "range-parser": "^1.2.1",
97
- "send": "^0.18.0",
98
108
  "sequelize": "^6.6.5",
99
109
  "type-is": "^1.6.18",
100
110
  "vary": "^1.1.2"
@@ -1,19 +0,0 @@
1
-
2
- module.exports = {
3
- associateModels: _associateModels
4
- }
5
-
6
- async function _associateModels(models) {
7
- return new Promise((resolve, reject) => {
8
- try {
9
- Object.keys(models).map(modelName => (
10
- models[modelName].associate(models)
11
- ));
12
-
13
- return resolve(models);
14
- }
15
- catch(error) {
16
- reject(error);
17
- }
18
- });
19
- }
package/lib/enums/Enum.js DELETED
@@ -1,16 +0,0 @@
1
-
2
- module.exports = Enum;
3
-
4
- function Enum(constantsList = {}, writable=false) {
5
- const def = (key, value) => Object.defineProperty(this, key, { value, writable: !!writable });
6
-
7
- // Set list.
8
- def('list', constantsList);
9
-
10
- // Set getters:
11
- Object.keys(constantsList)
12
- .forEach(key => def(key, constantsList[key]) );
13
-
14
- // Set constants in static array.
15
- def('asArray', Object.values(constantsList) );
16
- }