Browse Source

feat: admin dashboard recent pages + update deps

Nick 5 years ago
parent
commit
28c443c356

+ 38 - 12
client/components/admin/admin-dashboard.vue

@@ -54,24 +54,31 @@
             .body-2(v-else) {{$t('admin:dashboard.versionNew', { version: info.latestVersion })}}
             .body-2(v-else) {{$t('admin:dashboard.versionNew', { version: info.latestVersion })}}
       v-flex(xs12, xl6)
       v-flex(xs12, xl6)
         v-card.radius-7.animated.fadeInUp.wait-p2s
         v-card.radius-7.animated.fadeInUp.wait-p2s
-          v-card-title.subtitle-1(:class='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`') Recent Pages
+          v-toolbar(:color='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`', dense, flat)
+            v-spacer
+            .overline Recent Pages
+            v-spacer
           v-data-table.pb-2(
           v-data-table.pb-2(
             :items='recentPages'
             :items='recentPages'
+            :headers='headers'
+            :loading='recentPagesLoading'
             hide-default-footer
             hide-default-footer
             hide-default-header
             hide-default-header
             )
             )
-            template(slot='items' slot-scope='props')
-              td(width='20', style='padding-right: 0;'): v-icon insert_drive_file
-              td
-                .body-2.primary--text {{ props.item.title }}
-                .caption.grey--text.text--darken-2 {{ props.item.description }}
-              td.caption /{{ props.item.path }}
-              td.grey--text.text--darken-2(width='250')
-                .caption: strong Updated {{ props.item.updatedAt | moment('from') }}
-                .caption Created {{ props.item.createdAt | moment('calendar') }}
+            template(slot='item', slot-scope='props')
+              tr.is-clickable(:active='props.selected', @click='$router.push(`/pages/` + props.item.id)')
+                td
+                  .body-2: strong {{ props.item.title }}
+                td.admin-pages-path
+                  v-chip(label, small, :color='$vuetify.theme.dark ? `grey darken-4` : `grey lighten-4`') {{ props.item.locale }}
+                  span.ml-2.grey--text(:class='$vuetify.theme.dark ? `text--lighten-1` : `text--darken-2`') / {{ props.item.path }}
+                td.text-right(width='250') {{ props.item.updatedAt | moment('calendar') }}
       v-flex(xs12, xl6)
       v-flex(xs12, xl6)
         v-card.radius-7.animated.fadeInUp.wait-p4s
         v-card.radius-7.animated.fadeInUp.wait-p4s
