beech-api 3.5.12 → 3.7.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 (66) hide show
  1. package/README.md +400 -185
  2. package/index.js +2 -3
  3. package/package.json +9 -6
  4. package/packages/cli/beech +2 -2
  5. package/packages/cli/bin/{beech.js → beech-app.js} +86 -28
  6. package/packages/cli/bin/beech-service.js +40 -212
  7. package/packages/cli/core/auth/Credentials.js +76 -35
  8. package/packages/cli/core/auth/Passport.js +318 -188
  9. package/packages/cli/core/auth/_Request.js +12 -0
  10. package/packages/cli/core/configure/_gitignore +9 -1
  11. package/packages/cli/core/configure/app.config-basic.js +10 -10
  12. package/packages/cli/core/configure/app.config-sequelize.js +12 -12
  13. package/packages/cli/core/configure/beech.config.js +8 -0
  14. package/packages/cli/core/configure/global.config-basic.js +4 -4
  15. package/packages/cli/core/configure/global.config-sequelize.js +4 -4
  16. package/packages/cli/core/configure/passport.config.js +5 -15
  17. package/packages/cli/core/databases/mysql.js +53 -29
  18. package/packages/cli/core/databases/sequelize.js +135 -107
  19. package/packages/cli/core/databases/test.js +168 -0
  20. package/packages/cli/core/file-walk/file-walk.js +31 -14
  21. package/packages/cli/core/generator/_add-on +15 -2
  22. package/packages/cli/core/generator/_endpoints +15 -82
  23. package/packages/cli/core/generator/_endpoints_basic +39 -0
  24. package/packages/cli/core/generator/_help +12 -11
  25. package/packages/cli/core/generator/_help_create +11 -0
  26. package/packages/cli/core/generator/{_service → _help_service} +4 -1
  27. package/packages/cli/core/generator/_models +20 -15
  28. package/packages/cli/core/generator/{_basic-models → _models_basic} +0 -2
  29. package/packages/cli/core/generator/_package +4 -3
  30. package/packages/cli/core/generator/index.js +302 -95
  31. package/packages/cli/core/helpers/math.js +55 -0
  32. package/packages/cli/core/helpers/poolEntity.js +31 -0
  33. package/packages/cli/core/index.js +96 -28
  34. package/packages/cli/core/origin/index.js +2 -0
  35. package/packages/cli/core/origin/whitelist/cors.js +91 -0
  36. package/packages/cli/core/services/http.express.js +338 -203
  37. package/packages/cli/core/test/utils.js +5 -5
  38. package/packages/lib/index.js +4 -0
  39. package/packages/lib/src/endpoint.js +98 -0
  40. package/packages/lib/src/salt.js +3 -0
  41. package/packages/lib/src/schema.js +62 -0
  42. package/packages/lib/src/user.js +196 -0
  43. package/packages/package.json +4 -7
  44. package/packages/cli/core/generator/_create +0 -7
  45. package/packages/lib/beech.js +0 -136
  46. package/packages/lib/salt.js +0 -3
  47. package/packages/src-/Add-on.js +0 -9
  48. package/packages/src-/endpoints/hello-endpoints.js +0 -118
  49. package/packages/src-/endpoints/test2-endpoints.js +0 -75
  50. package/packages/src-/endpoints/testSequalize-endpoints.js +0 -23
  51. package/packages/src-/helpers/Test2.js +0 -11
  52. package/packages/src-/helpers/my/Test.js +0 -11
  53. package/packages/src-/helpers/my/Test2.js +0 -11
  54. package/packages/src-/helpers/my/Test3.js +0 -11
  55. package/packages/src-/helpers/my/Test4.js +0 -11
  56. package/packages/src-/models/Jubu.js +0 -29
  57. package/packages/src-/models/Jubu2.js +0 -20
  58. package/packages/src-/models/Map_master.js +0 -22
  59. package/packages/src-/models/Test.js +0 -29
  60. package/packages/src-/models/Test2.js +0 -29
  61. package/packages/src-/models/User2Sequelize.js +0 -23
  62. package/packages/src-/models/Users-sqlite.js +0 -21
  63. package/packages/src-/models/Users.js +0 -53
  64. package/packages/src-/models/Uuuuuxxx.js +0 -23
  65. package/packages/src-/models/xxx/Uuuuuxxx.js +0 -23
  66. /package/packages/cli/core/generator/{_basic-helpers → _helpers_basic} +0 -0
