expressa 2.1.0 → 2.1.2

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 (190) hide show
  1. package/.circleci/config.yml +21 -21
  2. package/.eslintrc.json +29 -29
  3. package/LICENSE +21 -21
  4. package/README.md +137 -137
  5. package/auth/jwt.js +31 -31
  6. package/controllers/collections.js +299 -260
  7. package/controllers/install.js +105 -105
  8. package/controllers/status.js +43 -43
  9. package/controllers/users.js +52 -52
  10. package/cypress/fixtures/example.json +4 -4
  11. package/cypress/integration/0_install_spec.js +8 -8
  12. package/cypress/integration/custom_collections.js +30 -30
  13. package/cypress/integration/home.js +9 -9
  14. package/cypress/integration/settings.js +34 -34
  15. package/cypress/integration/users.js +61 -61
  16. package/cypress/plugins/index.js +17 -17
  17. package/cypress/support/commands.js +69 -69
  18. package/cypress/support/index.js +20 -20
  19. package/cypress/support/util.js +10 -10
  20. package/cypress.config.js +18 -18
  21. package/cypress.json +4 -4
  22. package/db/cached.js +44 -44
  23. package/db/file.js +131 -131
  24. package/db/memory.js +92 -92
  25. package/db/mongo.js +93 -93
  26. package/db/postgres.js +100 -100
  27. package/doc/authentication.md +38 -38
  28. package/doc/automatic-fields.md +12 -12
  29. package/doc/blogexample.md +16 -16
  30. package/doc/custom-endpoints.md +20 -20
  31. package/doc/database.md +23 -23
  32. package/doc/development.md +33 -33
  33. package/doc/listeners.md +103 -103
  34. package/doc/modules.md +8 -8
  35. package/doc/permissions.md +14 -14
  36. package/doc/relationships.md +65 -65
  37. package/doc/testing.md +47 -47
  38. package/doc/uploading-files.md +53 -53
  39. package/listeners.js +65 -65
  40. package/listeners_collection_permissions.js +29 -29
  41. package/listeners_users.js +96 -96
  42. package/listeners_validation.js +43 -43
  43. package/middleware/logging.js +30 -30
  44. package/middleware/permissions.js +41 -41
  45. package/modules/access_keys/access_keys.js +32 -32
  46. package/modules/admin/.babelrc +8 -8
  47. package/modules/admin/.editorconfig +14 -14
  48. package/modules/admin/.eslintignore +5 -5
  49. package/modules/admin/.eslintrc.js +197 -197
  50. package/modules/admin/.postcssrc.js +10 -10
  51. package/modules/admin/.travis.yml +5 -5
  52. package/modules/admin/LICENSE +21 -21
  53. package/modules/admin/README.md +88 -88
  54. package/modules/admin/build/build.js +46 -46
  55. package/modules/admin/build/check-versions.js +64 -64
  56. package/modules/admin/build/utils.js +109 -109
  57. package/modules/admin/build/vue-loader.conf.js +5 -5
  58. package/modules/admin/build/webpack.base.conf.js +112 -112
  59. package/modules/admin/build/webpack.dev.conf.js +95 -95
  60. package/modules/admin/build/webpack.prod.conf.js +112 -112
  61. package/modules/admin/config/dev.env.js +8 -8
  62. package/modules/admin/config/index.js +86 -86
  63. package/modules/admin/config/prod.env.js +5 -5
  64. package/modules/admin/dist/css/430.8c9b0482.css +8 -0
  65. package/modules/admin/dist/css/430.8c9b0482.css.gz +0 -0
  66. package/modules/admin/dist/css/566.7a90435e.css +7 -0
  67. package/modules/admin/dist/css/566.7a90435e.css.gz +0 -0
  68. package/modules/admin/dist/css/569.db9a10c2.css +213 -0
  69. package/modules/admin/dist/css/569.db9a10c2.css.gz +0 -0
  70. package/modules/admin/dist/css/572.513a323e.css +210 -0
  71. package/modules/admin/dist/css/572.513a323e.css.gz +0 -0
  72. package/modules/admin/dist/css/622.7a90435e.css +7 -0
  73. package/modules/admin/dist/css/622.7a90435e.css.gz +0 -0
  74. package/modules/admin/dist/css/651.e946bda7.css +6 -0
  75. package/modules/admin/dist/css/651.e946bda7.css.gz +0 -0
  76. package/modules/admin/dist/css/750.79723422.css +2 -0
  77. package/modules/admin/dist/css/750.79723422.css.gz +0 -0
  78. package/modules/admin/dist/css/798.c6646d20.css +1 -0
  79. package/modules/admin/dist/css/798.c6646d20.css.gz +0 -0
  80. package/modules/admin/dist/css/950.1fd9d57c.css +7 -0
  81. package/modules/admin/dist/css/950.1fd9d57c.css.gz +0 -0
  82. package/modules/admin/dist/css/app.c25a6c6c.css +592 -0
  83. package/modules/admin/dist/css/app.c25a6c6c.css.gz +0 -0
  84. package/modules/admin/dist/favicon.ico +0 -0
  85. package/modules/admin/dist/index.html +1 -0
  86. package/modules/admin/dist/static/fonts/element-icons.313f7da.woff +0 -0
  87. package/modules/admin/dist/static/fonts/element-icons.4520188.ttf +0 -0
  88. package/modules/admin/dist/static/img/404.4cf6930.png +0 -0
  89. package/modules/admin/dist/static/js/311.03ef5ed9.js +1 -0
  90. package/modules/admin/dist/static/js/311.03ef5ed9.js.gz +0 -0
  91. package/modules/admin/dist/static/js/430.ddfa4b9e.js +1 -0
  92. package/modules/admin/dist/static/js/430.ddfa4b9e.js.gz +0 -0
  93. package/modules/admin/dist/static/js/460.770a630c.js +1 -0
  94. package/modules/admin/dist/static/js/460.770a630c.js.gz +0 -0
  95. package/modules/admin/dist/static/js/550.e9a3a306.js +1 -0
  96. package/modules/admin/dist/static/js/550.e9a3a306.js.gz +0 -0
  97. package/modules/admin/dist/static/js/569.711f16a3.js +1 -0
  98. package/modules/admin/dist/static/js/569.711f16a3.js.gz +0 -0
  99. package/modules/admin/dist/static/js/572.5c8cfea9.js +1 -0
  100. package/modules/admin/dist/static/js/572.5c8cfea9.js.gz +0 -0
  101. package/modules/admin/dist/static/js/603.bbe5ed23.js +1 -0
  102. package/modules/admin/dist/static/js/603.bbe5ed23.js.gz +0 -0
  103. package/modules/admin/dist/static/js/622.9f06567e.js +1 -0
  104. package/modules/admin/dist/static/js/622.9f06567e.js.gz +0 -0
  105. package/modules/admin/dist/static/js/651.86d741f0.js +1 -0
  106. package/modules/admin/dist/static/js/651.86d741f0.js.gz +0 -0
  107. package/modules/admin/dist/static/js/653.7a309059.js +1 -0
  108. package/modules/admin/dist/static/js/653.7a309059.js.gz +0 -0
  109. package/modules/admin/dist/static/js/750.10551ec8.js +1 -0
  110. package/modules/admin/dist/static/js/750.10551ec8.js.gz +0 -0
  111. package/modules/admin/dist/static/js/798.93ec90bc.js +1 -0
  112. package/modules/admin/dist/static/js/798.93ec90bc.js.gz +0 -0
  113. package/modules/admin/dist/static/js/950.d7f72b66.js +1 -0
  114. package/modules/admin/dist/static/js/950.d7f72b66.js.gz +0 -0
  115. package/modules/admin/dist/static/js/app.23870b61.js +2 -0
  116. package/modules/admin/dist/static/js/app.23870b61.js.LICENSE.txt +121 -0
  117. package/modules/admin/dist/static/js/app.23870b61.js.LICENSE.txt.gz +0 -0
  118. package/modules/admin/dist/static/js/app.23870b61.js.gz +0 -0
  119. package/modules/admin/index.html +16 -16
  120. package/modules/admin/package.json +101 -101
  121. package/modules/admin/src/App.vue +11 -11
  122. package/modules/admin/src/api/login.js +26 -26
  123. package/modules/admin/src/api/table.js +9 -9
  124. package/modules/admin/src/components/Breadcrumb/index.vue +79 -79
  125. package/modules/admin/src/components/Hamburger/index.vue +62 -62
  126. package/modules/admin/src/components/JSONEditor.vue +206 -206
  127. package/modules/admin/src/components/SvgIcon/index.vue +43 -43
  128. package/modules/admin/src/icons/index.js +9 -9
  129. package/modules/admin/src/icons/svgo.yml +22 -22
  130. package/modules/admin/src/main.js +42 -42
  131. package/modules/admin/src/permission.js +49 -49
  132. package/modules/admin/src/router/index.js +200 -200
  133. package/modules/admin/src/store/getters.js +11 -11
  134. package/modules/admin/src/store/index.js +17 -17
  135. package/modules/admin/src/store/modules/app.js +43 -43
  136. package/modules/admin/src/store/modules/user.js +104 -104
  137. package/modules/admin/src/styles/element-ui.scss +29 -29
  138. package/modules/admin/src/styles/index.scss +78 -78
  139. package/modules/admin/src/styles/mixin.scss +27 -27
  140. package/modules/admin/src/styles/sidebar.scss +133 -133
  141. package/modules/admin/src/styles/transition.scss +46 -46
  142. package/modules/admin/src/styles/variables.scss +4 -4
  143. package/modules/admin/src/utils/auth.js +15 -15
  144. package/modules/admin/src/utils/index.js +74 -74
  145. package/modules/admin/src/utils/request.js +47 -47
  146. package/modules/admin/src/utils/validate.js +31 -31
  147. package/modules/admin/src/views/404.vue +235 -235
  148. package/modules/admin/src/views/Dev.vue +33 -33
  149. package/modules/admin/src/views/EditDocument.vue +121 -121
  150. package/modules/admin/src/views/Endpoints.vue +279 -279
  151. package/modules/admin/src/views/Home.vue +84 -84
  152. package/modules/admin/src/views/Install.vue +79 -79
  153. package/modules/admin/src/views/ListDocuments.vue +72 -72
  154. package/modules/admin/src/views/ListDocuments2.vue +467 -467
  155. package/modules/admin/src/views/ManageListeners.vue +67 -67
  156. package/modules/admin/src/views/ManageMiddleware.vue +43 -43
  157. package/modules/admin/src/views/ManagePermissions.vue +75 -75
  158. package/modules/admin/src/views/ViewRequest.vue +77 -77
  159. package/modules/admin/src/views/form/index.vue +91 -91
  160. package/modules/admin/src/views/layout/Layout.vue +69 -69
  161. package/modules/admin/src/views/layout/components/AppMain.vue +41 -41
  162. package/modules/admin/src/views/layout/components/Navbar.vue +97 -97
  163. package/modules/admin/src/views/layout/components/Sidebar/Item.vue +29 -29
  164. package/modules/admin/src/views/layout/components/Sidebar/Link.vue +39 -39
  165. package/modules/admin/src/views/layout/components/Sidebar/SidebarItem.vue +103 -103
  166. package/modules/admin/src/views/layout/components/Sidebar/index.vue +62 -62
  167. package/modules/admin/src/views/layout/components/index.js +3 -3
  168. package/modules/admin/src/views/layout/mixin/ResizeHandler.js +41 -41
  169. package/modules/admin/src/views/login/index.vue +195 -195
  170. package/modules/admin/src/views/tree/index.vue +77 -77
  171. package/modules/collections/collections.js +45 -39
  172. package/modules/core/core.js +197 -197
  173. package/modules/logging/logging.js +88 -88
  174. package/modules/permissions/permissions.js +106 -106
  175. package/package.json +59 -59
  176. package/scripts/expressa +12 -12
  177. package/scripts/run_cypress_tests.sh +35 -35
  178. package/scripts/run_db_tests.sh +8 -8
  179. package/test/0-install.js +96 -96
  180. package/test/collections.js +431 -431
  181. package/test/collections.querying.js +372 -288
  182. package/test/db.js +258 -258
  183. package/test/db.strings.js +73 -73
  184. package/test/db.updating.js +186 -186
  185. package/test/logging.js +29 -29
  186. package/test/test.js +93 -93
  187. package/test/testserver.js +30 -30
  188. package/test/testutils.js +136 -136
  189. package/test/users.js +425 -425
  190. package/util.js +522 -522
