diff --git a/package.json b/package.json
index b9a0d5af..6e8df4c2 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
".nuxt/"
],
"dependencies": {
- "@nuxtjs/auth": "^4.8.2",
+ "@nuxtjs/auth": "^4.8.3",
"@nuxtjs/axios": "^5.6.0",
"accept-language": "^3.0.18",
"axios": "^0.19.0",
@@ -51,9 +51,10 @@
"cross-env": "^5.2.1",
"dayjs": "^1.8.16",
"element-ui": "^2.12.0",
- "email-templates": "^6.0.0",
+ "email-templates": "^6.0.2",
"express": "^4.17.1",
"express-jwt": "^5.3.1",
+ "express-middleware-log": "^1.2.0",
"http-signature": "^1.2.0",
"ics": "^2.16.0",
"inquirer": "^7.0.0",
@@ -68,7 +69,7 @@
"nuxt-express-module": "^0.0.11",
"pg": "^7.12.1",
"sass-loader": "^8.0.0",
- "sequelize": "^5.18.1",
+ "sequelize": "^5.18.4",
"sequelize-cli": "^5.5.1",
"sharp": "^0.23.0",
"sqlite3": "^4.1.0",
@@ -83,7 +84,7 @@
"@nuxtjs/eslint-config": "^1.1.2",
"babel-eslint": "^10.0.3",
"eslint": "^6.3.0",
- "eslint-config-prettier": "^6.2.0",
+ "eslint-config-prettier": "^6.3.0",
"eslint-config-standard": ">=14.1.0",
"eslint-loader": "^3.0.0",
"eslint-plugin-import": ">=2.17.3",
diff --git a/server/api/models/event.js b/server/api/models/event.js
index be2c085e..29944938 100644
--- a/server/api/models/event.js
+++ b/server/api/models/event.js
@@ -37,13 +37,13 @@ module.exports = (sequelize, DataTypes) => {
}
//
- event.prototype.toAP = function (username = config.admin, follower) {
+ event.prototype.toAP = function (username, follower = []) {
const tags = this.tags && this.tags.map(t => '#' + t.tag).join(' ')
- const content = `${this.title}
+ const content = `${this.title}
📍${this.place.name}
⏰ ${moment.unix(this.start_datetime).format('dddd, D MMMM (HH:mm)')}
${this.description.length > 200 ? this.description.substr(0, 200) + '...' : this.description}
- ${tags}
`
+ ${tags}
`
const attachment = []
if (this.image_path) {
diff --git a/server/federation/follows.js b/server/federation/follows.js
index f686439e..4fe8facf 100644
--- a/server/federation/follows.js
+++ b/server/federation/follows.js
@@ -2,7 +2,7 @@ const config = require('config')
const Helpers = require('./helpers')
const { user: User } = require('../api/models')
const crypto = require('crypto')
-const debug = require('debug')('fedivers:follows')
+const debug = require('debug')('federation:follows')
module.exports = {
// follow request from fediverse
diff --git a/server/federation/helpers.js b/server/federation/helpers.js
index 1693d1a1..c780c6d0 100644
--- a/server/federation/helpers.js
+++ b/server/federation/helpers.js
@@ -3,7 +3,7 @@ const fetch = require('node-fetch')
const crypto = require('crypto')
const config = require('config')
const httpSignature = require('http-signature')
-const debug = require('debug')('fediverse:helpers')
+const debug = require('debug')('federation:helpers')
const { user: User } = require('../api/models')
const url = require('url')
@@ -26,7 +26,7 @@ const Helpers = {
const signature = signer.sign(privkey)
const signature_b64 = signature.toString('base64')
const header = `keyId="${config.baseurl}/federation/u/${user.username}",headers="(request-target) host date",signature="${signature_b64}"`
- return await fetch(toInbox, {
+ const ret = await fetch(toInbox, {
headers: {
'Host': toOrigin.hostname,
'Date': d.toUTCString(),
@@ -36,6 +36,7 @@ const Helpers = {
},
method: 'POST',
body: JSON.stringify(message) })
+ debug('sign %s => %s', ret.status, await ret.text())
},
async sendEvent (event, user) {
@@ -48,35 +49,40 @@ const Helpers = {
}
for (const follower of instanceAdmin.followers) {
- debug('Notify %s with event %s', follower, event.title)
- const body = {
- id: `${config.baseurl}/federation/m/c_${event.id}`,
- type: 'Create',
- actor: `${config.baseurl}/federation/u/${instanceAdmin.username}`,
- url: `${config.baseurl}/federation/m/${event.id}`,
- object: event.toAP(instanceAdmin.username, follower)
- }
- body['@context'] = 'https://www.w3.org/ns/activitystreams'
- Helpers.signAndSend(body, user, follower)
- }
-
- // in case the event is published by the Admin itself do not republish
- if (instanceAdmin.id === user.id) {
- debug('')
- return
- }
-
- if (!user.settings.enable_federation || !user.username) { return }
- for (const follower of user.followers) {
- debug('Notify %s with event %s', follower, event.title)
+ debug('Notify %s with event %s (from admin user %s)', follower, event.title, instanceAdmin.username)
const body = {
id: `${config.baseurl}/federation/m/${event.id}#create`,
type: 'Create',
to: ['https://www.w3.org/ns/activitystreams#Public'],
- cc: [`${config.baseurl}/federation/u/${user.username}/followers`],
+ cc: [`${config.baseurl}/federation/u/${instanceAdmin.username}/followers`, follower],
+ actor: `${config.baseurl}/federation/u/${instanceAdmin.username}`,
+ object: event.toAP(instanceAdmin.username, [`${config.baseurl}/federation/u/${instanceAdmin.username}/followers`, follower])
+ }
+ body['@context'] = 'https://www.w3.org/ns/activitystreams'
+ Helpers.signAndSend(body, instanceAdmin, follower)
+ }
+
+ // in case the event is published by the Admin itself do not republish
+ if (instanceAdmin.id === user.id) {
+ debug('Event published by instance Admin')
+ return
+ }
+
+ if (!user.settings.enable_federation || !user.username) {
+ debug('Federation disabled for user %d (%s)', user.id, user.username)
+ return
+ }
+
+ for (const follower of user.followers) {
+ debug('Notify %s with event %s (from user %s)', follower, event.title, user.username)
+ const body = {
+ id: `${config.baseurl}/federation/m/${event.id}#create`,
+ type: 'Create',
+ to: ['https://www.w3.org/ns/activitystreams#Public'],
+ cc: [`${config.baseurl}/federation/u/${user.username}/followers`, follower],
published: event.createdAt,
actor: `${config.baseurl}/federation/u/${user.username}`,
- object: event.toAP(user.username, follower)
+ object: event.toAP(user.username, [`${config.baseurl}/federation/u/${user.username}/followers`, follower])
}
body['@context'] = 'https://www.w3.org/ns/activitystreams'
Helpers.signAndSend(body, user, follower)
diff --git a/server/federation/users.js b/server/federation/users.js
index 8fb2abab..4e9a1df4 100644
--- a/server/federation/users.js
+++ b/server/federation/users.js
@@ -28,7 +28,7 @@ module.exports = {
}],
icon: {
type: 'Image',
- mediaType: 'image/jpeg',
+ mediaType: 'image/x-icon',
url: config.baseurl + '/favicon.ico'
},
publicKey: {
diff --git a/yarn.lock b/yarn.lock
index c7717c48..370d3c3e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -708,6 +708,13 @@
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw==
+"@hapi/boom@^7.4.3":
+ version "7.4.3"
+ resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-7.4.3.tgz#79ffed6ef8c625046a3bd069abed5a9d35fc50c1"
+ integrity sha512-3di+R+BcGS7HKy67Zi6mIga8orf67GdR0ubDEVBG1oqz3y9B70LewsuCMCSvWWLKlI6V1+266zqhYzjMrPGvZw==
+ dependencies:
+ "@hapi/hoek" "8.x.x"
+
"@hapi/hoek@6.x.x":
version "6.2.4"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595"
@@ -740,21 +747,22 @@
dependencies:
"@hapi/hoek" "8.x.x"
-"@ladjs/i18n@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@ladjs/i18n/-/i18n-1.1.0.tgz#50a20cbcd3f0f0d880be9dea873e3efec3b6b02c"
- integrity sha512-Kynr5osjApDCyiik35MMNZC1lgjgrk7fbV6P1qHXKQ67sR/U85Ddnv1NNPc/2s08PQVjvIBNY96UACb0CivrWg==
+"@ladjs/i18n@^1.2.0":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@ladjs/i18n/-/i18n-1.2.1.tgz#74478f3495e2f6b1684e58ff043c040954c6ff35"
+ integrity sha512-rlo8e+2UIylCo/KiZuxd/DJsyGZ1XMFFJaxxVXMj6BO2qyfjB91pjCpIQxUmpSWddWQlPKxsm85avr1o2RG9Uw==
dependencies:
- auto-bind "^2.0.0"
- boolean "^0.2.0"
- boom "7.3.0"
+ "@hapi/boom" "^7.4.3"
+ auto-bind "^2.1.0"
+ boolean "^1.0.0"
country-language "^0.1.7"
+ debug "^4.1.1"
i18n "^0.8.3"
i18n-locales "^0.0.2"
- lodash "^4.17.11"
- moment "^2.23.0"
- qs "^6.6.0"
- underscore.string "^3.3.5"
+ lodash "^4.17.15"
+ moment "^2.24.0"
+ qs "^6.8.0"
+ titleize "^2.1.0"
"@nuxt/babel-preset-app@2.9.2":
version "2.9.2"
@@ -997,30 +1005,20 @@
webpack-node-externals "^1.7.2"
webpackbar "^4.0.0"
-"@nuxtjs/auth@^4.8.2":
- version "4.8.2"
- resolved "https://registry.yarnpkg.com/@nuxtjs/auth/-/auth-4.8.2.tgz#0276fe3a4291b61ec0b7fd4328d43a118d47f603"
- integrity sha512-LG+71qTGxValqDyhG1Zou5YyJSMQtMq4MaXd0gXsFFYlsPDEyysYtidoAG+LhUsO9grmAwWTvcqkXO2d94LNUg==
+"@nuxtjs/auth@^4.8.3":
+ version "4.8.3"
+ resolved "https://registry.yarnpkg.com/@nuxtjs/auth/-/auth-4.8.3.tgz#037509e0dea0329c9dae7be4f743cd9ff701efa5"
+ integrity sha512-t9RsEH/IdEl+tzR3qOV6lQlXv0sqD4CTdtJnpseVL7lBn1f1cKGGyDXsWdhOWiIKeLu7tl9HFzKXfKCQTNKzgA==
dependencies:
- "@nuxtjs/axios" "^5.5.4"
+ "@nuxtjs/axios" "^5.6.0"
body-parser "^1.19.0"
- consola "^2.9.0"
+ consola "^2.10.1"
cookie "^0.4.0"
dotprop "^1.2.0"
is-https "^1.0.0"
- js-cookie "^2.2.0"
+ js-cookie "^2.2.1"
lodash "^4.17.15"
- nanoid "^2.0.3"
-
-"@nuxtjs/axios@^5.5.4":
- version "5.5.4"
- resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-5.5.4.tgz#c4aee2322901b19d4072670c03144662a73ea6f4"
- integrity sha512-/Ljsyh5VIc9paXGrQue7RQ+PpBNES1oit0g4l+ya1tfyKnZMpHSbghuLcv0xq+BpXlSEr690uemHbz54/N6U5w==
- dependencies:
- "@nuxtjs/proxy" "^1.3.3"
- axios "^0.19.0"
- axios-retry "^3.1.2"
- consola "^2.7.1"
+ nanoid "^2.1.0"
"@nuxtjs/axios@^5.6.0":
version "5.6.0"
@@ -1063,10 +1061,10 @@
mustache "^2.3.0"
stack-trace "0.0.10"
-"@sindresorhus/is@^0.17.1":
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.17.1.tgz#453b27750f358689c4aa3c9f32d9ace1f0929a79"
- integrity sha512-kg/maAZD2Z2AHDFp7cY/ACokjUL0e7MaupTtGXkSW2SV4DJQEHdslFUioP0SMccotjwqTdI0b4XH/qZh6CN+kQ==
+"@sindresorhus/is@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-1.0.0.tgz#4f475ff3f32b0a309b7faffd33328e93d7953330"
+ integrity sha512-3rlOB53XCVO7LfjXFx4bCGrZPPjkgYD7pP0E/yo4d57H32aYqD/QNmeXcVnx7CM5SxGScwl2P0b1kCDYZgNWqw==
"@types/babel-types@*", "@types/babel-types@^7.0.0":
version "7.0.7"
@@ -1715,7 +1713,7 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-auto-bind@^2.0.0, auto-bind@^2.1.0:
+auto-bind@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-2.1.0.tgz#254e12d53063d7cab90446ce021accfb3faa1464"
integrity sha512-qZuFvkes1eh9lB2mg8/HG18C+5GIO51r+RrCSst/lh+i5B1CtVlkhTE488M805Nr3dKl0sM/pIFKSKUIlg3zUg==
@@ -1933,7 +1931,7 @@ bl@^1.0.0:
readable-stream "^2.3.5"
safe-buffer "^5.1.1"
-bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
+bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.3, bluebird@^3.5.5:
version "3.5.5"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
@@ -1964,17 +1962,10 @@ boolbase@^1.0.0, boolbase@~1.0.0:
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-boolean@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/boolean/-/boolean-0.2.0.tgz#808dff32ce1c87b828cc381428dc3b158d4f85cb"
- integrity sha512-mDcM3ChboDuhv4glLXEH1us7jMiWXRSs3R13Okoo+kkFOlLIjvF1y88507wTfDf9zsuv0YffSDFUwX95VAT/mg==
-
-boom@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/boom/-/boom-7.3.0.tgz#733a6d956d33b0b1999da3fe6c12996950d017b9"
- integrity sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A==
- dependencies:
- hoek "6.x.x"
+boolean@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolean/-/boolean-1.0.0.tgz#45764b4aac187a050995b0a33d7579b6759f0dfd"
+ integrity sha512-IB1lgIywn37N9Aff8CciCblVpMUflgL42vyxPUH0IvaDdIi/QwBHKv1lq/HOkATHCfa7c4MbMYJ7Bo7hGuoI+w==
bootstrap@^4.3.1:
version "4.3.1"
@@ -2723,7 +2714,7 @@ consola@^2.10.0, consola@^2.10.1:
resolved "https://registry.yarnpkg.com/consola/-/consola-2.10.1.tgz#4693edba714677c878d520e4c7e4f69306b4b927"
integrity sha512-4sxpH6SGFYLADfUip4vuY65f/gEogrzJoniVhNUYkJHtng0l8ZjnDCqxxrSVRHOHwKxsy8Vm5ONZh1wOR3/l/w==
-consola@^2.5.6, consola@^2.6.0, consola@^2.7.1, consola@^2.9.0:
+consola@^2.5.6, consola@^2.6.0, consola@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/consola/-/consola-2.9.0.tgz#57760e3a65a53ec27337f4add31505802d902278"
integrity sha512-34Iue+LRcWbndFIfZc5boNizWlsrRjqIBJZTe591vImgbnq7nx2EzlrLtANj9TH2Fxm7puFJBJAOk5BhvZOddQ==
@@ -3569,21 +3560,21 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
-email-templates@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/email-templates/-/email-templates-6.0.0.tgz#cc235d49c967f16a15488906dd796f748f2a7531"
- integrity sha512-NzneEyM+J/DpMY7hK4Ii1HBmiX/BTQyAf8OEZh1yU+O9uYMgnJr+JvpAxLkqRxeWeA0dT2IV5K+6UcF/jMJk7Q==
+email-templates@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/email-templates/-/email-templates-6.0.2.tgz#8e71d5a65b51de32a80f36a37bcd4fead0d5c70a"
+ integrity sha512-eRM3HM6KVDkKhnLTt8sTpg3kFqG/4E/PVNJi3PtYtfVX+LSnd399f3tvRu9XyMu8jVisX3fXAAkvwBIevkwkAA==
dependencies:
- "@ladjs/i18n" "^1.1.0"
- "@sindresorhus/is" "^0.17.1"
+ "@ladjs/i18n" "^1.2.0"
+ "@sindresorhus/is" "^1.0.0"
auto-bind "^2.1.0"
consolidate "^0.15.1"
debug "^4.1.1"
- get-paths "^0.0.4"
+ get-paths "^0.0.7"
html-to-text "^5.1.1"
juice "^5.2.0"
- lodash "^4.17.11"
- nodemailer "^6.2.1"
+ lodash "^4.17.15"
+ nodemailer "^6.3.0"
pify "^4.0.1"
preview-email "^1.0.1"
@@ -3741,10 +3732,10 @@ eslint-ast-utils@^1.0.0:
lodash.get "^4.4.2"
lodash.zip "^4.2.0"
-eslint-config-prettier@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.2.0.tgz#80e0b8714e3f6868c4ac2a25fbf39c02e73527a7"
- integrity sha512-VLsgK/D+S/FEsda7Um1+N8FThec6LqE3vhcMyp8mlmto97y3fGf3DX7byJexGuOb1QY0Z/zz222U5t+xSfcZDQ==
+eslint-config-prettier@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz#e73b48e59dc49d950843f3eb96d519e2248286a3"
+ integrity sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A==
dependencies:
get-stdin "^6.0.0"
@@ -4532,15 +4523,6 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-fs-extra@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
- integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
fs-extra@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
@@ -4623,13 +4605,12 @@ get-caller-file@^2.0.1:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-paths@^0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/get-paths/-/get-paths-0.0.4.tgz#0a053ca424bab976383ce49929528ad642e2a0df"
- integrity sha512-+AxlfMGN7FuJr2zhT6aErH08HMKkRwynTTHtWCenIWkIZgx2OlkZKgt7SM4+rh8Dfi32lo6HcvqeTLxph3kjQw==
+get-paths@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/get-paths/-/get-paths-0.0.7.tgz#15331086752077cf130166ccd233a1cdbeefcf38"
+ integrity sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==
dependencies:
- bluebird "^3.5.1"
- fs-extra "^4.0.2"
+ pify "^4.0.1"
get-stdin@^6.0.0:
version "6.0.0"
@@ -4942,11 +4923,6 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoek@6.x.x:
- version "6.1.3"
- resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c"
- integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==
-
homedir-polyfill@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
@@ -5710,10 +5686,10 @@ js-beautify@^1.8.8:
mkdirp "~0.5.1"
nopt "~4.0.1"
-js-cookie@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.0.tgz#1b2c279a6eece380a12168b92485265b35b1effb"
- integrity sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=
+js-cookie@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
+ integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
js-levenshtein@^1.1.3:
version "1.1.6"
@@ -6568,7 +6544,7 @@ moment-timezone@^0.5.21:
dependencies:
moment ">= 2.9.0"
-"moment@>= 2.9.0", moment@^2.23.0, moment@^2.24.0:
+"moment@>= 2.9.0", moment@^2.24.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
@@ -6650,10 +6626,10 @@ nan@^2.12.1, nan@^2.14.0:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
-nanoid@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.0.3.tgz#dde999e173bc9d7bd2ee2746b89909ade98e075e"
- integrity sha512-NbaoqdhIYmY6FXDRB4eYtDVC9Z9eCbn8TyaiC16LNKtpPv/aqa0tOPD8y6gNE4yUNnaZ7LLhYtXOev/6+cBtfw==
+nanoid@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.1.tgz#524fd4acd45c126e0c87cd43ab5ee8346e695df9"
+ integrity sha512-0YbJdaL4JFoejIOoawgLcYValFGJ2iyUuVDIWL3g8Es87SSOWFbWdRUMV3VMSiyPs3SQ3QxCIxFX00q5DLkMCw==
nanomatch@^1.2.9:
version "1.2.13"
@@ -6814,7 +6790,7 @@ node-res@^5.0.1:
on-finished "^2.3.0"
vary "^1.1.2"
-nodemailer@^6.2.1:
+nodemailer@^6.2.1, nodemailer@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.3.0.tgz#a89b0c62d3937bdcdeecbf55687bd7911b627e12"
integrity sha512-TEHBNBPHv7Ie/0o3HXnb7xrPSSQmH1dXwQKRaMKDBGt/ZN54lvDVujP6hKkO/vjkIYL9rK8kHSG11+G42Nhxuw==
@@ -8507,11 +8483,16 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-qs@6.7.0, qs@^6.6.0:
+qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+qs@^6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.8.0.tgz#87b763f0d37ca54200334cd57bb2ef8f68a1d081"
+ integrity sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w==
+
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -9103,10 +9084,10 @@ sequelize-pool@^2.3.0:
resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d"
integrity sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==
-sequelize@^5.18.1:
- version "5.18.1"
- resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.18.1.tgz#31d5246dcdf01d0ac317454c28fb598359d5b60a"
- integrity sha512-jngo7pqilyOycMv6ZEwHLVn2wuHi/xkSQZfwK4jhjG8ta1HWYJK3XyQDFdhVEOH1GEq9pnqaf+7Kwqm+eqXD9Q==
+sequelize@^5.18.4:
+ version "5.18.4"
+ resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.18.4.tgz#1e2c7eabe4c554fa257a0115fad39f271bd56150"
+ integrity sha512-bBmJqpO1H8Z7L0xzITqVo5KHXFI7GmKfGl/5SIPDKsuUMbuZT98s+gyGeaLXpOWGH1ZUO79hvJ8z74vNcxBWHg==
dependencies:
bluebird "^3.5.0"
cls-bluebird "^2.1.0"
@@ -9420,7 +9401,7 @@ split@^1.0.0:
dependencies:
through "2"
-sprintf-js@>=1.0.3, sprintf-js@^1.0.3:
+sprintf-js@>=1.0.3:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
@@ -9868,6 +9849,11 @@ tiny-emitter@^2.0.0:
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+titleize@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/titleize/-/titleize-2.1.0.tgz#5530de07c22147a0488887172b5bd94f5b30a48f"
+ integrity sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -10097,14 +10083,6 @@ underscore.deep@~0.5.1:
resolved "https://registry.yarnpkg.com/underscore.deep/-/underscore.deep-0.5.1.tgz#072671f48d68735c34223fcfef63e69e5276cc2b"
integrity sha1-ByZx9I1oc1w0Ij/P72PmnlJ2zCs=
-underscore.string@^3.3.5:
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
- integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
- dependencies:
- sprintf-js "^1.0.3"
- util-deprecate "^1.0.2"
-
underscore@~1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
@@ -10274,7 +10252,7 @@ use@^3.1.0:
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=