expressa 1.2.2 → 1.2.5

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 (53) hide show
  1. package/db/postgres.js +100 -103
  2. package/listeners.js +64 -59
  3. package/middleware/permissions.js +53 -49
  4. package/modules/admin/.babelrc +12 -13
  5. package/modules/admin/dist/index.html +1 -1
  6. package/modules/admin/dist/index.html.gz +0 -0
  7. package/modules/admin/dist/static/css/chunk-f691.4817ca73.css +1 -0
  8. package/modules/admin/dist/static/css/chunk-f691.4817ca73.css.gz +0 -0
  9. package/modules/admin/dist/static/js/app.ebe90d64.js +1 -0
  10. package/modules/admin/dist/static/js/app.ebe90d64.js.gz +0 -0
  11. package/modules/admin/dist/static/js/chunk-1dff.1f1c0999.js +1 -0
  12. package/modules/admin/dist/static/js/chunk-1dff.1f1c0999.js.gz +0 -0
  13. package/modules/admin/dist/static/js/chunk-3bc2.028748b7.js +1 -0
  14. package/modules/admin/dist/static/js/chunk-3bc2.028748b7.js.gz +0 -0
  15. package/modules/admin/dist/static/js/chunk-621e.6fe293e9.js +1 -0
  16. package/modules/admin/dist/static/js/chunk-621e.6fe293e9.js.gz +0 -0
  17. package/modules/admin/dist/static/js/chunk-7291.590524e9.js +1 -0
  18. package/modules/admin/dist/static/js/chunk-7291.590524e9.js.gz +0 -0
  19. package/modules/admin/dist/static/js/chunk-e375.089d85cd.js +1 -0
  20. package/modules/admin/dist/static/js/chunk-e375.089d85cd.js.gz +0 -0
  21. package/modules/admin/dist/static/js/{chunk-e7c3.a8659352.js → chunk-e7c3.e5df8ceb.js} +1 -1
  22. package/modules/admin/dist/static/js/chunk-e7c3.e5df8ceb.js.gz +0 -0
  23. package/modules/admin/dist/static/js/chunk-f075.315ceec1.js +1 -0
  24. package/modules/admin/dist/static/js/chunk-f075.315ceec1.js.gz +0 -0
  25. package/modules/admin/dist/static/js/chunk-f691.c0cbf5c1.js +1 -0
  26. package/modules/admin/dist/static/js/chunk-f691.c0cbf5c1.js.gz +0 -0
  27. package/modules/admin/dist/static/js/{chunk-libs.5637556a.js → chunk-libs.06c38828.js} +2 -2
  28. package/modules/admin/dist/static/js/{chunk-libs.5637556a.js.LICENSE.txt → chunk-libs.06c38828.js.LICENSE.txt} +0 -0
  29. package/modules/admin/dist/static/js/{chunk-libs.5637556a.js.LICENSE.txt.gz → chunk-libs.06c38828.js.LICENSE.txt.gz} +0 -0
  30. package/modules/admin/dist/static/js/chunk-libs.06c38828.js.gz +0 -0
  31. package/modules/admin/src/utils/request.js +48 -47
  32. package/modules/admin/src/views/ListDocuments2.vue +1 -1
  33. package/package.json +1 -1
  34. package/modules/admin/dist/static/css/chunk-a99c.c4b0e273.css +0 -1
  35. package/modules/admin/dist/static/css/chunk-a99c.c4b0e273.css.gz +0 -0
  36. package/modules/admin/dist/static/js/app.947e8310.js +0 -1
  37. package/modules/admin/dist/static/js/app.947e8310.js.gz +0 -0
  38. package/modules/admin/dist/static/js/chunk-1dff.b5ee003b.js +0 -1
  39. package/modules/admin/dist/static/js/chunk-1dff.b5ee003b.js.gz +0 -0
  40. package/modules/admin/dist/static/js/chunk-3bc2.b0270c10.js +0 -1
  41. package/modules/admin/dist/static/js/chunk-3bc2.b0270c10.js.gz +0 -0
  42. package/modules/admin/dist/static/js/chunk-621e.c63db96c.js +0 -1
  43. package/modules/admin/dist/static/js/chunk-621e.c63db96c.js.gz +0 -0
  44. package/modules/admin/dist/static/js/chunk-7291.f914fca7.js +0 -1
  45. package/modules/admin/dist/static/js/chunk-7291.f914fca7.js.gz +0 -0
  46. package/modules/admin/dist/static/js/chunk-a99c.3f48f127.js +0 -1
  47. package/modules/admin/dist/static/js/chunk-a99c.3f48f127.js.gz +0 -0
  48. package/modules/admin/dist/static/js/chunk-e375.7ba1b61f.js +0 -1
  49. package/modules/admin/dist/static/js/chunk-e375.7ba1b61f.js.gz +0 -0
  50. package/modules/admin/dist/static/js/chunk-e7c3.a8659352.js.gz +0 -0
  51. package/modules/admin/dist/static/js/chunk-f075.6b230660.js +0 -1
  52. package/modules/admin/dist/static/js/chunk-f075.6b230660.js.gz +0 -0
  53. package/modules/admin/dist/static/js/chunk-libs.5637556a.js.gz +0 -0