@@ -0,0 +1,121 @@
1
+ /*
2
+ object-assign
3
+ (c) Sindre Sorhus
4
+ @license MIT
5
+ */
6
+
7
+ /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
8
+ * @license MIT */
9
+
10
+ /*!
11
+ * Bootstrap v4.6.2 (https://getbootstrap.com/)
12
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
13
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
14
+ */
15
+
16
+ /*!
17
+ * JavaScript Cookie v2.2.0
18
+ * https://github.com/js-cookie/js-cookie
19
+ *
20
+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
21
+ * Released under the MIT license
22
+ */
23
+
24
+ /*!
25
+ * Vue.js v2.5.17
26
+ * (c) 2014-2018 Evan You
27
+ * Released under the MIT License.
28
+ */
29
+
30
+ /*!
31
+ * jQuery JavaScript Library v3.7.1
32
+ * https://jquery.com/
33
+ *
34
+ * Copyright OpenJS Foundation and other contributors
35
+ * Released under the MIT license
36
+ * https://jquery.org/license
37
+ *
38
+ * Date: 2023-08-28T13:37Z
39
+ */
40
+
41
+ /**
42
+ * @license
43
+ * Lodash <https://lodash.com/>
44
+ * Copyright JS Foundation and other contributors <https://js.foundation/>
45
+ * Released under MIT license <https://lodash.com/license>
46
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
47
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
48
+ */
49
+
50
+ /**
51
+ * Checks if an event is supported in the current execution environment.
52
+ *
53
+ * NOTE: This will not work correctly for non-generic events such as `change`,
54
+ * `reset`, `load`, `error`, and `select`.
55
+ *
56
+ * Borrows from Modernizr.
57
+ *
58
+ * @param {string} eventNameSuffix Event name, e.g. "click".
59
+ * @param {?boolean} capture Check if the capture phase is supported.
60
+ * @return {boolean} True if the event is supported.
61
+ * @internal
62
+ * @license Modernizr 3.0.0pre (Custom Build) | MIT
63
+ */
64
+
65
+ /**
66
+ * vuex v3.0.1
67
+ * (c) 2017 Evan You
68
+ * @license MIT
69
+ */
70
+
71
+ /** @license React v0.19.1
72
+ * scheduler.production.min.js
73
+ *
74
+ * Copyright (c) Facebook, Inc. and its affiliates.
75
+ *
76
+ * This source code is licensed under the MIT license found in the
77
+ * LICENSE file in the root directory of this source tree.
78
+ */
79
+
80
+ /** @license React v16.14.0
81
+ * react-dom.production.min.js
82
+ *
83
+ * Copyright (c) Facebook, Inc. and its affiliates.
84
+ *
85
+ * This source code is licensed under the MIT license found in the
86
+ * LICENSE file in the root directory of this source tree.
87
+ */
88
+
89
+ /** @license React v16.14.0
90
+ * react.production.min.js
91
+ *
92
+ * Copyright (c) Facebook, Inc. and its affiliates.
93
+ *
94
+ * This source code is licensed under the MIT license found in the
95
+ * LICENSE file in the root directory of this source tree.
96
+ */
97
+
98
+ /**!
99
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
100
+ * @version 1.16.1
101
+ * @license
102
+ * Copyright (c) 2016 Federico Zivolo and contributors
103
+ *
104
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
105
+ * of this software and associated documentation files (the "Software"), to deal
106
+ * in the Software without restriction, including without limitation the rights
107
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
108
+ * copies of the Software, and to permit persons to whom the Software is
109
+ * furnished to do so, subject to the following conditions:
110
+ *
111
+ * The above copyright notice and this permission notice shall be included in all
112
+ * copies or substantial portions of the Software.
113
+ *
114
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
115
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
116
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
117
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
118
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
119
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
120
+ * SOFTWARE.
121
+ */
@@ -1,16 +1,16 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
- <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
7
- <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js"></script>
8
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
- <script src="settings.js"></script>
10
- <title>Expressa Admin</title>
11
- </head>
12
- <body>
13
- <div id="app"></div>
14
- <!-- built files will be auto injected -->
15
- </body>
16
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
+ <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
7
+ <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js"></script>
8
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
+ <script src="settings.js"></script>
10
+ <title>Expressa Admin</title>
11
+ </head>
12
+ <body>
13
+ <div id="app"></div>
14
+ <!-- built files will be auto injected -->
15
+ </body>
16
+ </html>
@@ -1,101 +1,101 @@
1
- {
2
- "name": "expressa-admin",
3
- "version": "0.0.1",
4
- "license": "MIT",
5
- "description": "Graphical management tool for expressa",
6
- "author": "Thomas Hansen <th4019@gmail.com>",
7
- "scripts": {
8
- "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9
- "start": "npm run dev",
10
- "build": "node build/build.js",
11
- "build:report": "npm_config_report=true npm run build",
12
- "lint": "eslint --ext .js,.vue src --fix",
13
- "test": "npm run lint",
14
- "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
15
- },
16
- "dependencies": {
17
- "@json-editor/json-editor": "^2.5.4",
18
- "axios": "^0.21.1",
19
- "bootstrap": "^4.2.1",
20
- "dot-object": "^2.1.4",
21
- "element-ui": "^2.15.14",
22
- "file-saver": "^2.0.2",
23
- "jquery": "^3.3.1",
24
- "js-cookie": "2.2.0",
25
- "json-schema-editor": "^0.2.10",
26
- "normalize.css": "7.0.0",
27
- "nprogress": "0.2.0",
28
- "object-path": "^0.11.4",
29
- "popper.js": "^1.14.6",
30
- "react": "^16.7.0",
31
- "react-dom": "^16.7.0",
32
- "vue": "2.5.17",
33
- "vue-material-design-icons": "^2.5.0",
34
- "vue-router": "3.0.1",
35
- "vue-unicons": "^3.1.0",
36
- "vuera": "^0.2.3",
37
- "vuex": "3.0.1"
38
- },
39
- "devDependencies": {
40
- "@babel/core": "^7.26.0",
41
- "@babel/plugin-proposal-class-properties": "^7.18.6",
42
- "@babel/plugin-proposal-decorators": "^7.25.9",
43
- "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
44
- "@babel/plugin-transform-runtime": "^7.25.9",
45
- "@babel/preset-env": "^7.26.0",
46
- "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
47
- "autoprefixer": "8.5.0",
48
- "babel-core": "6.26.0",
49
- "babel-eslint": "8.2.6",
50
- "babel-helper-vue-jsx-merge-props": "2.0.3",
51
- "babel-loader": "^9.2.1",
52
- "babel-plugin-syntax-jsx": "6.18.0",
53
- "babel-plugin-transform-runtime": "6.23.0",
54
- "babel-plugin-transform-vue-jsx": "3.7.0",
55
- "chalk": "2.4.1",
56
- "compression-webpack-plugin": "^6.1.1",
57
- "copy-webpack-plugin": "^5.1.0",
58
- "css-loader": "^7.1.2",
59
- "eslint": "^7.0.0",
60
- "eslint-friendly-formatter": "^4.0.1",
61
- "eslint-loader": "^4.0.2",
62
- "eslint-plugin-vue": "^7.0.0",
63
- "file-loader": "^6.2.0",
64
- "html-webpack-plugin": "^4.0.0",
65
- "mini-css-extract-plugin": "^2.9.2",
66
- "node-notifier": "8.0.1",
67
- "ora": "3.0.0",
68
- "path-browserify": "^1.0.1",
69
- "path-to-regexp": "2.4.0",
70
- "portfinder": "1.0.16",
71
- "postcss-import": "12.0.0",
72
- "postcss-loader": "2.1.6",
73
- "postcss-url": "7.3.2",
74
- "rimraf": "2.6.2",
75
- "sass": "^1.83.0",
76
- "sass-loader": "^16.0.4",
77
- "semver": "5.5.0",
78
- "shelljs": "0.8.5",
79
- "svg-sprite-loader": "^5.2.1",
80
- "svgo": "^1.3.2",
81
- "terser-webpack-plugin": "^2.2.3",
82
- "url-loader": "^4.1.1",
83
- "vue-loader": "^15.11.1",
84
- "vue-style-loader": "4.1.2",
85
- "vue-template-compiler": "2.5.17",
86
- "webpack": "^5.97.1",
87
- "webpack-bundle-analyzer": "^3.6.0",
88
- "webpack-cli": "^5.1.4",
89
- "webpack-dev-server": "^3.9.0",
90
- "webpack-merge": "4.1.4"
91
- },
92
- "engines": {
93
- "node": ">= 6.0.0",
94
- "npm": ">= 3.0.0"
95
- },
96
- "browserslist": [
97
- "> 1%",
98
- "last 2 versions",
99
- "not ie <= 8"
100
- ]
101
- }
1
+ {
2
+ "name": "expressa-admin",
3
+ "version": "0.0.1",
4
+ "license": "MIT",
5
+ "description": "Graphical management tool for expressa",
6
+ "author": "Thomas Hansen <th4019@gmail.com>",
7
+ "scripts": {
8
+ "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9
+ "start": "npm run dev",
10
+ "build": "node build/build.js",
11
+ "build:report": "npm_config_report=true npm run build",
12
+ "lint": "eslint --ext .js,.vue src --fix",
13
+ "test": "npm run lint",
14
+ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
15
+ },
16
+ "dependencies": {
17
+ "@json-editor/json-editor": "^2.5.4",
18
+ "axios": "^0.21.1",
19
+ "bootstrap": "^4.2.1",
20
+ "dot-object": "^2.1.4",
21
+ "element-ui": "^2.15.14",
22
+ "file-saver": "^2.0.2",
23
+ "jquery": "^3.3.1",
24
+ "js-cookie": "2.2.0",
25
+ "json-schema-editor": "^0.2.10",
26
+ "normalize.css": "7.0.0",
27
+ "nprogress": "0.2.0",
28
+ "object-path": "^0.11.4",
29
+ "popper.js": "^1.14.6",
30
+ "react": "^16.7.0",
31
+ "react-dom": "^16.7.0",
32
+ "vue": "2.5.17",
33
+ "vue-material-design-icons": "^2.5.0",
34
+ "vue-router": "3.0.1",
35
+ "vue-unicons": "^3.1.0",
36
+ "vuera": "^0.2.3",
37
+ "vuex": "3.0.1"
38
+ },
39
+ "devDependencies": {
40
+ "@babel/core": "^7.26.0",
41
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
42
+ "@babel/plugin-proposal-decorators": "^7.25.9",
43
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
44
+ "@babel/plugin-transform-runtime": "^7.25.9",
45
+ "@babel/preset-env": "^7.26.0",
46
+ "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
47
+ "autoprefixer": "8.5.0",
48
+ "babel-core": "6.26.0",
49
+ "babel-eslint": "8.2.6",
50
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
51
+ "babel-loader": "^9.2.1",
52
+ "babel-plugin-syntax-jsx": "6.18.0",
53
+ "babel-plugin-transform-runtime": "6.23.0",
54
+ "babel-plugin-transform-vue-jsx": "3.7.0",
55
+ "chalk": "2.4.1",
56
+ "compression-webpack-plugin": "^6.1.1",
57
+ "copy-webpack-plugin": "^5.1.0",
58
+ "css-loader": "^7.1.2",
59
+ "eslint": "^7.0.0",
60
+ "eslint-friendly-formatter": "^4.0.1",
61
+ "eslint-loader": "^4.0.2",
62
+ "eslint-plugin-vue": "^7.0.0",
63
+ "file-loader": "^6.2.0",
64
+ "html-webpack-plugin": "^4.0.0",
65
+ "mini-css-extract-plugin": "^2.9.2",
66
+ "node-notifier": "8.0.1",
67
+ "ora": "3.0.0",
68
+ "path-browserify": "^1.0.1",
69
+ "path-to-regexp": "2.4.0",
70
+ "portfinder": "1.0.16",
71
+ "postcss-import": "12.0.0",
72
+ "postcss-loader": "2.1.6",
73
+ "postcss-url": "7.3.2",
74
+ "rimraf": "2.6.2",
75
+ "sass": "^1.83.0",
76
+ "sass-loader": "^16.0.4",
77
+ "semver": "5.5.0",
78
+ "shelljs": "0.8.5",
79
+ "svg-sprite-loader": "^5.2.1",
80
+ "svgo": "^1.3.2",
81
+ "terser-webpack-plugin": "^2.2.3",
82
+ "url-loader": "^4.1.1",
83
+ "vue-loader": "^15.11.1",
84
+ "vue-style-loader": "4.1.2",
85
+ "vue-template-compiler": "2.5.17",
86
+ "webpack": "^5.97.1",
87
+ "webpack-bundle-analyzer": "^3.6.0",
88
+ "webpack-cli": "^5.1.4",
89
+ "webpack-dev-server": "^3.9.0",
90
+ "webpack-merge": "4.1.4"
91
+ },
92
+ "engines": {
93
+ "node": ">= 6.0.0",
94
+ "npm": ">= 3.0.0"
95
+ },
96
+ "browserslist": [
97
+ "> 1%",
98
+ "last 2 versions",
99
+ "not ie <= 8"
100
+ ]
101
+ }
@@ -1,11 +1,11 @@
1
- <template>
2
- <div id="app">
3
- <router-view />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'App'
10
- }
11
- </script>
1
+ <template>
2
+ <div id="app">
3
+ <router-view />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'App'
10
+ }
11
+ </script>
@@ -1,26 +1,26 @@
1
- import request from '@/utils/request'
2
-
3
- export function login(username, password) {
4
- return request({
5
- url: '/users/login',
6
- method: 'post',
7
- data: {
8
- email: username,
9
- password
10
- }
11
- })
12
- }
13
-
14
- export function getInfo(token) {
15
- return request({
16
- url: '/users/me',
17
- method: 'get'
18
- })
19
- }
20
-
21
- export async function logout() {
22
- /* return request({
23
- url: '/users/logout',
24
- method: 'post'
25
- }) */
26
- }
1
+ import request from '@/utils/request'
2
+
3
+ export function login(username, password) {
4
+ return request({
5
+ url: '/users/login',
6
+ method: 'post',
7
+ data: {
8
+ email: username,
9
+ password
10
+ }
11
+ })
12
+ }
13
+
14
+ export function getInfo(token) {
15
+ return request({
16
+ url: '/users/me',
17
+ method: 'get'
18
+ })
19
+ }
20
+
21
+ export async function logout() {
22
+ /* return request({
23
+ url: '/users/logout',
24
+ method: 'post'
25
+ }) */
26
+ }
@@ -1,9 +1,9 @@
1
- import request from '@/utils/request'
2
-
3
- export function getList(params) {
4
- return request({
5
- url: '/table/list',
6
- method: 'get',
7
- params
8
- })
9
- }
1
+ import request from '@/utils/request'
2
+
3
+ export function getList(params) {
4
+ return request({
5
+ url: '/table/list',
6
+ method: 'get',
7
+ params
8
+ })
9
+ }
@@ -1,79 +1,79 @@
1
- <template>
2
- <el-breadcrumb class="app-breadcrumb" separator="/">
3
- <transition-group name="breadcrumb">
4
- <el-breadcrumb-item v-for="(item,index) in filteredLevelList" :key="item.path">
5
- <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
6
- <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
7
- </el-breadcrumb-item>
8
- </transition-group>
9
- </el-breadcrumb>
10
- </template>
11
-
12
- <script>
13
- import pathToRegexp from 'path-to-regexp'
14
-
15
- export default {
16
- data() {
17
- return {
18
- levelList: null
19
- }
20
- },
21
- computed: {
22
- filteredLevelList: function() {
23
- return this.levelList.filter(element => element.meta.title)
24
- }
25
- },
26
- watch: {
27
- $route() {
28
- this.getBreadcrumb()
29
- }
30
- },
31
- created() {
32
- this.getBreadcrumb()
33
- },
34
- methods: {
35
- getBreadcrumb() {
36
- let matched = this.$route.matched.filter(item => {
37
- if (item.name) {
38
- return true
39
- }
40
- })
41
- const first = matched[0]
42
- if (first && first.name !== 'home') {
43
- matched = [{ path: '/home', meta: { title: 'Home' }}].concat(matched)
44
- }
45
- this.levelList = matched
46
- },
47
- pathCompile(path) {
48
- // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
49
- const { params } = this.$route
50
- var toPath = pathToRegexp.compile(path)
51
- return toPath(params)
52
- },
53
- handleLink(item) {
54
- const { redirect, path } = item
55
- console.log('handleLink')
56
- console.log(redirect)
57
- console.log(path)
58
- if (redirect) {
59
- this.$router.push(redirect)
60
- return
61
- }
62
- this.$router.push(this.pathCompile(path))
63
- }
64
- }
65
- }
66
- </script>
67
-
68
- <style rel="stylesheet/scss" lang="scss" scoped>
69
- .app-breadcrumb.el-breadcrumb {
70
- display: inline-block;
71
- font-size: 14px;
72
- line-height: 50px;
73
- margin-left: 10px;
74
- .no-redirect {
75
- color: #97a8be;
76
- cursor: text;
77
- }
78
- }
79
- </style>
1
+ <template>
2
+ <el-breadcrumb class="app-breadcrumb" separator="/">
3
+ <transition-group name="breadcrumb">
4
+ <el-breadcrumb-item v-for="(item,index) in filteredLevelList" :key="item.path">
5
+ <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
6
+ <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
7
+ </el-breadcrumb-item>
8
+ </transition-group>
9
+ </el-breadcrumb>
10
+ </template>
11
+
12
+ <script>
13
+ import pathToRegexp from 'path-to-regexp'
14
+
15
+ export default {
16
+ data() {
17
+ return {
18
+ levelList: null
19
+ }
20
+ },
21
+ computed: {
22
+ filteredLevelList: function() {
23
+ return this.levelList.filter(element => element.meta.title)
24
+ }
25
+ },
26
+ watch: {
27
+ $route() {
28
+ this.getBreadcrumb()
29
+ }
30
+ },
31
+ created() {
32
+ this.getBreadcrumb()
33
+ },
34
+ methods: {
35
+ getBreadcrumb() {
36
+ let matched = this.$route.matched.filter(item => {
37
+ if (item.name) {
38
+ return true
39
+ }
40
+ })
41
+ const first = matched[0]
42
+ if (first && first.name !== 'home') {
43
+ matched = [{ path: '/home', meta: { title: 'Home' }}].concat(matched)
44
+ }
45
+ this.levelList = matched
46
+ },
47
+ pathCompile(path) {
48
+ // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
49
+ const { params } = this.$route
50
+ var toPath = pathToRegexp.compile(path)
51
+ return toPath(params)
52
+ },
53
+ handleLink(item) {
54
+ const { redirect, path } = item
55
+ console.log('handleLink')
56
+ console.log(redirect)
57
+ console.log(path)
58
+ if (redirect) {
59
+ this.$router.push(redirect)
60
+ return
61
+ }
62
+ this.$router.push(this.pathCompile(path))
63
+ }
64
+ }
65
+ }
66
+ </script>
67
+
68
+ <style rel="stylesheet/scss" lang="scss" scoped>
69
+ .app-breadcrumb.el-breadcrumb {
70
+ display: inline-block;
71
+ font-size: 14px;
72
+ line-height: 50px;
73
+ margin-left: 10px;
74
+ .no-redirect {
75
+ color: #97a8be;
76
+ cursor: text;
77
+ }
78
+ }
79
+ </style>