-          v-card-title.subtitle-1(:class='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`') Most Popular Pages
+          v-toolbar(:color='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`', dense, flat)
+            v-spacer
+            .overline Most Popular Pages
+            v-spacer
           v-data-table.pb-2(
           v-data-table.pb-2(
             :items='popularPages'
             :items='popularPages'
             hide-default-footer
             hide-default-footer
@@ -105,6 +112,8 @@ import _ from 'lodash'
 import AnimatedNumber from 'animated-number-vue'
 import AnimatedNumber from 'animated-number-vue'
 import { get } from 'vuex-pathify'
 import { get } from 'vuex-pathify'
 
 
+import recentPagesQuery from 'gql/admin/dashboard/dashboard-query-recentpages.gql'
+
 export default {
 export default {
   components: {
   components: {
     AnimatedNumber
     AnimatedNumber
@@ -112,7 +121,14 @@ export default {
   data() {
   data() {
     return {
     return {
       recentPages: [],
       recentPages: [],
-      popularPages: []
+      recentPagesLoading: false,
+      popularPages: [],
+      headers: [
+        { text: 'ID', value: 'id', width: 80 },
+        { text: 'Title', value: 'title' },
+        { text: 'Path', value: 'path' },
+        { text: 'Last Updated', value: 'updatedAt', width: 250 }
+      ]
     }
     }
   },
   },
   computed: {
   computed: {
@@ -133,6 +149,16 @@ export default {
         return _.includes(this.permissions, prm)
         return _.includes(this.permissions, prm)
       }
       }
     }
     }
+  },
+  apollo: {
+    recentPages: {
+      query: recentPagesQuery,
+      update: (data) => data.pages.list,
+      watchLoading (isLoading) {
+        this.recentPagesLoading = isLoading
+        this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'admin-dashboard-recentpages')
+      }
+    }
   }
   }
 }
 }
 </script>
 </script>

+ 1 - 1
client/components/admin/admin-groups.vue

@@ -78,7 +78,7 @@ export default {
       pageCount: 0,
       pageCount: 0,
       groups: [],
       groups: [],
       headers: [
       headers: [
-        { text: 'ID', value: 'id', width: 50, align: 'right' },
+        { text: 'ID', value: 'id', width: 80, sortable: true },
         { text: 'Name', value: 'name' },
         { text: 'Name', value: 'name' },
         { text: 'Users', value: 'userCount', width: 200 },
         { text: 'Users', value: 'userCount', width: 200 },
         { text: 'Created', value: 'createdAt', width: 250 },
         { text: 'Created', value: 'createdAt', width: 250 },

+ 1 - 1
client/components/admin/admin-locale.vue

@@ -187,7 +187,7 @@ export default {
           align: 'center',
           align: 'center',
           value: 'availability',
           value: 'availability',
           sortable: false,
           sortable: false,
-          width: 100
+          width: 120
         },
         },
         {
         {
           text: this.$t('admin:locale.download'),
           text: this.$t('admin:locale.download'),

+ 3 - 3
client/components/admin/admin-pages.vue

@@ -56,11 +56,11 @@
               tr.is-clickable(:active='props.selected', @click='$router.push(`/pages/` + props.item.id)')
               tr.is-clickable(:active='props.selected', @click='$router.push(`/pages/` + props.item.id)')
                 td.text-xs-right {{ props.item.id }}
                 td.text-xs-right {{ props.item.id }}
                 td
                 td
-                  .body-2 {{ props.item.title }}
+                  .body-2: strong {{ props.item.title }}
                   .caption {{ props.item.description }}
                   .caption {{ props.item.description }}
                 td.admin-pages-path
                 td.admin-pages-path
                   v-chip(label, small, :color='$vuetify.theme.dark ? `grey darken-4` : `grey lighten-4`') {{ props.item.locale }}
                   v-chip(label, small, :color='$vuetify.theme.dark ? `grey darken-4` : `grey lighten-4`') {{ props.item.locale }}
-                  span.ml-2.grey--text(:class='$vuetify.theme.dark ? `text--lighten-1` : `text--darken-2`') {{ props.item.path }}
+                  span.ml-2.grey--text(:class='$vuetify.theme.dark ? `text--lighten-1` : `text--darken-2`') / {{ props.item.path }}
                 td {{ props.item.createdAt | moment('calendar') }}
                 td {{ props.item.createdAt | moment('calendar') }}
                 td {{ props.item.updatedAt | moment('calendar') }}
                 td {{ props.item.updatedAt | moment('calendar') }}
             template(slot='no-data')
             template(slot='no-data')
@@ -80,7 +80,7 @@ export default {
       pagination: 1,
       pagination: 1,
       pages: [],
       pages: [],
       headers: [
       headers: [
-        { text: 'ID', value: 'id', width: 50, align: 'right' },
+        { text: 'ID', value: 'id', width: 80, sortable: true },
         { text: 'Title', value: 'title' },
         { text: 'Title', value: 'title' },
         { text: 'Path', value: 'path' },
         { text: 'Path', value: 'path' },
         { text: 'Created', value: 'createdAt', width: 250 },
         { text: 'Created', value: 'createdAt', width: 250 },

+ 17 - 0
client/graph/admin/dashboard/dashboard-query-recentpages.gql

@@ -0,0 +1,17 @@
+query {
+  pages {
+    list(limit: 10, orderBy: UPDATED, orderByDirection: DESC) {
+      id
+      locale
+      path
+      title
+      description
+      contentType
+      isPublished
+      isPrivate
+      privateNS
+      createdAt
+      updatedAt
+    }
+  }
+}

+ 0 - 3
dev/webpack/webpack.dev.js

@@ -3,7 +3,6 @@ const path = require('path')
 const fs = require('fs-extra')
 const fs = require('fs-extra')
 const yargs = require('yargs').argv
 const yargs = require('yargs').argv
 const _ = require('lodash')
 const _ = require('lodash')
-const Fiber = require('fibers')
 
 
 const { VueLoaderPlugin } = require('vue-loader')
 const { VueLoaderPlugin } = require('vue-loader')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
 const CopyWebpackPlugin = require('copy-webpack-plugin')
@@ -85,7 +84,6 @@ module.exports = {
             loader: 'sass-loader',
             loader: 'sass-loader',
             options: {
             options: {
               implementation: require('sass'),
               implementation: require('sass'),
-              fiber: Fiber,
               sourceMap: false
               sourceMap: false
             }
             }
           }
           }
@@ -107,7 +105,6 @@ module.exports = {
             loader: 'sass-loader',
             loader: 'sass-loader',
             options: {
             options: {
               implementation: require('sass'),
               implementation: require('sass'),
-              fiber: Fiber,
               sourceMap: false
               sourceMap: false
             }
             }
           },
           },

+ 0 - 3
dev/webpack/webpack.prod.js

@@ -3,7 +3,6 @@ const path = require('path')
 const fs = require('fs-extra')
 const fs = require('fs-extra')
 const yargs = require('yargs').argv
 const yargs = require('yargs').argv
 const _ = require('lodash')
 const _ = require('lodash')
-const Fiber = require('fibers')
 
 
 const { VueLoaderPlugin } = require('vue-loader')
 const { VueLoaderPlugin } = require('vue-loader')
 const { CleanWebpackPlugin } = require('clean-webpack-plugin')
 const { CleanWebpackPlugin } = require('clean-webpack-plugin')
@@ -88,7 +87,6 @@ module.exports = {
             loader: 'sass-loader',
             loader: 'sass-loader',
             options: {
             options: {
               implementation: require('sass'),
               implementation: require('sass'),
-              fiber: Fiber,
               sourceMap: false
               sourceMap: false
             }
             }
           }
           }
@@ -111,7 +109,6 @@ module.exports = {
             loader: 'sass-loader',
             loader: 'sass-loader',
             options: {
             options: {
               implementation: require('sass'),
               implementation: require('sass'),
-              fiber: Fiber,
               sourceMap: false
               sourceMap: false
             }
             }
           },
           },

+ 21 - 21
package.json

@@ -37,12 +37,12 @@
     "@aoberoi/passport-slack": "1.0.5",
     "@aoberoi/passport-slack": "1.0.5",
     "@bugsnag/js": "6.4.0",
     "@bugsnag/js": "6.4.0",
     "@exlinc/keycloak-passport": "1.0.2",
     "@exlinc/keycloak-passport": "1.0.2",
-    "algoliasearch": "3.33.0",
+    "algoliasearch": "3.34.0",
     "apollo-fetch": "0.7.0",
     "apollo-fetch": "0.7.0",
-    "apollo-server": "2.9.0",
-    "apollo-server-express": "2.9.0",
+    "apollo-server": "2.9.2",
+    "apollo-server-express": "2.9.2",
     "auto-load": "3.0.4",
     "auto-load": "3.0.4",
-    "aws-sdk": "2.518.0",
+    "aws-sdk": "2.521.0",
     "axios": "0.19.0",
     "axios": "0.19.0",
     "azure-search-client": "3.1.5",
     "azure-search-client": "3.1.5",
     "bcryptjs-then": "1.0.1",
     "bcryptjs-then": "1.0.1",
@@ -72,13 +72,13 @@
     "filesize": "4.1.2",
     "filesize": "4.1.2",
     "fs-extra": "8.1.0",
     "fs-extra": "8.1.0",
     "getos": "3.1.1",
     "getos": "3.1.1",
-    "graphql": "14.5.3",
+    "graphql": "14.5.4",
     "graphql-list-fields": "2.0.2",
     "graphql-list-fields": "2.0.2",
     "graphql-rate-limit-directive": "1.1.0",
     "graphql-rate-limit-directive": "1.1.0",
     "graphql-subscriptions": "1.1.0",
     "graphql-subscriptions": "1.1.0",
     "graphql-tools": "4.0.5",
     "graphql-tools": "4.0.5",
     "highlight.js": "9.15.10",
     "highlight.js": "9.15.10",
-    "i18next": "17.0.12",
+    "i18next": "17.0.13",
     "i18next-express-middleware": "1.8.1",
     "i18next-express-middleware": "1.8.1",
     "i18next-node-fs-backend": "2.1.3",
     "i18next-node-fs-backend": "2.1.3",
     "image-size": "0.7.4",
     "image-size": "0.7.4",
@@ -87,7 +87,7 @@
     "js-yaml": "3.13.1",
     "js-yaml": "3.13.1",
     "jsonwebtoken": "8.5.1",
     "jsonwebtoken": "8.5.1",
     "klaw": "3.0.0",
     "klaw": "3.0.0",
-    "knex": "0.19.2",
+    "knex": "0.19.3",
     "lodash": "4.17.15",
     "lodash": "4.17.15",
     "markdown-it": "9.1.0",
     "markdown-it": "9.1.0",
     "markdown-it-abbr": "1.0.4",
     "markdown-it-abbr": "1.0.4",
@@ -107,11 +107,11 @@
     "mime-types": "2.1.24",
     "mime-types": "2.1.24",
     "moment": "2.24.0",
     "moment": "2.24.0",
     "moment-timezone": "0.5.26",
     "moment-timezone": "0.5.26",
-    "mongodb": "3.3.1",
+    "mongodb": "3.3.2",
     "mssql": "5.1.0",
     "mssql": "5.1.0",
     "multer": "1.4.2",
     "multer": "1.4.2",
-    "mysql2": "1.6.5",
-    "nanoid": "2.0.4",
+    "mysql2": "1.7.0",
+    "nanoid": "2.1.0",
     "node-2fa": "1.1.2",
     "node-2fa": "1.1.2",
     "node-cache": "4.2.1",
     "node-cache": "4.2.1",
     "nodemailer": "6.3.0",
     "nodemailer": "6.3.0",
@@ -148,10 +148,10 @@
     "request-promise": "4.2.4",
     "request-promise": "4.2.4",
     "safe-regex": "2.0.2",
     "safe-regex": "2.0.2",
     "sanitize-filename": "1.6.3",
     "sanitize-filename": "1.6.3",
-    "scim-query-filter-parser": "1.1.0",
+    "scim-query-filter-parser": "1.1.1",
     "semver": "6.3.0",
     "semver": "6.3.0",
     "serve-favicon": "2.5.0",
     "serve-favicon": "2.5.0",
-    "simple-git": "1.124.0",
+    "simple-git": "1.126.0",
     "solr-node": "1.2.1",
     "solr-node": "1.2.1",
     "sqlite3": "4.1.0",
     "sqlite3": "4.1.0",
     "striptags": "3.1.1",
     "striptags": "3.1.1",
@@ -212,17 +212,17 @@
     "cssnano": "4.1.10",
     "cssnano": "4.1.10",
     "duplicate-package-checker-webpack-plugin": "3.0.0",
     "duplicate-package-checker-webpack-plugin": "3.0.0",
     "epic-spinners": "1.1.0",
     "epic-spinners": "1.1.0",
-    "eslint": "6.2.2",
+    "eslint": "6.3.0",
     "eslint-config-requarks": "1.0.7",
     "eslint-config-requarks": "1.0.7",
-    "eslint-config-standard": "14.0.1",
+    "eslint-config-standard": "14.1.0",
     "eslint-plugin-import": "2.18.2",
     "eslint-plugin-import": "2.18.2",
-    "eslint-plugin-node": "9.1.0",
+    "eslint-plugin-node": "9.2.0",
     "eslint-plugin-promise": "4.2.1",
     "eslint-plugin-promise": "4.2.1",
     "eslint-plugin-standard": "4.0.1",
     "eslint-plugin-standard": "4.0.1",
     "eslint-plugin-vue": "5.2.3",
     "eslint-plugin-vue": "5.2.3",
     "fibers": "4.0.1",
     "fibers": "4.0.1",
     "file-loader": "4.2.0",
     "file-loader": "4.2.0",
-    "filepond": "4.5.0",
+    "filepond": "4.5.1",
     "filepond-plugin-file-validate-type": "1.2.4",
     "filepond-plugin-file-validate-type": "1.2.4",
     "filesize.js": "1.0.2",
     "filesize.js": "1.0.2",
     "grapesjs": "0.15.3",
     "grapesjs": "0.15.3",
@@ -259,7 +259,7 @@
     "react-dom": "16.9.0",
     "react-dom": "16.9.0",
     "resolve-url-loader": "3.1.0",
     "resolve-url-loader": "3.1.0",
     "sass": "1.22.10",
     "sass": "1.22.10",
-    "sass-loader": "7.3.1",
+    "sass-loader": "8.0.0",
     "sass-resources-loader": "2.0.1",
     "sass-resources-loader": "2.0.1",
     "script-ext-html-webpack-plugin": "2.1.4",
     "script-ext-html-webpack-plugin": "2.1.4",
     "simple-progress-webpack-plugin": "1.1.2",
     "simple-progress-webpack-plugin": "1.1.2",
@@ -280,7 +280,7 @@
     "vue-loader": "15.7.1",
     "vue-loader": "15.7.1",
     "vue-material-design-icons": "3.4.0",
     "vue-material-design-icons": "3.4.0",
     "vue-moment": "4.0.0",
     "vue-moment": "4.0.0",
-    "vue-router": "3.1.2",
+    "vue-router": "3.1.3",
     "vue-simple-breakpoints": "1.0.3",
     "vue-simple-breakpoints": "1.0.3",
     "vue-status-indicator": "1.2.1",
     "vue-status-indicator": "1.2.1",
     "vue-template-compiler": "2.6.10",
     "vue-template-compiler": "2.6.10",
@@ -288,17 +288,17 @@
     "vue2-animate": "2.1.2",
     "vue2-animate": "2.1.2",
     "vuedraggable": "2.23.0",
     "vuedraggable": "2.23.0",
     "vuescroll": "4.14.0",
     "vuescroll": "4.14.0",
-    "vuetify": "2.0.10",
+    "vuetify": "2.0.11",
     "vuetify-loader": "1.3.0",
     "vuetify-loader": "1.3.0",
     "vuex": "3.1.1",
     "vuex": "3.1.1",
     "vuex-pathify": "1.2.4",
     "vuex-pathify": "1.2.4",
     "vuex-persistedstate": "2.5.4",
     "vuex-persistedstate": "2.5.4",
-    "webpack": "4.39.2",
+    "webpack": "4.39.3",
     "webpack-bundle-analyzer": "3.4.1",
     "webpack-bundle-analyzer": "3.4.1",
     "webpack-cli": "3.3.7",
     "webpack-cli": "3.3.7",
     "webpack-dev-middleware": "3.7.0",
     "webpack-dev-middleware": "3.7.0",
     "webpack-hot-middleware": "2.25.0",
     "webpack-hot-middleware": "2.25.0",
-    "webpack-merge": "4.2.1",
+    "webpack-merge": "4.2.2",
     "webpack-subresource-integrity": "1.3.2",
     "webpack-subresource-integrity": "1.3.2",
     "webpackbar": "4.0.0",
     "webpackbar": "4.0.0",
     "whatwg-fetch": "3.0.0",
     "whatwg-fetch": "3.0.0",

+ 23 - 1
server/graph/resolvers/page.js

@@ -41,7 +41,29 @@ module.exports = {
         'contentType',
         'contentType',
         'createdAt',
         'createdAt',
         'updatedAt'
         'updatedAt'
-      ])
+      ]).modify(queryBuilder => {
+        if (args.limit) {
+          queryBuilder.limit(args.limit)
+        }
+        const orderDir = args.orderByDirection === 'DESC' ? 'desc' : 'asc'
+        switch (args.orderBy) {
+          case 'CREATED':
+            queryBuilder.orderBy('createdAt', orderDir)
+            break
+          case 'PATH':
+            queryBuilder.orderBy('path', orderDir)
+            break
+          case 'TITLE':
+            queryBuilder.orderBy('title', orderDir)
+            break
+          case 'UPDATED':
+            queryBuilder.orderBy('updatedAt', orderDir)
+            break
+          default:
+            queryBuilder.orderBy('id', orderDir)
+            break
+        }
+      })
     },
     },
     async single (obj, args, context, info) {
     async single (obj, args, context, info) {
       let page = await WIKI.models.pages.getPageFromDb(args.id)
       let page = await WIKI.models.pages.getPageFromDb(args.id)

+ 18 - 1
server/graph/schemas/page.graphql

@@ -27,7 +27,11 @@ type PageQuery {
     locale: String
     locale: String
   ): PageSearchResponse! @auth(requires: ["manage:system", "read:pages"])
   ): PageSearchResponse! @auth(requires: ["manage:system", "read:pages"])
 
 
-  list: [PageListItem!]! @auth(requires: ["manage:system"])
+  list(
+    limit: Int
+    orderBy: PageOrderBy
+    orderByDirection: PageOrderByDirection
+  ): [PageListItem!]! @auth(requires: ["manage:system"])
 
 
   single(
   single(
     id: Int!
     id: Int!
@@ -163,3 +167,16 @@ type PageListItem {
   createdAt: Date!
   createdAt: Date!
   updatedAt: Date!
   updatedAt: Date!
 }
 }
+
+enum PageOrderBy {
+  CREATED
+  ID
+  PATH
+  TITLE
+  UPDATED
+}
+
+enum PageOrderByDirection {
+  ASC
+  DESC
+}

+ 215 - 201
yarn.lock

@@ -1267,6 +1267,13 @@
   resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
   resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
   integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
   integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
 
 
+"@exlinc/keycloak-passport@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@exlinc/keycloak-passport/-/keycloak-passport-1.0.2.tgz#ce3f20185b26abdcd33e340068479b1c2149c2fe"
+  integrity sha512-mUZdBq5peaHRNf8pd6XxgNWk4aY477Gy9XqF0WGHBmCygA2tX4EOvnoI/yHhu0ceAY08g3ng9BbEFKlSMRHWcg==
+  dependencies:
+    passport-oauth2 "^1.4.0"
+
 "@f/animate@^1.0.1":
 "@f/animate@^1.0.1":
   version "1.0.1"
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/@f/animate/-/animate-1.0.1.tgz#a031398adadf9a0bd3a56398cec931f877d88485"
   resolved "https://registry.yarnpkg.com/@f/animate/-/animate-1.0.1.tgz#a031398adadf9a0bd3a56398cec931f877d88485"
@@ -2416,10 +2423,10 @@ ajv@^6.10.2:
     json-schema-traverse "^0.4.1"
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
     uri-js "^4.2.2"
 
 
-algoliasearch@3.33.0:
-  version "3.33.0"
-  resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.33.0.tgz#83b541124ebb0db54643009d4e660866b3177cdf"
-  integrity sha512-9DaVmOd7cvcZeYyV0BWAeJHVWJmgOL2DNUEBY/DTR4MzD1wCWs4Djl7LAlfvkGwGBdRHZCG+l0HA1572w3T8zg==
+algoliasearch@3.34.0:
+  version "3.34.0"
+  resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.34.0.tgz#02eb97bd6718e3a2c71121b9c3b655a35a4ba645"
+  integrity sha512-s8LDedkTWTAWR5uCWgJzGxDkCrqiej5iE4Tc2iCV+ONOO35i5qnVdieKg5gv2VDXBE7IP0YoqfAq/CC0V8PA+Q==
   dependencies:
   dependencies:
     agentkeepalive "^2.2.0"
     agentkeepalive "^2.2.0"
     debug "^2.6.9"
     debug "^2.6.9"
@@ -2546,13 +2553,13 @@ anymatch@^3.0.1:
     normalize-path "^3.0.0"
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
     picomatch "^2.0.4"
 
 
-apollo-cache-control@0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.1.tgz#707c0b958c02c5b47ddf49a02f60ea88a64783fb"
-  integrity sha512-yQy5KB/OuX90PsdztWc4vfc4R//ZmW/AxNgXKWga0xW5OzEsysdJWHAsTzb40/rkJ9VNeQ+0N5wGikiS+jSCzg==
+apollo-cache-control@^0.8.3:
+  version "0.8.3"
+  resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.3.tgz#50c2d652aa2962b6d5bde27400558a9fbc771b63"
+  integrity sha512-SAjWxMsSYqfADIW6Ti1KmMKXJQMKzuZcvbi358u5caEx9Nj2PRpieO4WCKcaLuJpjHTUukS+2BJp1Icfx8ZjHw==
   dependencies:
   dependencies:
-    apollo-server-env "2.4.1"
-    graphql-extensions "0.8.1"
+    apollo-server-env "^2.4.3"
+    graphql-extensions "^0.10.2"
 
 
 apollo-cache-inmemory@1.6.3:
 apollo-cache-inmemory@1.6.3:
   version "1.6.3"
   version "1.6.3"
@@ -2602,33 +2609,33 @@ apollo-client@^1.1:
   optionalDependencies:
   optionalDependencies:
     "@types/graphql" "0.10.2"
     "@types/graphql" "0.10.2"
 
 
-apollo-datasource@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.6.1.tgz#697870f564da90bee53fa30d07875cb46c4d6b06"
-  integrity sha512-oy7c+9Up8PSZwJ1qTK9Idh1acDpIocvw+C0zcHg14ycvNz7qWHSwLUSaAjuQMd9SYFzB3sxfyEhyfyhIogT2+Q==
+apollo-datasource@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.6.3.tgz#b31e089e52adb92fabb536ab8501c502573ffe13"
+  integrity sha512-gRYyFVpJgHE2hhS+VxMeOerxXQ/QYxWG7T6QddfugJWYAG9DRCl65e2b7txcGq2NP3r+O1iCm4GNwhRBDJbd8A==
   dependencies:
   dependencies:
-    apollo-server-caching "0.5.0"
-    apollo-server-env "2.4.1"
+    apollo-server-caching "^0.5.0"
+    apollo-server-env "^2.4.3"
 
 
-apollo-engine-reporting-protobuf@0.4.0:
+apollo-engine-reporting-protobuf@^0.4.0:
   version "0.4.0"
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.0.tgz#e34c192d86493b33a73181fd6be75721559111ec"
   resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.0.tgz#e34c192d86493b33a73181fd6be75721559111ec"
   integrity sha512-cXHZSienkis8v4RhqB3YG3DkaksqLpcxApRLTpRMs7IXNozgV7CUPYGFyFBEra1ZFgUyHXx4G9MpelV+n2cCfA==
   integrity sha512-cXHZSienkis8v4RhqB3YG3DkaksqLpcxApRLTpRMs7IXNozgV7CUPYGFyFBEra1ZFgUyHXx4G9MpelV+n2cCfA==
   dependencies:
   dependencies:
     protobufjs "^6.8.6"
     protobufjs "^6.8.6"
 
 
-apollo-engine-reporting@1.4.3:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.3.tgz#0fcb67de7a24bef4e7e59990981f923267ffdd00"
-  integrity sha512-xv27qfc9dhi1yaWOhNQRmfF+SoLy74hl+M42arpIWdkoDe22fVTmTIqxqGwo4TFR3Z2OkAV5tNzuuOI/icd0Rg==
+apollo-engine-reporting@^1.4.5:
+  version "1.4.5"
+  resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.5.tgz#a77a8eae64e2f511ae48e79a58469b8d6b6b9b49"
+  integrity sha512-cdqQ5CtH+WflhYeBzkIuQOv+AK7s8ny69+G6PT/3P0m0eTQvEKmreiyNiNtCtRimlgs3kFP071oc8W3Jo8xdHA==
   dependencies:
   dependencies:
-    apollo-engine-reporting-protobuf "0.4.0"
+    apollo-engine-reporting-protobuf "^0.4.0"
     apollo-graphql "^0.3.3"
     apollo-graphql "^0.3.3"
-    apollo-server-caching "0.5.0"
-    apollo-server-env "2.4.1"
-    apollo-server-types "0.2.1"
+    apollo-server-caching "^0.5.0"
+    apollo-server-env "^2.4.3"
+    apollo-server-types "^0.2.3"
     async-retry "^1.2.1"
     async-retry "^1.2.1"
-    graphql-extensions "0.9.1"
+    graphql-extensions "^0.10.2"
 
 
 apollo-env@0.5.1:
 apollo-env@0.5.1:
   version "0.5.1"
   version "0.5.1"
@@ -2741,33 +2748,33 @@ apollo-link@^1.0.0, apollo-link@^1.2.1, apollo-link@^1.2.3:
   dependencies:
   dependencies:
     zen-observable-ts "^0.8.15"
     zen-observable-ts "^0.8.15"
 
 
-apollo-server-caching@0.5.0:
+apollo-server-caching@^0.5.0:
   version "0.5.0"
   version "0.5.0"
   resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.0.tgz#446a37ce2d4e24c81833e276638330a634f7bd46"
   resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.0.tgz#446a37ce2d4e24c81833e276638330a634f7bd46"
   integrity sha512-l7ieNCGxUaUAVAAp600HjbUJxVaxjJygtPV0tPTe1Q3HkPy6LEWoY6mNHV7T268g1hxtPTxcdRu7WLsJrg7ufw==
   integrity sha512-l7ieNCGxUaUAVAAp600HjbUJxVaxjJygtPV0tPTe1Q3HkPy6LEWoY6mNHV7T268g1hxtPTxcdRu7WLsJrg7ufw==
   dependencies:
   dependencies:
     lru-cache "^5.0.0"
     lru-cache "^5.0.0"
 
 
-apollo-server-core@2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.9.0.tgz#5db251093ee121a5f4d90a24d51aa4c21e421243"
-  integrity sha512-IvKIgqOqEEB8nszlpHWzlhAu4376So2PgNhFP6UrlfNTllt/WDti5YMOHnVimPWIDHmLPKFan0+wfzpsoRCRdg==
+apollo-server-core@^2.9.2:
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.9.2.tgz#087101fc1a1cd98a79f4b605ca6a476de3986047"
+  integrity sha512-uPjdw1KhyB2vrcBhXoAjQ0d3qT9tstRy1/boCz4gz7InnLpSlCGu5c35RIG2KuXtdQLGB0OHyi7cUt7R8GxK6g==
   dependencies:
   dependencies:
     "@apollographql/apollo-tools" "^0.4.0"
     "@apollographql/apollo-tools" "^0.4.0"
     "@apollographql/graphql-playground-html" "1.6.24"
     "@apollographql/graphql-playground-html" "1.6.24"
     "@types/graphql-upload" "^8.0.0"
     "@types/graphql-upload" "^8.0.0"
     "@types/ws" "^6.0.0"
     "@types/ws" "^6.0.0"
-    apollo-cache-control "0.8.1"
-    apollo-datasource "0.6.1"
-    apollo-engine-reporting "1.4.3"
-    apollo-server-caching "0.5.0"
-    apollo-server-env "2.4.1"
-    apollo-server-errors "2.3.1"
-    apollo-server-plugin-base "0.6.1"
-    apollo-server-types "0.2.1"
-    apollo-tracing "0.8.1"
+    apollo-cache-control "^0.8.3"
+    apollo-datasource "^0.6.3"
+    apollo-engine-reporting "^1.4.5"
+    apollo-server-caching "^0.5.0"
+    apollo-server-env "^2.4.3"
+    apollo-server-errors "^2.3.3"
+    apollo-server-plugin-base "^0.6.3"
+    apollo-server-types "^0.2.3"
+    apollo-tracing "^0.8.3"
     fast-json-stable-stringify "^2.0.0"
     fast-json-stable-stringify "^2.0.0"
-    graphql-extensions "0.10.0"
+    graphql-extensions "^0.10.2"
     graphql-tag "^2.9.2"
     graphql-tag "^2.9.2"
     graphql-tools "^4.0.0"
     graphql-tools "^4.0.0"
     graphql-upload "^8.0.2"
     graphql-upload "^8.0.2"
@@ -2775,23 +2782,23 @@ apollo-server-core@2.9.0:
     subscriptions-transport-ws "^0.9.11"
     subscriptions-transport-ws "^0.9.11"
     ws "^6.0.0"
     ws "^6.0.0"
 
 
-apollo-server-env@2.4.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.1.tgz#58264ecfeb151919e0f480320b4e3769be9f18f3"
-  integrity sha512-J4G1Q6qyb7KjjqvQdVM5HUH3QDb52VK1Rv+MWL0rHcstJx9Fh/NK0sS+nujrMfKw57NVUs2d4KuYtl/EnW/txg==
+apollo-server-env@^2.4.3:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.3.tgz#9bceedaae07eafb96becdfd478f8d92617d825d2"
+  integrity sha512-23R5Xo9OMYX0iyTu2/qT0EUb+AULCBriA9w8HDfMoChB8M+lFClqUkYtaTTHDfp6eoARLW8kDBhPOBavsvKAjA==
   dependencies:
   dependencies:
     node-fetch "^2.1.2"
     node-fetch "^2.1.2"
     util.promisify "^1.0.0"
     util.promisify "^1.0.0"
 
 
-apollo-server-errors@2.3.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.1.tgz#033cf331463ebb99a563f8354180b41ac6714eb6"
-  integrity sha512-errZvnh0vUQChecT7M4A/h94dnBSRL213dNxpM5ueMypaLYgnp4hiCTWIEaooo9E4yMGd1qA6WaNbLDG2+bjcg==
+apollo-server-errors@^2.3.3:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.3.tgz#83763b00352c10dc68fbb0d41744ade66de549ff"
+  integrity sha512-MO4oJ129vuCcbqwr5ZwgxqGGiLz3hCyowz0bstUF7MR+vNGe4oe3DWajC9lv4CxrhcqUHQOeOPViOdIo1IxE3g==
 
 
-apollo-server-express@2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.9.0.tgz#9d2a2d9823422ef26bca15931669d3153dc8a08b"
-  integrity sha512-+057V6Ui1BX69jUlV6YDQ7Xw9CCBfowN/GauvyF09KnsjYUJ+cB1xf4mkj/HAjaz4ReXQaALJNr2qPYPXS4R6w==
+apollo-server-express@2.9.2, apollo-server-express@^2.9.2:
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.9.2.tgz#8b68ad4687b715441652e2c821bfe8a4a306509f"
+  integrity sha512-W8FIJfqnpm4Vc2x7ztp1jZwd4mfgjGAPxVZ7rBubOskjZB8CJqP+YSpN7bPwlmwnD56USbcet9dBMlMkaI0oYA==
   dependencies:
   dependencies:
     "@apollographql/graphql-playground-html" "1.6.24"
     "@apollographql/graphql-playground-html" "1.6.24"
     "@types/accepts" "^1.3.5"
     "@types/accepts" "^1.3.5"
@@ -2799,8 +2806,8 @@ apollo-server-express@2.9.0:
     "@types/cors" "^2.8.4"
     "@types/cors" "^2.8.4"
     "@types/express" "4.17.1"
     "@types/express" "4.17.1"
     accepts "^1.3.5"
     accepts "^1.3.5"
-    apollo-server-core "2.9.0"
-    apollo-server-types "0.2.1"
+    apollo-server-core "^2.9.2"
+    apollo-server-types "^0.2.3"
     body-parser "^1.18.3"
     body-parser "^1.18.3"
     cors "^2.8.4"
     cors "^2.8.4"
     graphql-subscriptions "^1.0.0"
     graphql-subscriptions "^1.0.0"
@@ -2809,40 +2816,40 @@ apollo-server-express@2.9.0:
     subscriptions-transport-ws "^0.9.16"
     subscriptions-transport-ws "^0.9.16"
     type-is "^1.6.16"
     type-is "^1.6.16"
 
 
-apollo-server-plugin-base@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.1.tgz#b9c209aa2102a26c6134f51bfa1e4a8307b63b11"
-  integrity sha512-gLLF0kz4QOOyczDGWuR2ZNDfa1nHfyFNG76ue8Es0/0ujnMT9KoSokXkx1hDh0X7FFTMj/MelYYoNEqgTH88zw==
+apollo-server-plugin-base@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.3.tgz#e2eda552804cd96d4e1cc7ad42f7637e55512d92"
+  integrity sha512-tuVWd8F8e2ifsBy/AEMFx9Yqlc2CHYOCA8dA28zwWfH4g7fupgPF4s2WYxrD9zz7A/EUsbbgYdkpLLbKHxBKYw==
   dependencies:
   dependencies:
-    apollo-server-types "0.2.1"
+    apollo-server-types "^0.2.3"
 
 
-apollo-server-types@0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.1.tgz#553da40ea1ad779ef0390c250ddad7eb782fdf64"
-  integrity sha512-ls26d6jjY7x91ctLWtbpQHGW0lcFR1LcOpDvBQUC2aCwQzuW/6yV7F3hfcEdLR9pjIxcA4yAtFQcKf5olDWVkA==
+apollo-server-types@^0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.3.tgz#de442395f2944eab67a10ac70ac987e41e72a290"
+  integrity sha512-Yq01w7nsLv46nBm+F9xda+bs+FNs2yc5I3AmHe2ZdsCKmWD2msIJA7+JpWU8h95wWumgutvmLgYNnvhiuHk+EQ==
   dependencies:
   dependencies:
-    apollo-engine-reporting-protobuf "0.4.0"
-    apollo-server-caching "0.5.0"
-    apollo-server-env "2.4.1"
+    apollo-engine-reporting-protobuf "^0.4.0"
+    apollo-server-caching "^0.5.0"
+    apollo-server-env "^2.4.3"
 
 
-apollo-server@2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.9.0.tgz#32685712215d420ff5f3298b3b34e972e21ec1c6"
-  integrity sha512-KouRjMWn8pnR4KvVsFXT1GZYzH53J0+v9KwnLUKrLNo2G4KiZu5KhP+tEkF7uTlpHzdPMQAIbwjdXKzOH/r6ew==
+apollo-server@2.9.2:
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.9.2.tgz#4b2787a249a943c0f0a558923f92028f7eb5f3ed"
+  integrity sha512-ExTbd550Ps/TLIq2Lc3EwGim8S2IpUfzV4TwoKivrEVzMaRF5+OC4u+qQmUehWtqIW11EZSsxP3/7Y4cWzyAhw==
   dependencies:
   dependencies:
-    apollo-server-core "2.9.0"
-    apollo-server-express "2.9.0"
+    apollo-server-core "^2.9.2"
+    apollo-server-express "^2.9.2"
     express "^4.0.0"
     express "^4.0.0"
     graphql-subscriptions "^1.0.0"
     graphql-subscriptions "^1.0.0"
     graphql-tools "^4.0.0"
     graphql-tools "^4.0.0"
 
 
-apollo-tracing@0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.1.tgz#220aeac6ad598c67f9333739155b7a56bd63ccab"
-  integrity sha512-zhVNC7N6hg9IJEeSEXFDxcnXD5GJQAbHxaoKVBKEolcIIsz6EGd700ORdagJgFKLReVp9O65HPrZJCg66sVx7g==
+apollo-tracing@^0.8.3:
+  version "0.8.3"
+  resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.3.tgz#4b985eb6cf31fc0b7b9d345eebf573c9ac961a73"
+  integrity sha512-Zmc5WptmipQ2cUllg3qZuNql0fZyj0GY9OE1OBLrMpllbgzxtmHmNeth33W9mmqoj2o+qk62TYfzO/ztbOiyWQ==
   dependencies:
   dependencies:
-    apollo-server-env "2.4.1"
-    graphql-extensions "0.8.1"
+    apollo-server-env "^2.4.3"
+    graphql-extensions "^0.10.2"
 
 
 apollo-utilities@1.3.2, apollo-utilities@^1.3.2:
 apollo-utilities@1.3.2, apollo-utilities@^1.3.2:
   version "1.3.2"
   version "1.3.2"
@@ -3097,10 +3104,10 @@ autoprefixer@^7.1.1:
     postcss "^6.0.17"
     postcss "^6.0.17"
     postcss-value-parser "^3.2.3"
     postcss-value-parser "^3.2.3"
 
 
-aws-sdk@2.518.0:
-  version "2.518.0"
-  resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.518.0.tgz#a0412cfcb41fd02e18d9e8b20c1dce356160fcc2"
-  integrity sha512-hwtKKf93TFyd3qugDW54ElpkUXhPe+ArPIHadre6IAFjCJiv08L8DaZKLRyclDnKfTavKe+f/PhdSEYo1QUHiA==
+aws-sdk@2.521.0:
+  version "2.521.0"
+  resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.521.0.tgz#b7b41084fdc9e8b134520f054c06e3908df9321a"
+  integrity sha512-YRViGahZoHq0lEsy0Cq7bqaLzP8OTzjg35Hz08Rv88ltk+b5UWVpDgIWls7mXCBNTBTYjbfbeGXzNaHJBLKlpA==
   dependencies:
   dependencies:
     buffer "4.9.1"
     buffer "4.9.1"
     events "1.1.1"
     events "1.1.1"
@@ -4356,6 +4363,11 @@ colorette@1.0.8:
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.0.8.tgz#421ff11c80b7414027ebed922396bc1833d1903c"
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.0.8.tgz#421ff11c80b7414027ebed922396bc1833d1903c"
   integrity sha512-X6Ck90ReaF+EfKdVGB7vdIQ3dr651BbIrBwY5YBKg13fjH+940sTtp7/Pkx33C6ntYfQcRumOs/aUQhaRPpbTQ==
   integrity sha512-X6Ck90ReaF+EfKdVGB7vdIQ3dr651BbIrBwY5YBKg13fjH+940sTtp7/Pkx33C6ntYfQcRumOs/aUQhaRPpbTQ==
 
 
+colorette@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7"
+  integrity sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==
+
 colornames@^1.1.1:
 colornames@^1.1.1:
   version "1.1.1"
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96"
   resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96"
@@ -5194,7 +5206,7 @@ delegates@^1.0.0:
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
   integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
   integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
 
-denque@^1.4.0:
+denque@^1.4.1:
   version "1.4.1"
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
   resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
   integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==
   integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==
@@ -5745,10 +5757,10 @@ eslint-config-requarks@1.0.7:
   resolved "https://registry.yarnpkg.com/eslint-config-requarks/-/eslint-config-requarks-1.0.7.tgz#d2f1495ace70d5c88961c8bec4741efddd03458a"
   resolved "https://registry.yarnpkg.com/eslint-config-requarks/-/eslint-config-requarks-1.0.7.tgz#d2f1495ace70d5c88961c8bec4741efddd03458a"
   integrity sha512-Qx1Ase/ryjVQxjwR6O+3d/u5hn/+vO4ixATPcZ0NYzHORaiXtAAiJ0ZkaGCjl2yM3LUcIW28z8e6lzUFv3s8PA==
   integrity sha512-Qx1Ase/ryjVQxjwR6O+3d/u5hn/+vO4ixATPcZ0NYzHORaiXtAAiJ0ZkaGCjl2yM3LUcIW28z8e6lzUFv3s8PA==
 
 
-eslint-config-standard@14.0.1:
-  version "14.0.1"
-  resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.0.1.tgz#375c3636fb4bd453cb95321d873de12e4eef790b"
-  integrity sha512-1RWsAKTDTZgA8bIM6PSC9aTGDAUlKqNkYNJlTZ5xYD/HYkIM6GlcefFvgcJ8xi0SWG5203rttKYX28zW+rKNOg==
+eslint-config-standard@14.1.0:
+  version "14.1.0"
+  resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz#b23da2b76fe5a2eba668374f246454e7058f15d4"
+  integrity sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==
 
 
 eslint-import-resolver-node@^0.3.2:
 eslint-import-resolver-node@^0.3.2:
   version "0.3.2"
   version "0.3.2"
@@ -5766,12 +5778,12 @@ eslint-module-utils@^2.4.0:
     debug "^2.6.8"
     debug "^2.6.8"
     pkg-dir "^2.0.0"
     pkg-dir "^2.0.0"
 
 
-eslint-plugin-es@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6"
-  integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw==
+eslint-plugin-es@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz#12acae0f4953e76ba444bfd1b2271081ac620998"
+  integrity sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==
   dependencies:
   dependencies:
-    eslint-utils "^1.3.0"
+    eslint-utils "^1.4.2"
     regexpp "^2.0.1"
     regexpp "^2.0.1"
 
 
 eslint-plugin-import@2.18.2:
 eslint-plugin-import@2.18.2:
@@ -5791,13 +5803,13 @@ eslint-plugin-import@2.18.2:
     read-pkg-up "^2.0.0"
     read-pkg-up "^2.0.0"
     resolve "^1.11.0"
     resolve "^1.11.0"
 
 
-eslint-plugin-node@9.1.0:
-  version "9.1.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-9.1.0.tgz#f2fd88509a31ec69db6e9606d76dabc5adc1b91a"
-  integrity sha512-ZwQYGm6EoV2cfLpE1wxJWsfnKUIXfM/KM09/TlorkukgCAwmkgajEJnPCmyzoFPQQkmvo5DrW/nyKutNIw36Mw==
+eslint-plugin-node@9.2.0:
+  version "9.2.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-9.2.0.tgz#b1911f111002d366c5954a6d96d3cd5bf2a3036a"
+  integrity sha512-2abNmzAH/JpxI4gEOwd6K8wZIodK3BmHbTxz4s79OIYwwIt2gkpEXlAouJXu4H1c9ySTnRso0tsuthSOZbUMlA==
   dependencies:
   dependencies:
-    eslint-plugin-es "^1.4.0"
-    eslint-utils "^1.3.1"
+    eslint-plugin-es "^1.4.1"
+    eslint-utils "^1.4.2"
     ignore "^5.1.1"
     ignore "^5.1.1"
     minimatch "^3.0.4"
     minimatch "^3.0.4"
     resolve "^1.10.1"
     resolve "^1.10.1"
@@ -5844,11 +5856,6 @@ eslint-scope@^5.0.0:
     esrecurse "^4.1.0"
     esrecurse "^4.1.0"
     estraverse "^4.1.1"
     estraverse "^4.1.1"
 
 
-eslint-utils@^1.3.0, eslint-utils@^1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
-  integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
-
 eslint-utils@^1.4.2:
 eslint-utils@^1.4.2:
   version "1.4.2"
   version "1.4.2"
   resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
   resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
@@ -5866,10 +5873,10 @@ eslint-visitor-keys@^1.1.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
   integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
   integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
 
 
-eslint@6.2.2:
-  version "6.2.2"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.2.2.tgz#03298280e7750d81fcd31431f3d333e43d93f24f"
-  integrity sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==
+eslint@6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz#1f1a902f67bfd4c354e7288b81e40654d927eb6a"
+  integrity sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==
   dependencies:
   dependencies:
     "@babel/code-frame" "^7.0.0"
     "@babel/code-frame" "^7.0.0"
     ajv "^6.10.0"
     ajv "^6.10.0"
@@ -6292,10 +6299,10 @@ filepond-plugin-file-validate-type@1.2.4:
   resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.4.tgz#ce7f5f469dbc7ce0da12fdef7b0f24e4c263c410"
   resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.4.tgz#ce7f5f469dbc7ce0da12fdef7b0f24e4c263c410"
   integrity sha512-K1qD8mfahJoz2zRlWWvYoHuy4k/8tHggsoGbm/blpTp63OyahOdJBzMN3VK7USYn5OZ58uOFdMTMyi8ibFpW/Q==
   integrity sha512-K1qD8mfahJoz2zRlWWvYoHuy4k/8tHggsoGbm/blpTp63OyahOdJBzMN3VK7USYn5OZ58uOFdMTMyi8ibFpW/Q==
 
 
-filepond@4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/filepond/-/filepond-4.5.0.tgz#e74113b576a9c2e873fbfcebbfb408d578ae3261"
-  integrity sha512-ICkOPT2bY59danNY6P82okwRTIjq0lO10bsom+wQCsi57WvLCYDAb+GHYay5r62N5xunyqjprdT1K6Jrqc2+Uw==
+filepond@4.5.1:
+  version "4.5.1"
+  resolved "https://registry.yarnpkg.com/filepond/-/filepond-4.5.1.tgz#5291cbd46481f8f83859e0924d19127f63096ec1"
+  integrity sha512-JslAp3HiHyrYPod43ULTp3+ICgLc8Yvx2oV5nB0PEeqhM1wECGyHdxQPjarKrkPaG3mJitVlVXwyJeucr8FWnw==
 
 
 filesize.js@1.0.2:
 filesize.js@1.0.2:
   version "1.0.2"
   version "1.0.2"
@@ -6686,6 +6693,11 @@ getopts@2.2.4:
   resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.4.tgz#3137fe8a5fddf304904059a851bdc1c22f0f54fb"
   resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.4.tgz#3137fe8a5fddf304904059a851bdc1c22f0f54fb"
   integrity sha512-Rz7DGyomZjrenu9Jx4qmzdlvJgvrEFHXHvjK0FcZtcTC1U5FmES7OdZHUwMuSnEE6QvBvwse1JODKj7TgbSEjQ==
   integrity sha512-Rz7DGyomZjrenu9Jx4qmzdlvJgvrEFHXHvjK0FcZtcTC1U5FmES7OdZHUwMuSnEE6QvBvwse1JODKj7TgbSEjQ==
 
 
+getopts@2.2.5:
+  version "2.2.5"
+  resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b"
+  integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==
+
 getos@3.1.1:
 getos@3.1.1:
   version "3.1.1"
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.1.tgz#967a813cceafee0156b0483f7cffa5b3eff029c5"
   resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.1.tgz#967a813cceafee0156b0483f7cffa5b3eff029c5"
@@ -6883,32 +6895,14 @@ graphql-config@2.2.1:
     lodash "^4.17.4"
     lodash "^4.17.4"
     minimatch "^3.0.4"
     minimatch "^3.0.4"
 
 
-graphql-extensions@0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.10.0.tgz#ceafc42e16554930b0dc90f64d5727ee2a9e9cf9"
-  integrity sha512-qz9Ev0NgsRxdTYqYSCpYwBWS9r1imm+vCBt3PmHzqZlE7SEpUPGddn9oKcLRB/P8uXT6dsr60hDmDHukIxiVOw==
-  dependencies:
-    "@apollographql/apollo-tools" "^0.4.0"
-    apollo-server-env "2.4.1"
-    apollo-server-types "0.2.1"
-
-graphql-extensions@0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.8.1.tgz#f5f1fed5fe49620c4e70c5d08bdbd0039e91c402"
-  integrity sha512-d/L4x7/PPWhviJqi7jIWOVJPzfzagYgPizSQUpa+3hozbWhwpWEnfxwgL5/If5MnPUikBnqlkOLCyjHMNdipYA==
-  dependencies:
-    "@apollographql/apollo-tools" "^0.4.0"
-    apollo-server-env "2.4.1"
-    apollo-server-types "0.2.1"
-
-graphql-extensions@0.9.1:
-  version "0.9.1"
-  resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.9.1.tgz#5d40b2c2cf57a35b686121d5e63783369dade5ef"
-  integrity sha512-JR/KStdwALd48B/xSG/Mi85zamuJd8THvVlzGM5juznPDN0wTYG5SARGzzvoqHxgxuUHYdzpvESwMAisORJdCQ==
+graphql-extensions@^0.10.2:
+  version "0.10.2"
+  resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.10.2.tgz#231654fe3c2959fd9a40717f5d46bfa22be7108c"
+  integrity sha512-8c1+Ih8E7zd4vf5sFGEzgz/1CBa410XEyCo/CxRq8bYqPzNKLm24dJonrQNTSwz3+/HVt5xQIPvLzMbVBUBV1g==
   dependencies:
   dependencies:
     "@apollographql/apollo-tools" "^0.4.0"
     "@apollographql/apollo-tools" "^0.4.0"
-    apollo-server-env "2.4.1"
-    apollo-server-types "0.2.1"
+    apollo-server-env "^2.4.3"
+    apollo-server-types "^0.2.3"
 
 
 graphql-import@^0.7.1:
 graphql-import@^0.7.1:
   version "0.7.1"
   version "0.7.1"
@@ -7047,10 +7041,10 @@ graphql-voyager@1.0.0-rc.27:
     svg-pan-zoom "^3.6.0"
     svg-pan-zoom "^3.6.0"
     viz.js "2.1.2"
     viz.js "2.1.2"
 
 
-graphql@14.5.3:
-  version "14.5.3"
-  resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.3.tgz#e025851cc413e153220f4edbbb25d49f55104fa0"
-  integrity sha512-W8A8nt9BsMg0ZK2qA3DJIVU6muWhxZRYLTmc+5XGwzWzVdUdPVlAAg5hTBjiTISEnzsKL/onasu6vl3kgGTbYg==
+graphql@14.5.4:
+  version "14.5.4"
+  resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.4.tgz#b33fe957854e90c10d4c07c7d26b6c8e9f159a13"
+  integrity sha512-dPLvHoxy5m9FrkqWczPPRnH0X80CyvRE6e7Fa5AWEqEAzg9LpxHvKh24po/482E6VWHigOkAmb4xCp6P9yT9gw==
   dependencies:
   dependencies:
     iterall "^1.2.2"
     iterall "^1.2.2"
 
 
@@ -7428,10 +7422,10 @@ i18next-xhr-backend@3.1.2:
   dependencies:
   dependencies:
     "@babel/runtime" "^7.5.5"
     "@babel/runtime" "^7.5.5"
 
 
-i18next@17.0.12:
-  version "17.0.12"
-  resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.12.tgz#d732a6c1131fc3b02305a8241eac25ec0d1cf663"
-  integrity sha512-FoYYnORcAMNznVXSpwJ1zVGL8kXcv1JUmvTqoQyuPPRncBq9rd7Mi0I/oVXkGR3YIek5dDiunvA/NGG2o+mMuw==
+i18next@17.0.13:
+  version "17.0.13"
+  resolved "https://registry.yarnpkg.com/i18next/-/i18next-17.0.13.tgz#3c639e15de86e0523f8f286f6cf07db355ee0a4f"
+  integrity sha512-tCBpekVs95IsN3kdi/6HhnfzHDlpXerOmOsf2ZMWtct9YbMYKI54HVdQ6XxsHGXBxY+UgjbQJwqghKCd2sYQWw==
   dependencies:
   dependencies:
     "@babel/runtime" "^7.3.1"
     "@babel/runtime" "^7.3.1"
 
 
@@ -7449,6 +7443,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.23, iconv-lite@^0.4.24, iconv-lite@^0.4.4, ic
   dependencies:
   dependencies:
     safer-buffer ">= 2.1.2 < 3"
     safer-buffer ">= 2.1.2 < 3"
 
 
+iconv-lite@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.0.tgz#59cdde0a2a297cc2aeb0c6445a195ee89f127550"
+  integrity sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3"
+
 icss-utils@^4.0.0, icss-utils@^4.1.1:
 icss-utils@^4.0.0, icss-utils@^4.1.1:
   version "4.1.1"
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
   resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
@@ -8859,25 +8860,25 @@ kleur@^3.0.2:
   resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
   resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
   integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
   integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
 
 
-knex@0.19.2:
-  version "0.19.2"
-  resolved "https://registry.yarnpkg.com/knex/-/knex-0.19.2.tgz#056efdb33fb8c77d3d76266b5d1d12dc483c21b5"
-  integrity sha512-TVYvlp2esS4LjjJSz8XuE48bPJq4N3lWnETQVgJ3hXPEqjiDjxcTa3bCn6F5ipQuBaMAAaFHNrqsZm7BttogdA==
+knex@0.19.3:
+  version "0.19.3"
+  resolved "https://registry.yarnpkg.com/knex/-/knex-0.19.3.tgz#b5d85b29a127f631a6924e8727c76e53e26cc713"
+  integrity sha512-HN32QB5PVkUYfvE4UoK/Tbf6UQ7CLEgS0PL8EP6xfonsP0IPZr2M84dy1dIy2KnB5dx+XO6NNEPgfzo8Y8BYzA==
   dependencies:
   dependencies:
     bluebird "^3.5.5"
     bluebird "^3.5.5"
-    colorette "1.0.8"
+    colorette "1.1.0"
     commander "^2.20.0"
     commander "^2.20.0"
     debug "4.1.1"
     debug "4.1.1"
-    getopts "2.2.4"
+    getopts "2.2.5"
     inherits "~2.0.4"
     inherits "~2.0.4"
     interpret "^1.2.0"
     interpret "^1.2.0"
     liftoff "3.1.0"
     liftoff "3.1.0"
     lodash "^4.17.15"
     lodash "^4.17.15"
     mkdirp "^0.5.1"
     mkdirp "^0.5.1"
-    pg-connection-string "2.0.0"
+    pg-connection-string "2.1.0"
     tarn "^2.0.0"
     tarn "^2.0.0"
     tildify "2.0.0"
     tildify "2.0.0"
-    uuid "^3.3.2"
+    uuid "^3.3.3"
     v8flags "^3.1.3"
     v8flags "^3.1.3"
 
 
 knex@^0.17:
 knex@^0.17:
@@ -9062,7 +9063,7 @@ loader-utils@0.2.x:
     json5 "^0.5.0"
     json5 "^0.5.0"
     object-assign "^4.0.1"
     object-assign "^4.0.1"
 
 
-loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.0.4, loader-utils@^1.1.0, loader-utils@^1.2.0, loader-utils@^1.2.3:
+loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.0.4, loader-utils@^1.1.0, loader-utils@^1.2.0, loader-utils@^1.2.3:
   version "1.2.3"
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
   resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
   integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
   integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
@@ -9734,10 +9735,10 @@ moment@2.24.0, "moment@>= 2.9.0", moment@^2.10.2, moment@^2.10.6, moment@^2.11.1
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
   integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
   integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
 
 
-mongodb@3.3.1:
-  version "3.3.1"
-  resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.3.1.tgz#31947e3050872d325415694f89119f37d2107a91"
-  integrity sha512-Q92LLlPUTBj/Z4DyeznwPJjvgOYUcxZsBfek3Ba9mVhzH41n70vSubo+BmemI98kOefHTSncrTyb3OaxdLSgDw==
+mongodb@3.3.2:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.3.2.tgz#ff086b5f552cf07e24ce098694210f3d42d668b2"
+  integrity sha512-fqJt3iywelk4yKu/lfwQg163Bjpo5zDKhXiohycvon4iQHbrfflSAz9AIlRE6496Pm/dQKQK5bMigdVo2s6gBg==
   dependencies:
   dependencies:
     bson "^1.1.1"
     bson "^1.1.1"
     require_optional "^1.0.1"
     require_optional "^1.0.1"
@@ -9807,16 +9808,16 @@ mv@~2:
     ncp "~2.0.0"
     ncp "~2.0.0"
     rimraf "~2.4.0"
     rimraf "~2.4.0"
 
 
-mysql2@1.6.5:
-  version "1.6.5"
-  resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-1.6.5.tgz#6695304fa2ce793dda5c98e8bbec65cbd2e6cb9d"
-  integrity sha512-zedaOOyb3msuuZcJJnxIX/EGOpmljDG7B+UevRH5lqcv+yhy9eCwkArBz8/AO+/rlY3/oCsOdG8R5oD6k0hNfg==
+mysql2@1.7.0:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-1.7.0.tgz#2fbf314da016a61d038ffcd57a2a0aa3b7b8eacc"
+  integrity sha512-xTWWQPjP5rcrceZQ7CSTKR/4XIDeH/cRkNH/uzvVGQ7W5c7EJ0dXeJUusk7OKhIoHj7uFKUxDVSCfLIl+jluog==
   dependencies:
   dependencies:
-    denque "^1.4.0"
+    denque "^1.4.1"
     generate-function "^2.3.1"
     generate-function "^2.3.1"
-    iconv-lite "^0.4.24"
+    iconv-lite "^0.5.0"
     long "^4.0.0"
     long "^4.0.0"
-    lru-cache "^4.1.3"
+    lru-cache "^5.1.1"
     named-placeholders "^1.1.2"
     named-placeholders "^1.1.2"
     seq-queue "^0.0.5"
     seq-queue "^0.0.5"
     sqlstring "^2.3.1"
     sqlstring "^2.3.1"
@@ -9838,10 +9839,10 @@ nan@^2.12.1:
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
   integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
   integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
 
 
-nanoid@2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.0.4.tgz#4889355c9ce8e24efad7c65945a4a2875ac3e8f4"
-  integrity sha512-sOJnBmY3TJQBVIBqKHoifuwygrocXg3NjS9rZSMnVl05XWSHK7Qxb177AIZQyMDjP86bz+yneozj/h9qsPLcCA==
+nanoid@2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.0.tgz#3de3dbd68cfb2f3bd52550e2bfd439cf75040eb2"
+  integrity sha512-g5WwS+p6Cm+zQhO2YOpRbQThZVnNb7DDq74h8YDCLfAGynrEOrbx2E16dc8ciENiP1va5sqaAruqn2sN+xpkWg==
 
 
 nanomatch@^1.2.9:
 nanomatch@^1.2.9:
   version "1.2.13"
   version "1.2.13"
@@ -11008,6 +11009,11 @@ pg-connection-string@2.0.0:
   resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.0.0.tgz#3eefe5997e06d94821e4d502e42b6a1c73f8df82"
   resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.0.0.tgz#3eefe5997e06d94821e4d502e42b6a1c73f8df82"
   integrity sha1-Pu/lmX4G2Ugh5NUC5CtqHHP434I=
   integrity sha1-Pu/lmX4G2Ugh5NUC5CtqHHP434I=
 
 
+pg-connection-string@2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.1.0.tgz#e07258f280476540b24818ebb5dca29e101ca502"
+  integrity sha512-bhlV7Eq09JrRIvo1eKngpwuqKtJnNhZdpdOlvrPrA4dxqXPjxSrbNrfnIDmTpwMyRszrcV4kU5ZA4mMsQUrjdg==
+
 pg-cursor@2.0.0:
 pg-cursor@2.0.0:
   version "2.0.0"
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/pg-cursor/-/pg-cursor-2.0.0.tgz#1e11532613d2d4c61057a5705a1536b1052d1698"
   resolved "https://registry.yarnpkg.com/pg-cursor/-/pg-cursor-2.0.0.tgz#1e11532613d2d4c61057a5705a1536b1052d1698"
@@ -13363,15 +13369,15 @@ sanitize-filename@1.6.3:
   dependencies:
   dependencies:
     truncate-utf8-bytes "^1.0.0"
     truncate-utf8-bytes "^1.0.0"
 
 
-sass-loader@7.3.1:
-  version "7.3.1"
-  resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f"
-  integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==
+sass-loader@8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797"
+  integrity sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==
   dependencies:
   dependencies:
     clone-deep "^4.0.1"
     clone-deep "^4.0.1"
-    loader-utils "^1.0.1"
-    neo-async "^2.5.0"
-    pify "^4.0.1"
+    loader-utils "^1.2.3"
+    neo-async "^2.6.1"
+    schema-utils "^2.1.0"
     semver "^6.3.0"
     semver "^6.3.0"
 
 
 sass-resources-loader@2.0.1:
 sass-resources-loader@2.0.1:
@@ -13431,10 +13437,18 @@ schema-utils@^2.0.0, schema-utils@^2.0.1:
     ajv "^6.1.0"
     ajv "^6.1.0"
     ajv-keywords "^3.1.0"
     ajv-keywords "^3.1.0"
 
 
-scim-query-filter-parser@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/scim-query-filter-parser/-/scim-query-filter-parser-1.1.0.tgz#00ddfa0065e01d05715841eeba94d5ff364fa0d6"
-  integrity sha1-AN36AGXgHQVxWEHuupTV/zZPoNY=
+schema-utils@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393"
+  integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==
+  dependencies:
+    ajv "^6.1.0"
+    ajv-keywords "^3.1.0"
+
+scim-query-filter-parser@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/scim-query-filter-parser/-/scim-query-filter-parser-1.1.1.tgz#203dba62d45a62df06d558ebbed4d663e967f6e8"
+  integrity sha512-Fh9Zd7b/IGxXDDwwzFkNnDCXHLgL5x7Y8K875uDHO14TQgsYOshS6QIH8t1+qes0lrzzqtxQJrM0mX7T/l6O3A==
 
 
 script-ext-html-webpack-plugin@2.1.4:
 script-ext-html-webpack-plugin@2.1.4:
   version "2.1.4"
   version "2.1.4"
@@ -13639,10 +13653,10 @@ simple-breakpoints@^1.1.1:
   resolved "https://registry.yarnpkg.com/simple-breakpoints/-/simple-breakpoints-1.1.3.tgz#5b5b09f1e96c5f8873e8ac23915323fbd7051516"
   resolved "https://registry.yarnpkg.com/simple-breakpoints/-/simple-breakpoints-1.1.3.tgz#5b5b09f1e96c5f8873e8ac23915323fbd7051516"
   integrity sha512-Io4J/9HyjAp6ITTBgOLU0BAronZKPC36znZoiiUSq5zlOfGPSdDFgWbpKyt9ASxGj5WXm2fhGx9+XtK3a+4dHw==
   integrity sha512-Io4J/9HyjAp6ITTBgOLU0BAronZKPC36znZoiiUSq5zlOfGPSdDFgWbpKyt9ASxGj5WXm2fhGx9+XtK3a+4dHw==
 
 
-simple-git@1.124.0:
-  version "1.124.0"
-  resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.124.0.tgz#10a73cc1af303832b5c11720d4256e134fba35ca"
-  integrity sha512-ks9mBoO4ODQy/xGLC8Cc+YDvj/hho/IKgPhi6h5LI/sA+YUdHc3v0DEoHzM29VmulubpGCxMJUSFmyXNsjNMEA==
+simple-git@1.126.0:
+  version "1.126.0"
+  resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.126.0.tgz#0c345372275139c8433b8277f4b3e155092aa434"
+  integrity sha512-47mqHxgZnN8XRa9HbpWprzUv3Ooqz9RY/LSZgvA7jCkW8jcwLahMz7LKugY91KZehfG0sCVPtgXiU72hd6b1Bw==
   dependencies:
   dependencies:
     debug "^4.0.1"
     debug "^4.0.1"
 
 
@@ -14873,7 +14887,7 @@ uuid@3.3.2, uuid@^3.1.0, uuid@^3.3.2:
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
   integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
   integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
 
 
-uuid@3.3.3:
+uuid@3.3.3, uuid@^3.3.3:
   version "3.3.3"
   version "3.3.3"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
   integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
   integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
@@ -15074,10 +15088,10 @@ vue-moment@4.0.0:
   dependencies:
   dependencies:
     moment "^2.11.1"
     moment "^2.11.1"
 
 
-vue-router@3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.2.tgz#2e0904703545dabdd42b2b7a2e617f02f99a1969"
-  integrity sha512-WssQEHSEvIS1/CI4CO2T8LJdoK4Q9Ngox28K7FDNMTfzNTk2WS5D0dDlqYCaPG+AG4Z8wJkn1KrBc7AhspZJUQ==
+vue-router@3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.3.tgz#e6b14fabc0c0ee9fda0e2cbbda74b350e28e412b"
+  integrity sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ==
 
 
 vue-simple-breakpoints@1.0.3:
 vue-simple-breakpoints@1.0.3:
   version "1.0.3"
   version "1.0.3"
@@ -15158,10 +15172,10 @@ vuetify-loader@1.3.0:
   dependencies:
   dependencies:
     loader-utils "^1.2.0"
     loader-utils "^1.2.0"
 
 
-vuetify@2.0.10:
-  version "2.0.10"
-  resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.0.10.tgz#652a687bda080f92f9ad784e018f8171cb479100"
-  integrity sha512-JgJJnD4e1/relDtu/448+nBn3J2ncXyk0YH4uZAAGM6XyUOpKMnLvv3Q+ZCnIxA1D6yp+wEknyzsfx2N9MgVwg==
+vuetify@2.0.11:
+  version "2.0.11"
+  resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.0.11.tgz#4679d6d37e4594daec930b28f1bc7083bcc76ca6"
+  integrity sha512-H5g0Wf/KHS1t29X+kh5hkj25dZNITCDtOb3UGl1YXx5Ua3xXUfXBRjKP50BJ7uZtQ3Jk9CiwoA6k3Lstv6zFow==
 
 
 vuex-pathify@1.2.4:
 vuex-pathify@1.2.4:
   version "1.2.4"
   version "1.2.4"
@@ -15297,12 +15311,12 @@ webpack-log@^2.0.0:
     ansi-colors "^3.0.0"
     ansi-colors "^3.0.0"
     uuid "^3.3.2"
     uuid "^3.3.2"
 
 
-webpack-merge@4.2.1:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.1.tgz#5e923cf802ea2ace4fd5af1d3247368a633489b4"
-  integrity sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==
+webpack-merge@4.2.2:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
+  integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
   dependencies:
   dependencies:
-    lodash "^4.17.5"
+    lodash "^4.17.15"
 
 
 webpack-sources@^1.1.0, webpack-sources@^1.3.0:
 webpack-sources@^1.1.0, webpack-sources@^1.3.0:
   version "1.3.0"
   version "1.3.0"
@@ -15327,10 +15341,10 @@ webpack-subresource-integrity@1.3.2:
   dependencies:
   dependencies:
     webpack-sources "^1.3.0"
     webpack-sources "^1.3.0"
 
 
-webpack@4.39.2:
-  version "4.39.2"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.2.tgz#c9aa5c1776d7c309d1b3911764f0288c8c2816aa"
-  integrity sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA==
+webpack@4.39.3:
+  version "4.39.3"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.3.tgz#a02179d1032156b713b6ec2da7e0df9d037def50"
+  integrity sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ==
   dependencies:
   dependencies:
     "@webassemblyjs/ast" "1.8.5"
     "@webassemblyjs/ast" "1.8.5"
     "@webassemblyjs/helper-module-context" "1.8.5"
     "@webassemblyjs/helper-module-context" "1.8.5"