package/db/postgres.js CHANGED
@@ -1,103 +1,100 @@
1
- const mongoToPostgres = require('mongo-query-to-postgres-jsonb')
2
- const util = require('../util')
3
-
4
- module.exports = function (settings, collectionId, collection) {
5
- const pool = util.getPgPool(settings.postgresql_uri)
6
-
7
- return {
8
- init: async function () {
9
- if (collection.plainStringIds) {
10
- await pool.query('CREATE TABLE IF NOT EXISTS ' + collectionId + ' (id text primary key, data jsonb)')
11
- } else {
12
- await pool.query('CREATE TABLE IF NOT EXISTS ' + collectionId + ' (id uuid primary key, data jsonb)')
13
- }
14
- },
15
- all: async function () {
16
- return this.find({})
17
- },
18
- find: async function (rawQuery, offset, limit, orderby, fields) {
19
- const arrayFields = util.getArrayPaths('', collection.schema)
20
- const pgQuery = mongoToPostgres('data', rawQuery || {}, arrayFields)
21
- const select = fields ? mongoToPostgres.convertSelect('data', fields, arrayFields) : '*'
22
- let query = 'SELECT ' + select + ' FROM ' + collectionId + (pgQuery ? ' WHERE ' + pgQuery : '')
23
- if (typeof orderby !== 'undefined') {
24
- query += ' ORDER BY '
25
- query += orderby.map((ordering) => {
26
- return mongoToPostgres.convertDotNotation('data', ordering[0]) + (ordering[1] > 0 ? ' ASC' : ' DESC')
27
- }).join(', ')
28
- }
29
- if (typeof offset !== 'undefined') {
30
- query += ' OFFSET ' + offset
31
- }
32
- if (typeof limit !== 'undefined') {
33
- query += ' LIMIT ' + limit
34
- }
35
- const result = await pool.query(query)
36
- return result.rows.map((row) => row.data)
37
- },
38
- count: async function(rawQuery, offset, limit) {
39
- const arrayFields = util.getArrayPaths('', collection.schema)
40
- const pgQuery = mongoToPostgres('data', rawQuery || {}, arrayFields)
41
- let query = 'SELECT COUNT(*) FROM ' + collectionId + (pgQuery ? ' WHERE ' + pgQuery : '')
42
- if (typeof offset !== 'undefined') {
43
- query += ' OFFSET ' + offset
44
- }
45
- if (typeof limit !== 'undefined') {
46
- query += ' LIMIT ' + limit
47
- }
48
- const result = await pool.query(query)
49
- return parseInt(result.rows[0].count)
50
- },
51
- get: async function (id, fields) {
52
- const arrayFields = util.getArrayPaths('', collection.schema)
53
- const select = fields ? mongoToPostgres.convertSelect('data', fields, arrayFields) : '*'
54
- const result = await pool.query(`SELECT ${select} FROM ${collectionId} WHERE id = $1`, [id])
55
- if (result.rowCount === 0) {
56
- throw new util.ApiError(404, 'document not found')
57
- }
58
- return result.rows[0].data
59
- },
60
- create: async function (data) {
61
- util.addIdIfMissing(data)
62
- try {
63
- await pool.query('INSERT INTO ' + collectionId + ' (id, data) VALUES ($1, $2)', [data._id, data])
64
- } catch (e) {
65
- if (e.message.includes('duplicate key')) {
66
- throw new util.ApiError(409, 'document already exists')
67
- }
68
- throw e
69
- }
70
- return data._id
71
- },
72
- update: async function (id, data) {
73
- if (typeof data._id === 'undefined') {
74
- data._id = id
75
- }
76
- const result = await pool.query('UPDATE ' + collectionId + ' SET data=$2,id=$3 WHERE id=$1', [id, data, data._id])
77
- if (result.rowCount === 0) {
78
- throw new util.ApiError(404, 'document not found')
79
- }
80
- return data
81
- },
82
- // eslint-disable-next-line no-unused-vars
83
- updateWithQuery: async function (query, update, options) {
84
- const arrayFields = util.getArrayPaths('', collection.schema)
85
- const pgQuery = mongoToPostgres('data', query || {}, arrayFields)
86
- const updateSql = mongoToPostgres.convertUpdate('data', update,false)
87
- const result = await pool.query('UPDATE ' + collectionId + ' SET data=' + updateSql + ' WHERE ' + pgQuery)
88
- if (result.rowCount === 0) {
89
- throw new util.ApiError(404, 'document not found')
90
- }
91
- return {
92
- matchedCount: result.rowCount
93
- }
94
- },
95
- delete: async function (id) {
96
- const result = await pool.query('DELETE FROM ' + collectionId + ' WHERE id=$1', [id])
97
- if (result.rowCount === 0) {
98
- throw new util.ApiError(404, 'document not found')
99
- }
100
- return 'OK'
101
- }
102
- }
103
- }
1
+ const mongoToPostgres = require('mongo-query-to-postgres-jsonb')
2
+ const util = require('../util')
3
+
4
+ module.exports = function (settings, collectionId, collection) {
5
+ const pool = util.getPgPool(settings.postgresql_uri)
6
+
7
+ return {
8
+ init: async function () {
9
+ if (collection.plainStringIds) {
10
+ await pool.query('CREATE TABLE IF NOT EXISTS ' + collectionId + ' (id text primary key, data jsonb)')
11
+ } else {
12
+ await pool.query('CREATE TABLE IF NOT EXISTS ' + collectionId + ' (id uuid primary key, data jsonb)')
13
+ }
14
+ },
15
+ all: async function () {
16
+ return this.find({})
17
+ },
18
+ find: async function (rawQuery, offset, limit, orderby, fields) {
19
+ const arrayFields = util.getArrayPaths('', collection.schema)
20
+ const pgQuery = mongoToPostgres('data', rawQuery || {}, arrayFields)
21
+ const select = fields ? mongoToPostgres.convertSelect('data', fields, arrayFields) : '*'
22
+ let query = 'SELECT ' + select + ' FROM ' + collectionId + (pgQuery ? ' WHERE ' + pgQuery : '')
23
+ if (typeof orderby !== 'undefined') {
24
+ query += ' ORDER BY '
25
+ query += orderby.map((ordering) => {
26
+ return mongoToPostgres.convertDotNotation('data', ordering[0]) + (ordering[1] > 0 ? ' ASC' : ' DESC')
27
+ }).join(', ')
28
+ }
29
+ if (typeof offset !== 'undefined') {
30
+ query += ' OFFSET ' + offset
31
+ }
32
+ if (typeof limit !== 'undefined') {
33
+ query += ' LIMIT ' + limit
34
+ }
35
+ const result = await pool.query(query)
36
+ return result.rows.map((row) => row.data)
37
+ },
38
+ count: async function(rawQuery, offset, limit) {
39
+ const arrayFields = util.getArrayPaths('', collection.schema)
40
+ const pgQuery = mongoToPostgres('data', rawQuery || {}, arrayFields)
41
+ let query = 'SELECT COUNT(*) FROM ' + collectionId + (pgQuery ? ' WHERE ' + pgQuery : '')
42
+ if (typeof offset !== 'undefined') {
43
+ query += ' OFFSET ' + offset
44
+ }
45
+ if (typeof limit !== 'undefined') {
46
+ query += ' LIMIT ' + limit
47
+ }
48
+ const result = await pool.query(query)
49
+ return parseInt(result.rows[0].count)
50
+ },
51
+ get: async function (id, fields) {
52
+ const arrayFields = util.getArrayPaths('', collection.schema)
53
+ const select = fields ? mongoToPostgres.convertSelect('data', fields, arrayFields) : '*'
54
+ const result = await pool.query(`SELECT ${select} FROM ${collectionId} WHERE id = $1`, [id])
55
+ if (result.rowCount === 0) {
56
+ throw new util.ApiError(404, 'document not found')
57
+ }
58
+ return result.rows[0].data
59
+ },
60
+ create: async function (data) {
61
+ util.addIdIfMissing(data)
62
+ try {
63
+ await pool.query('INSERT INTO ' + collectionId + ' (id, data) VALUES ($1, $2)', [data._id, data])
64
+ } catch (e) {
65
+ if (e.message.includes('duplicate key')) {
66
+ throw new util.ApiError(409, 'document already exists')
67
+ }
68
+ throw e
69
+ }
70
+ return data._id
71
+ },
72
+ update: async function (id, data) {
73
+ if (typeof data._id === 'undefined') {
74
+ data._id = id
75
+ }
76
+ const result = await pool.query('UPDATE ' + collectionId + ' SET data=$2,id=$3 WHERE id=$1', [id, data, data._id])
77
+ if (result.rowCount === 0) {
78
+ throw new util.ApiError(404, 'document not found')
79
+ }
80
+ return data
81
+ },
82
+ // eslint-disable-next-line no-unused-vars
83
+ updateWithQuery: async function (query, update, options) {
84
+ const arrayFields = util.getArrayPaths('', collection.schema)
85
+ const pgQuery = mongoToPostgres('data', query || {}, arrayFields)
86
+ const updateSql = mongoToPostgres.convertUpdate('data', update,false)
87
+ const result = await pool.query('UPDATE ' + collectionId + ' SET data=' + updateSql + ' WHERE ' + pgQuery)
88
+ return {
89
+ matchedCount: result.rowCount
90
+ }
91
+ },
92
+ delete: async function (id) {
93
+ const result = await pool.query('DELETE FROM ' + collectionId + ' WHERE id=$1', [id])
94
+ if (result.rowCount === 0) {
95
+ throw new util.ApiError(404, 'document not found')
96
+ }
97
+ return 'OK'
98
+ }
99
+ }
100
+ }
package/listeners.js CHANGED
@@ -1,59 +1,64 @@
1
- const debug = require('debug')('expressa')
2
- const util = require('./util')
3
-
4
- module.exports = function (api) {
5
- /* Listeners to avoid the need for a server restart */
6
- api.addCollectionListener('changed', 'collection', async function setupCollectionStorage (req, collection, data) {
7
- if (!(data.storage === 'memory' && util.getPath(api.db[data._id], 'type') === 'memory')) {
8
- await api.setupCollectionDb(data)
9
- }
10
- debug('updated ' + data._id + ' collection storage')
11
- })
12
- api.addCollectionListener('delete', 'collection', function cleanupCollectionStorage (req, collection, data) {
13
- delete api.db[data._id]
14
- debug('removed ' + data._id + ' collection storage')
15
- })
16
- api.addCollectionListener('changed', 'settings', function updateInMemorySettings (req, collection, data) {
17
- // TODO: only reload if current environment is updated
18
- Object.assign(req.settings, data)
19
- })
20
-
21
- api.addListener(['put', 'post'], function updateMetadata (req, collection, data, { event }) {
22
- data.meta = data.meta || {}
23
- data.meta.updated = new Date().toISOString()
24
- if (event === 'post') {
25
- data.meta.created = new Date().toISOString()
26
- if (req.user) {
27
- data.meta.owner = req.user._id
28
- }
29
- }
30
- })
31
-
32
- api.addCollectionListener('get', 'schemas', function addMetaToSchema (req, collection, data) {
33
- const schema = data.schema
34
- schema.properties.meta = {
35
- type: 'object',
36
- propertyOrder: 2000,
37
- properties: {
38
- created: {
39
- type: 'string'
40
- },
41
- updated: {
42
- type: 'string'
43
- }
44
- }
45
- }
46
- if (data.documentsHaveOwners) {
47
- schema.properties.meta.properties.owner = {
48
- type: 'string',
49
- links: [
50
- {
51
- rel: view owner user',
52
- href: '/admin/#/edit/users/{{self}}',
53
- class: 'comment-link'
54
- }
55
- ]
56
- }
57
- }
58
- })
59
- }
1
+ const debug = require('debug')('expressa')
2
+ const util = require('./util')
3
+
4
+ module.exports = function (api) {
5
+ /* Listeners to avoid the need for a server restart */
6
+ api.addCollectionListener('changed', 'collection', async function setupCollectionStorage (req, collection, data) {
7
+ if (!(data.storage === 'memory' && util.getPath(api.db[data._id], 'type') === 'memory')) {
8
+ await api.setupCollectionDb(data)
9
+ }
10
+ debug('updated ' + data._id + ' collection storage')
11
+ })
12
+ api.addCollectionListener('delete', 'collection', function cleanupCollectionStorage (req, collection, data) {
13
+ delete api.db[data._id]
14
+ debug('removed ' + data._id + ' collection storage')
15
+ })
16
+ api.addCollectionListener('changed', 'settings', function updateInMemorySettings (req, collection, data) {
17
+ // TODO: only reload if current environment is updated
18
+ Object.assign(req.settings, data)
19
+ })
20
+
21
+ api.addListener(['put', 'post'], function updateMetadata (req, collection, data, { event }) {
22
+ data.meta = data.meta || {}
23
+ data.meta.updated = new Date().toISOString()
24
+ if (event === 'post') {
25
+ data.meta.created = new Date().toISOString()
26
+ if (req.user) {
27
+ if (req.hasPermission('login to admin')) {
28
+ data.meta.owner = data.meta.owner || req.user._id
29
+ }
30
+ else {
31
+ data.meta.owner = req.user._id
32
+ }
33
+ }
34
+ }
35
+ })
36
+
37
+ api.addCollectionListener('get', 'schemas', function addMetaToSchema (req, collection, data) {
38
+ const schema = data.schema
39
+ schema.properties.meta = {
40
+ type: 'object',
41
+ propertyOrder: 2000,
42
+ properties: {
43
+ created: {
44
+ type: 'string'
45
+ },
46
+ updated: {
47
+ type: 'string'
48
+ }
49
+ }
50
+ }
51
+ if (data.documentsHaveOwners) {
52
+ schema.properties.meta.properties.owner = {
53
+ type: 'string',
54
+ links: [
55
+ {
56
+ rel: '» view owner user',
57
+ href: '/admin/#/edit/users/{{self}}',
58
+ class: 'comment-link'
59
+ }
60
+ ]
61
+ }
62
+ }
63
+ })
64
+ }
@@ -1,49 +1,53 @@
1
- const util = require('../util')
2
-
3
- async function addRolePermissions (req, roles) {
4
- req.permissions = req.permissions || {}
5
- const roleDocs = await Promise.all(roles.map((name) => req.db.role.get(name)))
6
- roleDocs.forEach((roleDoc) => {
7
- for (const permission in roleDoc.permissions) {
8
- if (roleDoc.permissions[permission]) {
9
- req.permissions[permission] = true
10
- }
11
- }
12
- })
13
- }
14
-
15
- async function doesAuthenticatedRoleExist(req) {
16
- try {
17
- await req.db.role.get('Authenticated')
18
- return true
19
- } catch (e) {
20
- return false
21
- }
22
- }
23
-
24
- module.exports.addRolePermissionsAsync = async function addRolePermissionsMiddlewareAsync(req) {
25
- if (!req.settings || !req.settings.enforce_permissions) {
26
- // Use a dummy permission getter
27
- req.hasPermission = () => true
28
- return
29
- }
30
- req.hasPermission = (permission) => req.permissions && req.permissions[permission]
31
- let roles = ['Anonymous']
32
- const isAuthenticatedRole = await doesAuthenticatedRoleExist(req)
33
- if (req.uid) {
34
- try {
35
- const user = await req.db[req.ucollection].get(req.uid)
36
- req.user = user
37
- roles = (user.roles || []).concat(isAuthenticatedRole ? ['Authenticated'] : [])
38
- } catch (e) {
39
- throw new util.ApiError(404, 'User no longer exists')
40
- }
41
- } else {
42
- req.user = {}
43
- }
44
- await addRolePermissions(req, roles)
45
- }
46
-
47
- module.exports.middleware = function addRolePermissionsMiddleware (req, res, next) {
48
- module.exports.addRolePermissionsAsync(req).then(next).catch(next)
49
- }
1
+ const util = require('../util')
2
+ let authenticatedRoleExists
3
+
4
+ async function addRolePermissions (req, roles) {
5
+ req.permissions = req.permissions || {}
6
+ const roleDocs = await Promise.all(roles.map((name) => req.db.role.get(name)))
7
+ roleDocs.forEach((roleDoc) => {
8
+ for (const permission in roleDoc.permissions) {
9
+ if (roleDoc.permissions[permission]) {
10
+ req.permissions[permission] = true
11
+ }
12
+ }
13
+ })
14
+ }
15
+
16
+ async function doesAuthenticatedRoleExist(req) {
17
+ if (typeof authenticatedRoleExists === 'undefined') {
18
+ try {
19
+ await req.db.role.get('Authenticated')
20
+ authenticatedRoleExists = true
21
+ } catch (e) {
22
+ authenticatedRoleExists = false
23
+ }
24
+ }
25
+ return authenticatedRoleExists
26
+ }
27
+
28
+ module.exports.addRolePermissionsAsync = async function addRolePermissionsMiddlewareAsync(req) {
29
+ if (!req.settings || !req.settings.enforce_permissions) {
30
+ // Use a dummy permission getter
31
+ req.hasPermission = () => true
32
+ return
33
+ }
34
+ req.hasPermission = (permission) => req.permissions && req.permissions[permission]
35
+ let roles = ['Anonymous']
36
+ const isAuthenticatedRole = await doesAuthenticatedRoleExist(req)
37
+ if (req.uid) {
38
+ try {
39
+ const user = await req.db[req.ucollection].get(req.uid)
40
+ req.user = user
41
+ roles = (user.roles || []).concat(isAuthenticatedRole ? ['Authenticated'] : [])
42
+ } catch (e) {
43
+ throw new util.ApiError(404, 'User no longer exists')
44
+ }
45
+ } else {
46
+ req.user = {}
47
+ }
48
+ await addRolePermissions(req, roles)
49
+ }
50
+
51
+ module.exports.middleware = function addRolePermissionsMiddleware (req, res, next) {
52
+ module.exports.addRolePermissionsAsync(req).then(next).catch(next)
53
+ }
@@ -1,13 +1,12 @@
1
- {
2
- "sourceType": "module",
3
- "presets": [
4
- ["env", {
5
- "targets": {
6
- "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7
- },
8
- "exclude": ["transform-regenerator"]
9
- }],
10
- "stage-2"
11
- ],
12
- "plugins":["transform-vue-jsx", "transform-runtime"]
13
- }
1
+ {
2
+ "sourceType": "module",
3
+ "presets": [
4
+ ["env", {
5
+ "targets": {
6
+ "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7
+ }
8
+ }],
9
+ "stage-2"
10
+ ],
11
+ "plugins":["transform-vue-jsx", "transform-runtime"]
12
+ }
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js></script><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js></script><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel=stylesheet><script src=settings.js></script><title>Expressa Admin</title><link rel=icon href=/admin/favicon.ico><link href=/admin/static/css/chunk-elementUI.3d004d9f.css rel=stylesheet><link href=/admin/static/css/chunk-libs.327ad89e.css rel=stylesheet><link href=/admin/static/css/app.9dd57eea.css rel=stylesheet></head><body><div id=app></div><script>!function(e){function n(n){for(var r,c,a=n[0],f=n[1],i=n[2],h=0,s=[];h<a.length;h++)c=a[h],Object.prototype.hasOwnProperty.call(u,c)&&u[c]&&s.push(u[c][0]),u[c]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(l&&l(n);s.length;)s.shift()();return o.push.apply(o,i||[]),t()}function t(){for(var e,n=0;n<o.length;n++){for(var t=o[n],r=!0,c=1;c<t.length;c++){var f=t[c];0!==u[f]&&(r=!1)}r&&(o.splice(n--,1),e=a(a.s=t[0]))}return e}var r={},c={runtime:0},u={runtime:0},o=[];function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=[];c[e]?n.push(c[e]):0!==c[e]&&{"chunk-621e":1,"chunk-e375":1,"chunk-3bc2":1,"chunk-5cee":1,"chunk-7291":1,"chunk-a99c":1,"chunk-1dff":1,"chunk-b423":1,"chunk-bd5f":1,"chunk-f075":1}[e]&&n.push(c[e]=new Promise((function(n,t){for(var r="static/css/"+({}[e]||e)+"."+{"chunk-09d8":"31d6cfe0","chunk-621e":"f3d0eab6","chunk-e375":"1d849865","chunk-3bc2":"89632b9d","chunk-5cee":"9685afb8","chunk-7291":"13514e45","chunk-a99c":"c4b0e273","chunk-1dff":"39c7634b","chunk-b423":"5f239333","chunk-bd5f":"6ab011ba","chunk-e7c3":"31d6cfe0","chunk-f075":"3a895a1e"}[e]+".css",c=a.p+r,u=document.getElementsByTagName("link"),o=0;o<u.length;o++){var f=(h=u[o]).getAttribute("data-href")||h.getAttribute("href");if("stylesheet"===h.rel&&(f===r||f===c))return n()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var h;if((f=(h=i[o]).getAttribute("data-href"))===r||f===c)return n()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=n,l.onerror=function(n){var r=n&&n.target&&n.target.src||c,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.request=r,t(u)},l.href=c,document.getElementsByTagName("head")[0].appendChild(l)})).then((function(){c[e]=0})));var t=u[e];if(0!==t)if(t)n.push(t[2]);else{var r=new Promise((function(n,r){t=u[e]=[n,r]}));n.push(t[2]=r);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,a.nc&&f.setAttribute("nonce",a.nc),f.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{"chunk-09d8":"561880e0","chunk-621e":"c63db96c","chunk-e375":"7ba1b61f","chunk-3bc2":"b0270c10","chunk-5cee":"a6f0e769","chunk-7291":"f914fca7","chunk-a99c":"3f48f127","chunk-1dff":"b5ee003b","chunk-b423":"387c504c","chunk-bd5f":"af5f2197","chunk-e7c3":"a8659352","chunk-f075":"6b230660"}[e]+".js"}(e);var i=new Error;o=function(n){f.onerror=f.onload=null,clearTimeout(h);var t=u[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),c=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",i.name="ChunkLoadError",i.type=r,i.request=c,t[1](i)}u[e]=void 0}};var h=setTimeout((function(){o({type:"timeout",target:f})}),12e4);f.onerror=f.onload=o,document.head.appendChild(f)}return Promise.all(n)},a.m=e,a.c=r,a.d=function(e,n,t){a.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,n){if(1&n&&(e=a(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)a.d(t,r,function(n){return e[n]}.bind(null,r));return t},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="/admin/",a.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],i=f.push.bind(f);f.push=n,f=f.slice();for(var h=0;h<f.length;h++)n(f[h]);var l=i;t()}([]);</script><script src=/admin/static/js/chunk-elementUI.b0c99c08.js></script><script src=/admin/static/js/chunk-libs.5637556a.js></script><script src=/admin/static/js/app.947e8310.js></script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js></script><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js></script><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel=stylesheet><script src=settings.js></script><title>Expressa Admin</title><link rel=icon href=/admin/favicon.ico><link href=/admin/static/css/chunk-elementUI.3d004d9f.css rel=stylesheet><link href=/admin/static/css/chunk-libs.327ad89e.css rel=stylesheet><link href=/admin/static/css/app.9dd57eea.css rel=stylesheet></head><body><div id=app></div><script>!function(e){function n(n){for(var r,c,a=n[0],f=n[1],i=n[2],h=0,s=[];h<a.length;h++)c=a[h],Object.prototype.hasOwnProperty.call(u,c)&&u[c]&&s.push(u[c][0]),u[c]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(l&&l(n);s.length;)s.shift()();return o.push.apply(o,i||[]),t()}function t(){for(var e,n=0;n<o.length;n++){for(var t=o[n],r=!0,c=1;c<t.length;c++){var f=t[c];0!==u[f]&&(r=!1)}r&&(o.splice(n--,1),e=a(a.s=t[0]))}return e}var r={},c={runtime:0},u={runtime:0},o=[];function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=[];c[e]?n.push(c[e]):0!==c[e]&&{"chunk-621e":1,"chunk-e375":1,"chunk-3bc2":1,"chunk-5cee":1,"chunk-7291":1,"chunk-b423":1,"chunk-bd5f":1,"chunk-f075":1,"chunk-f691":1,"chunk-1dff":1}[e]&&n.push(c[e]=new Promise((function(n,t){for(var r="static/css/"+({}[e]||e)+"."+{"chunk-09d8":"31d6cfe0","chunk-621e":"f3d0eab6","chunk-e375":"1d849865","chunk-3bc2":"89632b9d","chunk-5cee":"9685afb8","chunk-7291":"13514e45","chunk-b423":"5f239333","chunk-bd5f":"6ab011ba","chunk-e7c3":"31d6cfe0","chunk-f075":"3a895a1e","chunk-f691":"4817ca73","chunk-1dff":"39c7634b"}[e]+".css",c=a.p+r,u=document.getElementsByTagName("link"),o=0;o<u.length;o++){var f=(h=u[o]).getAttribute("data-href")||h.getAttribute("href");if("stylesheet"===h.rel&&(f===r||f===c))return n()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var h;if((f=(h=i[o]).getAttribute("data-href"))===r||f===c)return n()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=n,l.onerror=function(n){var r=n&&n.target&&n.target.src||c,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.request=r,t(u)},l.href=c,document.getElementsByTagName("head")[0].appendChild(l)})).then((function(){c[e]=0})));var t=u[e];if(0!==t)if(t)n.push(t[2]);else{var r=new Promise((function(n,r){t=u[e]=[n,r]}));n.push(t[2]=r);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,a.nc&&f.setAttribute("nonce",a.nc),f.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{"chunk-09d8":"561880e0","chunk-621e":"6fe293e9","chunk-e375":"089d85cd","chunk-3bc2":"028748b7","chunk-5cee":"a6f0e769","chunk-7291":"590524e9","chunk-b423":"387c504c","chunk-bd5f":"af5f2197","chunk-e7c3":"e5df8ceb","chunk-f075":"315ceec1","chunk-f691":"c0cbf5c1","chunk-1dff":"1f1c0999"}[e]+".js"}(e);var i=new Error;o=function(n){f.onerror=f.onload=null,clearTimeout(h);var t=u[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),c=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",i.name="ChunkLoadError",i.type=r,i.request=c,t[1](i)}u[e]=void 0}};var h=setTimeout((function(){o({type:"timeout",target:f})}),12e4);f.onerror=f.onload=o,document.head.appendChild(f)}return Promise.all(n)},a.m=e,a.c=r,a.d=function(e,n,t){a.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,n){if(1&n&&(e=a(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)a.d(t,r,function(n){return e[n]}.bind(null,r));return t},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="/admin/",a.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],i=f.push.bind(f);f.push=n,f=f.slice();for(var h=0;h<f.length;h++)n(f[h]);var l=i;t()}([]);</script><script src=/admin/static/js/chunk-elementUI.b0c99c08.js></script><script src=/admin/static/js/chunk-libs.06c38828.js></script><script src=/admin/static/js/app.ebe90d64.js></script></body></html>
Binary file
@@ -0,0 +1 @@
1
+ .el-table[data-v-1b5bf4c5] th{background-color:#343a40!important;border-color:#454d55;color:#fff}
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([["app"],{"+73H":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{iconName:function(){return"#icon-"+this.iconClass},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"}}}},"+p7W":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,i=n.icon,a=n.title,r=[];return i&&r.push(e("unicon",{attrs:{name:i,fill:"#DDDDDD"}})),a&&r.push(e("span",{slot:"title"},[a])),r}}},"/8yo":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("navbar"),e._v(" "),n("app-main")],1)],1)},a=[]},"/KzS":function(e,t,n){"use strict";n.r(t);var i=n("GBEn"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},"1+NH":function(e,t,n){"use strict";n.r(t);var i=n("IZzN"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},"1qtv":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement,t=this._self._c||e;return t("section",{staticClass:"app-main"},[t("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[t("router-view")],1)],1)},a=[]},"2c2J":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("p46w"),r=(i=a)&&i.__esModule?i:{default:i};var o={state:{sidebar:{opened:!+r.default.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},mutations:{TOGGLE_SIDEBAR:function(e){e.sidebar.opened?r.default.set("sidebarStatus",1):r.default.set("sidebarStatus",0),e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1},CLOSE_SIDEBAR:function(e,t){r.default.set("sidebarStatus",1),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},actions:{ToggleSideBar:function(e){(0,e.commit)("TOGGLE_SIDEBAR")},CloseSideBar:function(e,t){(0,e.commit)("CLOSE_SIDEBAR",t.withoutAnimation)},ToggleDevice:function(e,t){(0,e.commit)("TOGGLE_DEVICE",t)}}};t.default=o},"2c6e":function(e,t,n){"use strict";n.r(t);var i=n("/8yo"),a=n("O+jn");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("TQwg");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"c895cf98",null);u.options.__file="Layout.vue",t.default=u.exports},"3PhE":function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-nested"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z" /></symbol>'});o.a.add(u);t.default=u},"6cqe":function(e,t,n){"use strict";n.r(t);var i=n("kCNp"),a=n("1+NH");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,null,null);u.options.__file="SidebarItem.vue",t.default=u.exports},"6xvN":function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-form"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z" /></symbol>'});o.a.add(u);t.default=u},"7Qib":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("EJiy"),r=(i=a)&&i.__esModule?i:{default:i};function o(e,t){if(0===arguments.length)return null;var n=t||"{y}-{m}-{d} {h}:{i}:{s}",i=void 0;"object"===(void 0===e?"undefined":(0,r.default)(e))?i=e:(10===(""+e).length&&(e=1e3*parseInt(e)),i=new Date(e));var a={y:i.getFullYear(),m:i.getMonth()+1,d:i.getDate(),h:i.getHours(),i:i.getMinutes(),s:i.getSeconds(),a:i.getDay()},o=n.replace(/{(y|m|d|h|i|s|a)+}/g,(function(e,t){var n=a[t];return"a"===t?["日","一","二","三","四","五","六"][n]:(e.length>0&&n<10&&(n="0"+n),n||0)}));return o}t.parseTime=o,t.formatTime=function(e,t){e=1e3*+e;var n=new Date(e),i=(Date.now()-n)/1e3;if(i<30)return"刚刚";if(i<3600)return Math.ceil(i/60)+"分钟前";if(i<86400)return Math.ceil(i/3600)+"小时前";if(i<172800)return"1天前";return t?o(e,t):n.getMonth()+1+"月"+n.getDate()+"日"+n.getHours()+"时"+n.getMinutes()+"分"},t.isExternal=function(e){return/^(https?:|mailto:|tel:)/.test(e)}},D5rb:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("4d7F"),r=(i=a)&&i.__esModule?i:{default:i},o=n("fe1z"),u=n("X4fA"),s=n("XJYT");var c={state:{statusInfo:{collections:[]},token:(0,u.getToken)(),name:"",email:"",avatar:"",roles:[]},mutations:{SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_EMAIL:function(e,t){e.email=t},SET_STATUS_INFO:function(e,t){e.statusInfo=t},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t}},actions:{Login:function(e,t){var n=e.commit,i=t.username.trim();return new r.default((function(e,a){(0,o.login)(i,t.password).then((function(t){var i=t.data;if(!i.canUseAdmin)return s.Message.error("This user is not authorized to use this tool"),void e();(0,u.setToken)(i.token),n("SET_TOKEN",i.token),e()})).catch((function(e){a(e)}))}))},StatusInfo:function(e,t){var n=e.commit;e.state;n("SET_STATUS_INFO",t)},GetInfo:function(e){var t=e.commit,n=e.state;return new r.default((function(e,i){(0,o.getInfo)(n.token).then((function(n){var a=n.data;a.roles?t("SET_ROLES",a.roles):i("getInfo: roles must be a non-null array !"),t("SET_NAME",a.name),t("SET_EMAIL",a.email),t("SET_AVATAR","https://www.podplus.co.uk/wp-content/uploads/2018/09/person-icon.jpg"),e(n)})).catch((function(e){i(e)}))}))},LogOut:function(e){var t=e.commit,n=e.state;return new r.default((function(e,i){(0,o.logout)(n.token).then((function(){t("SET_TOKEN",""),t("SET_ROLES",[]),(0,u.removeToken)(),e()})).catch((function(e){i(e)}))}))},FedLogOut:function(e){var t=e.commit;return new r.default((function(e){t("SET_TOKEN",""),(0,u.removeToken)(),e()}))}}};t.default=c},EIil:function(e,t,n){"use strict";n.r(t);var i=n("FQil"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},F35N:function(e,t,n){"use strict";n.r(t);var i=n("1qtv"),a=n("/KzS");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("IaxC");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"58225820",null);u.options.__file="AppMain.vue",t.default=u.exports},FQil:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=u(n("m1cH")),a=u(n("QbLZ")),r=n("L2JU"),o=u(n("6cqe"));function u(e){return e&&e.__esModule?e:{default:e}}var s=["users","requestlog","role"],c=function(e){return"string"!=typeof e?"":e.charAt(0).toUpperCase()+e.slice(1)};t.default={components:{SidebarItem:o.default},computed:(0,a.default)({},(0,r.mapGetters)(["sidebar","statusInfo"]),{routes:function(){var e=[].concat((0,i.default)(this.$router.options.routes));return e.push({name:"Data",meta:{title:"Schemas",icon:"database"},path:"/edit/collection/",children:this.statusInfo.collections.map((function(e){return{meta:{title:c(e)},path:e}}))}),e.push({name:"Data",meta:{title:"Data",icon:"database"},path:"/list",children:this.statusInfo.collections.filter((function(e){return!s.includes(e)})).map((function(e){return{meta:{title:c(e)},path:e}}))}),e},isCollapse:function(){return!this.sidebar.opened}})}},GBEn:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=u(n("14Xm")),a=u(n("D3Ub")),r=u(n("Q2AE")),o=u(n("t3Un"));function u(e){return e&&e.__esModule?e:{default:e}}t.default={name:"AppMain",computed:{},created:function(){this.update()},methods:{update:function(){var e=this;return(0,a.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,o.default)({url:"/status/"});case 2:e.statusInfo=t.sent.data,r.default.dispatch("StatusInfo",e.statusInfo);case 4:case"end":return t.stop()}}),t,e)})))()}}}},GPBF:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-link"><g><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z" /><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z" /><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z" /></g></symbol>'});o.a.add(u);t.default=u},HmsV:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement;return(this._self._c||e)("component",this._b({},"component",this.linkProps(this.to),!1),[this._t("default")],2)},a=[]},I77X:function(e,t,n){"use strict";n.r(t);var i=n("Xl2i"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},IKxP:function(e,t,n){},IZzN:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=s(n("QbLZ")),a=s(n("33yf")),r=n("7Qib"),o=s(n("ssOZ")),u=s(n("bITd"));function s(e){return e&&e.__esModule?e:{default:e}}t.default={name:"SidebarItem",components:{Item:o.default,AppLink:u.default},props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return{onlyOneChild:null}},methods:{filterOutHidden:function(e){return e.filter((function(e){return!e.hidden}))},hasOneShowingChild:function(e,t){var n=this,a=e.filter((function(e){return!e.hidden&&(n.onlyOneChild=e,!0)}));return 1===a.length||0===a.length&&(this.onlyOneChild=(0,i.default)({},t,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return this.isExternalLink(e)?e:a.default.resolve(this.basePath,e)},isExternalLink:function(e){return(0,r.isExternal)(e)}}}},IaxC:function(e,t,n){"use strict";var i=n("WkwU");n.n(i).a},Ij2q:function(e,t,n){"use strict";var i=c(n("oYx3")),a=c(n("Q2AE")),r=c(n("Mj6V"));n("pdi6");var o=n("XJYT"),u=n("X4fA"),s=c(n("t3Un"));function c(e){return e&&e.__esModule?e:{default:e}}var l=["/login","/install"];i.default.beforeEach((function(e,t,n){r.default.start(),(0,u.getToken)()?"/login"===e.path?(n({path:"/"}),r.default.done()):0===a.default.getters.roles.length?a.default.dispatch("GetInfo").then((function(e){n()})).catch((function(e){a.default.dispatch("FedLogOut").then((function(){o.Message.error(e||"Verification failed, please login again"),n({path:"/"})}))})):n():(0,s.default)({url:"/status"}).then((function(t){t.data.installed||"/install"===e.path?-1!==l.indexOf(e.path)?n():(n("/login?redirect="+e.path),r.default.done()):(n("/install"),r.default.done())}))})),i.default.afterEach((function(){r.default.done()}))},KVr3:function(e,t,n){"use strict";n.r(t);var i=n("vaBn"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},Kj24:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-password"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z" /></symbol>'});o.a.add(u);t.default=u},MMMJ:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-example"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z" /></symbol>'});o.a.add(u);t.default=u},MMau:function(e,t,n){"use strict";n.r(t);var i=n("VBxQ"),a=n("EIil");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,null,null);u.options.__file="index.vue",t.default=u.exports},MOri:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{class:this.svgClass,attrs:{"aria-hidden":"true"}},[t("use",{attrs:{"xlink:href":this.iconName}})])},a=[]},NnNH:function(e,t,n){"use strict";var i=n("i2cb");n.n(i).a},"O+jn":function(e,t,n){"use strict";n.r(t);var i=n("s1bt"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},OHj3:function(e,t,n){"use strict";var i=n("ja/U");n.n(i).a},OOIL:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("oQr/");Object.defineProperty(t,"Navbar",{enumerable:!0,get:function(){return o(i).default}});var a=n("MMau");Object.defineProperty(t,"Sidebar",{enumerable:!0,get:function(){return o(a).default}});var r=n("F35N");function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"AppMain",{enumerable:!0,get:function(){return o(r).default}})},Pf3K:function(e,t,n){"use strict";n.r(t);var i=n("rgsC"),a=n("I77X");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,null,null);u.options.__file="App.vue",t.default=u.exports},Q2AE:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=s(n("Kw5r")),a=s(n("L2JU")),r=s(n("2c2J")),o=s(n("D5rb")),u=s(n("lNWa"));function s(e){return e&&e.__esModule?e:{default:e}}i.default.use(a.default);var c=new a.default.Store({modules:{app:r.default,user:o.default},getters:u.default});t.default=c},"R/Hx":function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-table"><g><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /></g></symbol>'});o.a.add(u);t.default=u},Ssdo:function(e,t,n){},TLko:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("7Qib");t.default={props:{to:{type:String,required:!0}},methods:{isExternalLink:function(e){return(0,i.isExternal)(e)},linkProps:function(e){return this.isExternalLink(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}}},TQwg:function(e,t,n){"use strict";var i=n("eqNk");n.n(i).a},TfVu:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 64" id="icon-eye"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z" /></symbol>'});o.a.add(u);t.default=u},Tx5V:function(e,t,n){"use strict";n.r(t);var i=n("mIrJ"),a=n("e6x5");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("gXxq");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"18b41ae9",null);u.options.__file="index.vue",t.default=u.exports},"Uf/o":function(e,t,n){var i={"./example.svg":"MMMJ","./eye.svg":"TfVu","./form.svg":"6xvN","./link.svg":"GPBF","./nested.svg":"3PhE","./password.svg":"Kj24","./table.svg":"R/Hx","./tree.svg":"k80C","./user.svg":"s7Vf"};function a(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id="Uf/o"},"V+js":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"Hamburger",props:{isActive:{type:Boolean,default:!1},toggleClick:{type:Function,default:null}}}},VBxQ:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement,t=this._self._c||e;return t("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[t("el-menu",{attrs:{"show-timeout":200,"default-active":this.$route.path,collapse:this.isCollapse,"unique-opened":!0,mode:"vertical","background-color":"#304156","text-color":"#bfcbd9","active-text-color":"#409EFF"}},this._l(this.routes,(function(e){return t("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})))],1)},a=[]},VSRc:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.filteredLevelList,(function(t,i){return n("el-breadcrumb-item",{key:t.path},["noredirect"===t.redirect||i==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})))],1)},a=[]},Vtdi:function(e,t,n){"use strict";var i=f(n("Kw5r"));n("9d8Q");var a=f(n("XJYT"));n("D66Q");var r=f(n("stYL"));n("sg+I");var o=f(n("Pf3K")),u=f(n("oYx3")),s=f(n("Q2AE"));n("SYky"),n("q4sD"),n("L4hS"),n("1I2w"),n("mF2h"),n("Ij2q");var c=n("uK5S"),l=f(n("y4GO")),d=n("0yek");function f(e){return e&&e.__esModule?e:{default:e}}l.default.add([d.uniDatabase,d.uniHome,d.uniUsersAlt,d.uniShieldCheck,d.uniBookOpen,d.uniDiary,d.uniFlask,d.uniCog,d.uniPlus,d.uniLink]),i.default.use(l.default),i.default.use(a.default,{locale:r.default}),i.default.use(c.VuePlugin),i.default.config.productionTip=!1,new i.default({el:"#app",router:u.default,store:s.default,render:function(e){return e(o.default)}})},WkwU:function(e,t,n){},X4fA:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getToken=function(){return r.default.get("Admin-Token")},t.setToken=function(e){return r.default.set("Admin-Token",e)},t.removeToken=function(){return r.default.remove("Admin-Token")};var i,a=n("p46w"),r=(i=a)&&i.__esModule?i:{default:i}},Xl2i:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"App"}},Y1Bl:function(e,t,n){"use strict";n.r(t);var i=n("VSRc"),a=n("KVr3");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("zFxt");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"721dc8c4",null);u.options.__file="index.vue",t.default=u.exports},Z3ev:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("Q2AE"),r=(i=a)&&i.__esModule?i:{default:i};var o=document.body;t.default={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&r.default.dispatch("CloseSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.resizeHandler)},mounted:function(){this.isMobile()&&(r.default.dispatch("ToggleDevice","mobile"),r.default.dispatch("CloseSideBar",{withoutAnimation:!0}))},methods:{isMobile:function(){return o.getBoundingClientRect().width-3<1024},resizeHandler:function(){if(!document.hidden){var e=this.isMobile();r.default.dispatch("ToggleDevice",e?"mobile":"desktop"),e&&r.default.dispatch("CloseSideBar",{withoutAnimation:!0})}}}}},bITd:function(e,t,n){"use strict";n.r(t);var i=n("HmsV"),a=n("s7+5");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,null,null);u.options.__file="Link.vue",t.default=u.exports},e6x5:function(e,t,n){"use strict";n.r(t);var i=n("V+js"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},eqNk:function(e,t,n){},fe1z:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.logout=void 0;var i,a=u(n("14Xm")),r=u(n("D3Ub"));t.logout=(i=(0,r.default)(a.default.mark((function e(){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)});t.login=function(e,t){return(0,o.default)({url:"/users/login",method:"post",data:{email:e,password:t}})},t.getInfo=function(e){return(0,o.default)({url:"/users/me",method:"get"})};var o=u(n("t3Un"));function u(e){return e&&e.__esModule?e:{default:e}}},gXxq:function(e,t,n){"use strict";var i=n("IKxP");n.n(i).a},gaGZ:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=u(n("QbLZ")),a=n("L2JU"),r=u(n("Y1Bl")),o=u(n("Tx5V"));function u(e){return e&&e.__esModule?e:{default:e}}t.default={components:{Breadcrumb:r.default,Hamburger:o.default},computed:(0,i.default)({},(0,a.mapGetters)(["sidebar","avatar"])),methods:{toggleSideBar:function(){this.$store.dispatch("ToggleSideBar")},logout:function(){this.$store.dispatch("LogOut").then((function(){location.reload()}))}}}},i2cb:function(e,t,n){},"jF/l":function(e,t,n){"use strict";n.r(t);var i=n("+73H"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},"ja/U":function(e,t,n){},k80C:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-tree"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z" /></symbol>'});o.a.add(u);t.default=u},kCNp:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.item.hidden&&e.item.children?n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{attrs:{index:e.resolvePath(e.item.path)}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._v(" "),e._l(e.filterOutHidden(e.item.children),(function(t){return[t.children&&t.children.length>0?n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}}):n("app-link",{key:t.name,attrs:{to:e.resolvePath(t.path)}},[n("el-menu-item",{attrs:{index:e.resolvePath(t.path)}},[t.meta?n("item",{attrs:{icon:t.meta.icon,title:t.meta.title}}):e._e()],1)],1)]}))],2):[n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[e.onlyOneChild.meta?n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta.icon,title:e.onlyOneChild.meta.title}}):e._e()],1)],1)]],2):e._e()},a=[]},lNWa:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name},email:function(e){return e.user.email},roles:function(e){return e.user.roles},statusInfo:function(e){return e.user.statusInfo}}},mF2h:function(e,t,n){"use strict";var i=r(n("Kw5r")),a=r(n("wAo7"));function r(e){return e&&e.__esModule?e:{default:e}}i.default.component("svg-icon",a.default);var o,u=n("Uf/o");(o=u).keys().map(o)},mIrJ:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("svg",{staticClass:"hamburger",class:{"is-active":this.isActive},attrs:{t:"1492500959545",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1691","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"64",height:"64"},on:{click:this.toggleClick}},[t("path",{attrs:{d:"M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z","p-id":"1692"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z","p-id":"1693"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z","p-id":"1694"}})])])},a=[]},"oQr/":function(e,t,n){"use strict";n.r(t);var i=n("zASd"),a=n("pviM");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("NnNH");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"24a9ff24",null);u.options.__file="Navbar.vue",t.default=u.exports},oYx3:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.constantRouterMap=void 0;var i=o(n("Kw5r")),a=o(n("jE9Z")),r=o(n("2c6e"));function o(e){return e&&e.__esModule?e:{default:e}}i.default.use(a.default);var u=function(e){return"string"!=typeof e?"":e.charAt(0).toUpperCase()+e.slice(1)},s=t.constantRouterMap=[{path:"/login",component:function(){return n.e("chunk-5cee").then(n.bind(null,"ntYl"))},hidden:!0},{path:"/install",component:function(){return Promise.all([n.e("chunk-09d8"),n.e("chunk-621e")]).then(n.bind(null,"l2Fg"))},hidden:!0},{path:"/404",component:function(){return n.e("chunk-bd5f").then(n.bind(null,"jNvO"))},hidden:!0},{path:"/",component:r.default,redirect:"/home",name:"Home",meta:{title:"Home",icon:"home"},children:[{path:"home",meta:{title:"Home",icon:"home"},component:function(){return Promise.all([n.e("chunk-f691"),n.e("chunk-1dff")]).then(n.bind(null,"u1G+"))}},{path:"/edit/:collectionName/:id",component:function(){return Promise.all([n.e("chunk-09d8"),n.e("chunk-e375")]).then(n.bind(null,"ZoMo"))},hidden:!0}]},{path:"/users",redirect:"/users/list",component:r.default,name:"Users",meta:{title:"People",icon:"users-alt"},children:[{path:"list",meta:{title:"Users",icon:"users-alt"},name:"users2",component:function(){return n.e("chunk-f691").then(n.bind(null,"VqTb"))},props:{collectionName:"users"}},{path:"add",meta:{title:"Add User",icon:"plus"},name:"newuser",component:function(){return Promise.all([n.e("chunk-09d8"),n.e("chunk-e375")]).then(n.bind(null,"ZoMo"))},props:{collectionName:"users",id:"create"}},{path:"role",meta:{title:"Roles",icon:"shield-check"},name:"role",component:function(){return n.e("chunk-f691").then(n.bind(null,"VqTb"))},props:{collectionName:"role"}},{path:"addrole",meta:{title:"Add Role",icon:"plus"},name:"newrole",component:function(){return Promise.all([n.e("chunk-09d8"),n.e("chunk-e375")]).then(n.bind(null,"ZoMo"))},props:{collectionName:"role",id:"create"}}]},{path:"/list/:collectionName",component:r.default,hidden:!0,name:"Data",meta:{title:"Data",icon:"database"},children:[{path:"",name:":collectionName",component:function(){return n.e("chunk-f691").then(n.bind(null,"VqTb"))},props:function(e){return{collectionName:e.params.collectionName}},meta:{title:u(name)}}]},{path:"/manage/permissions",component:r.default,name:"permissions",meta:{title:"Manage",icon:"shield-check"},children:[{path:"",name:"permissions",component:function(){return n.e("chunk-f075").then(n.bind(null,"c6Js"))},meta:{title:"Permissions"}}]},{path:"/dev",component:r.default,meta:{title:"Dev",icon:"flask"},name:"Dev",children:[{path:"",name:"",component:function(){return n.e("chunk-b423").then(n.bind(null,"RAkD"))},meta:{title:""},hidden:!0},{path:"listeners",name:"listeners",component:function(){return n.e("chunk-7291").then(n.bind(null,"5nIF"))},meta:{title:"Listeners"}},{path:"middleware",name:"middleware",component:function(){return n.e("chunk-e7c3").then(n.bind(null,"uezr"))},meta:{title:"Middleware"}},{path:"requestlogs",meta:{title:"Request Logs",icon:"diary"},name:"requestlogs",component:function(){return n.e("chunk-f691").then(n.bind(null,"VqTb"))},props:{collectionName:"requestlog",columns:["method","url","req.ip","user","res.message","res.statusCode","res.headers.content-length"]}},{path:"viewrequest/:requestId",hidden:!0,meta:{title:"View Request",icon:"diary"},name:"viewrequest",component:function(){return n.e("chunk-3bc2").then(n.bind(null,"o4XF"))}},{path:"/edit/collection",component:r.default,name:"Schema",hidden:!0,meta:{title:"Schemas",icon:"cog"},children:[{hidden:!0,path:"/:collectionName",name:name,meta:{title:u(name)}}]}]},{path:"external-link",component:r.default,children:[{path:"https://github.com/thomas4019/expressa",meta:{title:"Expressa Docs",icon:"link"}}]},{path:"*",redirect:"/404",hidden:!0}];t.default=new a.default({scrollBehavior:function(){return{y:0}},routes:s})},pviM:function(e,t,n){"use strict";n.r(t);var i=n("gaGZ"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},rgsC:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},a=[]},s1bt:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("OOIL"),r=n("Z3ev"),o=(i=r)&&i.__esModule?i:{default:i};t.default={name:"Layout",components:{Navbar:a.Navbar,Sidebar:a.Sidebar,AppMain:a.AppMain},mixins:[o.default],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:{handleClickOutside:function(){this.$store.dispatch("CloseSideBar",{withoutAnimation:!1})}}}},"s7+5":function(e,t,n){"use strict";n.r(t);var i=n("TLko"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},s7Vf:function(e,t,n){"use strict";n.r(t);var i=n("4BeY"),a=n.n(i),r=n("IaFt"),o=n.n(r),u=new a.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 130" id="icon-user"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797" /></symbol>'});o.a.add(u);t.default=u},"sg+I":function(e,t,n){},ssOZ:function(e,t,n){"use strict";n.r(t);var i=n("xr5J");for(var a in i)["default"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(a);var r=n("KHd+"),o=Object(r.a)(i.default,void 0,void 0,!1,null,null,null);o.options.__file="Item.vue",t.default=o.exports},t3Un:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=s(n("4d7F")),a=s(n("vDqi")),r=n("XJYT"),o=s(n("Q2AE")),u=n("X4fA");function s(e){return e&&e.__esModule?e:{default:e}}var c=a.default.create({baseURL:"undefined"!=typeof settings?settings.apiurl:"/api",timeout:5e3});c.interceptors.request.use((function(e){return o.default.getters.token&&(e.headers["x-access-token"]=(0,u.getToken)()),e}),(function(e){console.log(e),i.default.reject(e)})),c.interceptors.response.use((function(e){return e}),(function(e){console.log(e);var t=["response","data","error"].reduce((function(e,t){return e&&e[t]?e[t]:null}),e)||e.message;return(0,r.Message)({message:t,type:"error",duration:0,showClose:!0}),i.default.reject(e)})),t.default=c},vaBn:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n("vRGJ"),r=(i=a)&&i.__esModule?i:{default:i};t.default={data:function(){return{levelList:null}},computed:{filteredLevelList:function(){return this.levelList.filter((function(e){return e.meta.title}))}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){if(e.name)return!0})),t=e[0];t&&"home"!==t.name&&(e=[{path:"/home",meta:{title:"Home"}}].concat(e)),this.levelList=e},pathCompile:function(e){var t=this.$route.params;return r.default.compile(e)(t)},handleLink:function(e){var t=e.redirect,n=e.path;console.log("handleLink"),console.log(t),console.log(n),t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}}},wAo7:function(e,t,n){"use strict";n.r(t);var i=n("MOri"),a=n("jF/l");for(var r in a)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(r);n("OHj3");var o=n("KHd+"),u=Object(o.a)(a.default,i.a,i.b,!1,null,"75db6a7e",null);u.options.__file="index.vue",t.default=u.exports},xr5J:function(e,t,n){"use strict";n.r(t);var i=n("+p7W"),a=n.n(i);for(var r in i)["default"].indexOf(r)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(r);t.default=a.a},zASd:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-menu",{staticClass:"navbar2",attrs:{mode:"horizontal"}},[n("hamburger",{staticClass:"hamburger-container",attrs:{"toggle-click":e.toggleSideBar,"is-active":e.sidebar.opened}}),e._v(" "),n("breadcrumb"),e._v(" "),n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("i",{staticClass:"material-icons",staticStyle:{"font-size":"40px"}},[e._v("\n person\n ")]),e._v(" "),n("i",{staticClass:"el-icon-caret-bottom"})]),e._v(" "),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{staticClass:"inlineBlock",attrs:{to:"/"}},[n("el-dropdown-item",[e._v("\n Home\n ")])],1),e._v(" "),n("el-dropdown-item",{attrs:{divided:""}},[n("span",{staticStyle:{display:"block"},on:{click:e.logout}},[e._v("LogOut")])])],1)],1)],1)},a=[]},zFxt:function(e,t,n){"use strict";var i=n("Ssdo");n.n(i).a}},[["Vtdi","runtime","chunk-elementUI","chunk-libs"]]]);