@@ -7,50 +7,91 @@ module.exports = {
7
7
  // error check
8
8
  if (err) {
9
9
  console.log(err, info);
10
- return next(err);
10
+ return res.status(401).json({
11
+ code: 401,
12
+ error: "UNAUTHORIZED",
13
+ message: {
14
+ name: "WrongTokenError",
15
+ message: "token error."
16
+ },
17
+ /* dev: { err, info } */ // for dev info
18
+ });
11
19
  }
12
20
  // anything token check
13
21
  if (!user) {
14
- if (info.name == 'TokenExpiredError') {
15
- return res.status(401).json({
16
- code: 401,
17
- status: 'error',
18
- error: 'TOKEN_EXPIRED',
19
- message: info
20
- });
21
- }
22
- if (info.name == 'Error') {
23
- return res.status(401).json({
24
- code: 401,
25
- status: 'error',
26
- error: 'NO_AUTH_TOKEN',
27
- message: {
28
- name: 'NoTokenError',
29
- message: 'No auth token'
30
- }
31
- });
32
- }
33
- if (info.name == 'SyntaxError') {
34
- return res.status(401).json({
35
- code: 401,
36
- status: 'error',
37
- error: 'PAYLOAD_SYNTAX_ERROR',
38
- message: {
39
- name: 'SyntaxError',
40
- message: 'Unexpected token < in JSON at position 0'
41
- }
42
- });
22
+ if(info) {
23
+ if (info.name == 'TokenExpiredError') {
24
+ return res.status(401).json({
25
+ code: 401,
26
+ status: 'TOKEN_EXPIRED',
27
+ message: info
28
+ });
29
+ }
30
+ if (info.name == 'Error') {
31
+ return res.status(401).json({
32
+ code: 401,
33
+ status: 'NO_AUTH_TOKEN',
34
+ message: {
35
+ name: 'NoTokenError',
36
+ message: 'No auth token'
37
+ }
38
+ });
39
+ }
40
+ if (info.name == 'SyntaxError') {
41
+ return res.status(401).json({
42
+ code: 401,
43
+ status: 'PAYLOAD_SYNTAX_ERROR',
44
+ message: {
45
+ name: 'SyntaxError',
46
+ message: 'Unexpected token < in JSON at position 0'
47
+ }
48
+ });
49
+ }
43
50
  }
44
51
  return res.status(401).json({
45
52
  code: 401,
46
- status: 'error',
47
- error: 'UNAUTHORIZED_USER',
53
+ status: 'UNAUTHORIZED_USER',
48
54
  message: info
49
55
  });
50
56
  }
51
- // Forward user information to the next middleware
52
- req.user = user;
53
- next();
57
+ // Check application key allow
58
+ const p1 = new Promise((resolve) => {
59
+ if (_passport_config_.app_key_allow) {
60
+ if (req.headers.app_key) {
61
+ if (_config_.main_config.app_key == req.headers.app_key) {
62
+ resolve(true);
63
+ } else {
64
+ res.status(401).json({
65
+ code: 401,
66
+ status: "BAD_REQUEST",
67
+ message: "Unauthorized with wrong key."
68
+ });
69
+ }
70
+ } else {
71
+ res.status(422).json({
72
+ code: 422,
73
+ status: "BAD_ENTIRY",
74
+ message: "Unprocessable Entity."
75
+ });
76
+ }
77
+ } else {
78
+ resolve(true);
79
+ }
80
+ });
81
+ Promise.all([p1]).then((passed) => {
82
+ if(passed) {
83
+ // Forward user information to the next middleware
84
+ req.user = user;
85
+ next();
86
+ } else {
87
+ // When wrong all case above.
88
+ res.status(401).json({
89
+ code: 401,
90
+ status: "ERR_UNAUTHORIZED_ENTIRY",
91
+ message: "Unauthorized with wrong key."
92
+ });
93
+ }
94
+ });
54
95
  })(req, res, next);
55
96
  }
56
97
  }