all repos — caroster @ 686daf82d3a472d61b9c33b118b7a166033ceb83

[Octree] Group carpool to your event https://caroster.io

⚡️ Improve emails management #152
Tim Izzo tim@octree.ch
Fri, 09 Jul 2021 12:28:53 +0200
commit

686daf82d3a472d61b9c33b118b7a166033ceb83

parent

3787acb16a60cda9229889e76c928f5f6af4f047

M backend/.env.examplebackend/.env.example

@@ -1,7 +1,4 @@

STRAPI_URL= SENDGRID_API_KEY= -SENDGRID_DEFAULT_CONTACTLISTID= -SENDGRID_DEFAULT_TEMPLATEID= SENDGRID_DEFAULT_FROM=caroster@caroster.io SENDGRID_DEFAULT_REPLYTO=hello@caroster.io -CAROSTER_TEMPLATEID_EVENTCREATION=
M backend/.strapi-updater.jsonbackend/.strapi-updater.json

@@ -1,5 +1,5 @@

{ "latest": "3.6.5", - "lastUpdateCheck": 1624608897415, - "lastNotification": 1624609590685 + "lastUpdateCheck": 1625813625980, + "lastNotification": 1625813625975 }
M backend/api/event/config/schema.graphql.jsbackend/api/event/config/schema.graphql.js

@@ -1,4 +1,9 @@

module.exports = { + definition: ` + extend input EventInput { + newsletter: Boolean + } + `, query: ` eventByUUID(uuid: String!): Event `,
M backend/api/event/models/event.jsbackend/api/event/models/event.js

@@ -2,9 +2,10 @@ 'use strict';

const axios = require('axios'); const moment = require('moment'); const uuid = require('uuid'); +const sendgrid = require('../../../lib/sendgrid'); require('moment/locale/fr-ch'); -const {STRAPI_URL = '', CAROSTER_TEMPLATEID_EVENTCREATION} = process.env; +const {STRAPI_URL = ''} = process.env; module.exports = { lifecycles: {

@@ -33,21 +34,7 @@ }

} // If user accepts newsletters, subscribe it - if (event.newsletter) - try { - strapi.plugins['email'].services.contact.subscribe({ - email: event.email, - }); - } catch (error) { - console.error(error); - strapi.log.error( - `Impossible to save email ${ - event.email - } in contact list for event#${event.id}. Error: ${JSON.stringify( - error - )}` - ); - } + if (event.newsletter) sendgrid.subscribe(event.email); }, async beforeUpdate(params, event) { const eventInDb = await strapi.services.event.findOne(params);

@@ -77,18 +64,25 @@ },

async afterCreate(event) { try { - await strapi.plugins['email'].services.email.send({ - to: event.email, - templateId: CAROSTER_TEMPLATEID_EVENTCREATION, - templateData: { + await strapi.plugins[ + 'email-designer' + ].services.email.sendTemplatedEmail( + { + to: event.email, + }, + { + templateId: 1, + subject: `Caroster: ${event.name}`, + }, + { eventName: event.name, eventTime: event.date - ? moment(event.date).format('dddd Do MMMM YYYY') + ? moment(event.date).format('dddd D MMMM YYYY') : null, eventAddress: event.address, - eventLink: `${STRAPI_URL}/e/${event.id}`, - }, - }); + eventLink: `${STRAPI_URL}/e/${event.uuid}`, + } + ); } catch (error) { console.error(error); strapi.log.error(
A backend/config/plugins.js

@@ -0,0 +1,12 @@

+module.exports = ({env}) => ({ + email: { + provider: 'sendgrid', + providerOptions: { + apiKey: env('SENDGRID_API_KEY'), + }, + settings: { + defaultFrom: env('SENDGRID_DEFAULT_FROM', 'sysadmin@octree.ch'), + defaultReplyTo: env('SENDGRID_DEFAULT_REPLYTO', 'sysadmin@octree.ch'), + }, + }, +});
M backend/extensions/users-permissions/models/User.jsbackend/extensions/users-permissions/models/User.js

@@ -1,18 +1,9 @@

+const sendgrid = require('../../../lib/sendgrid'); + module.exports = { lifecycles: { async afterCreate(user) { - if (user.email) { - try { - await strapi.plugins['email'].services.contact.subscribe({ - email: user.email, - }); - strapi.log.info( - `Email ${user.email} saved to Sendgrid contact list.` - ); - } catch (error) { - console.error(error); - } - } + if (user.email) sendgrid.subscribe(user.email); }, }, };
A backend/lib/sendgrid.js

@@ -0,0 +1,34 @@

+const sendgrid = require('@sendgrid/client'); + +const {SENDGRID_API_KEY, SENDGRID_CONTACTLISTID} = process.env; + +sendgrid.setApiKey(SENDGRID_API_KEY); + +module.exports = { + // https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact + subscribe: async email => { + if (!SENDGRID_CONTACTLISTID) { + strapi.log.error( + 'No Sendgrid contact list ID provided (SENDGRID_DEFAULT_CONTACTLISTID)' + ); + return null; + } + + try { + strapi.log.info(`Save ${email} to Sendgrid contact list.`); + + await sendgrid.request({ + method: 'PUT', + url: '/v3/marketing/contacts', + body: {list_ids: [SENDGRID_CONTACTLISTID], contacts: [{email}]}, + }); + } catch (error) { + console.error(error.response.body.errors); + strapi.log.error( + `Impossible to save email ${email} tp Sengrid contact list. Error: ${JSON.stringify( + error + )}` + ); + } + }, +};
M backend/package.jsonbackend/package.json

@@ -27,11 +27,13 @@ "strapi-connector-bookshelf": "3.6.2",

"strapi-middleware-sentry": "^0.0.11", "strapi-plugin-content-manager": "3.6.3", "strapi-plugin-content-type-builder": "3.6.3", - "strapi-plugin-email": "^0.1.1", + "strapi-plugin-email": "^3.6.5", + "strapi-plugin-email-designer": "^1.1.3", "strapi-plugin-graphql": "3.6.3", "strapi-plugin-telemetree": "^0.1.0", "strapi-plugin-upload": "^3.6.3", "strapi-plugin-users-permissions": "3.6.3", + "strapi-provider-email-sendgrid": "^3.6.5", "strapi-utils": "3.6.3", "uuid": "^8.3.2" },
M backend/yarn.lockbackend/yarn.lock

@@ -969,7 +969,7 @@ "@babel/plugin-transform-react-jsx" "^7.14.5"

"@babel/plugin-transform-react-jsx-development" "^7.14.5" "@babel/plugin-transform-react-pure-annotations" "^7.14.5" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.17", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2", "@babel/runtime@^7.9.6": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.17", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2", "@babel/runtime@^7.9.6": version "7.14.6" resolved "https://npm-8ee.hidora.com/@babel%2fruntime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==

@@ -1418,6 +1418,39 @@ version "3.10.4"

resolved "https://npm-8ee.hidora.com/@sailshq%2flodash/-/lodash-3.10.4.tgz#2299648a81a67f4c6ee222c6cf8e261bd9c3fa50" integrity sha512-YXJqp9gdHcZKAmBY/WnwFpPtNQp2huD/ME2YMurH2YHJvxrVzYsmpKw/pb7yINArRpp8E++fwbQd3ajYXGA45Q== +"@selderee/plugin-htmlparser2@^0.6.0": + version "0.6.0" + resolved "https://npm-8ee.hidora.com/@selderee%2fplugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz#27e994afd1c2cb647ceb5406a185a5574188069d" + integrity sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA== + dependencies: + domhandler "^4.2.0" + selderee "^0.6.0" + +"@sendgrid/client@^6.4.0": + version "6.5.5" + resolved "https://npm-8ee.hidora.com/@sendgrid%2fclient/-/client-6.5.5.tgz#66cf569445d98a795998a894bb432a9939ead7c3" + integrity sha512-Nbfgo94gbWSL8PIgJfuHoifyOJJepvV8NQkkglctAEfb1hyozKhrzE6v1kPG/z4j0RodaTtXD5LJj/t0q/VhLA== + dependencies: + "@sendgrid/helpers" "^6.5.5" + "@types/request" "^2.48.4" + request "^2.88.0" + +"@sendgrid/helpers@^6.4.0", "@sendgrid/helpers@^6.5.5": + version "6.5.5" + resolved "https://npm-8ee.hidora.com/@sendgrid%2fhelpers/-/helpers-6.5.5.tgz#de6de9b94794fbf834b4f66a7d44af84bf736459" + integrity sha512-uRFEanalfss5hDsuzVXZ1wm7i7eEXHh1py80piOXjobiQ+MxmtR19EU+gDSXZ+uMcEehBGhxnb7QDNN0q65qig== + dependencies: + chalk "^2.0.1" + deepmerge "^4.2.2" + +"@sendgrid/mail@6.4.0": + version "6.4.0" + resolved "https://npm-8ee.hidora.com/@sendgrid%2fmail/-/mail-6.4.0.tgz#21d022f7fae57dcdc5910eeca5ed318df21e5f51" + integrity sha512-pVzbqbxhZ4FUN6iSIksRLtyXRPurrcee1i0noPDStDCLlHVwUR+TofeeKIFWGpIvbbk5UR6S6iV/U5ie8Kdblw== + dependencies: + "@sendgrid/client" "^6.4.0" + "@sendgrid/helpers" "^6.4.0" + "@sentry/core@5.30.0": version "5.30.0" resolved "https://npm-8ee.hidora.com/@sentry%2fcore/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3"

@@ -1567,15 +1600,7 @@ dependencies:

"@sindresorhus/transliterate" "^0.1.1" escape-string-regexp "^4.0.0" -"@sindresorhus/slugify@^0.11.0": - version "0.11.0" - resolved "https://npm-8ee.hidora.com/@sindresorhus%2fslugify/-/slugify-0.11.0.tgz#642acb99adefa4187285fd17de88745afc161de8" - integrity sha512-ECTZT6z1hYDsopRh8GECaQ5L6hoJHVd4uq5hPi8se9GB31tgtZfnlM8G64hZVhJNmtJ9eIK0SuNhtsaPQStXEQ== - dependencies: - "@sindresorhus/transliterate" "^0.1.0" - escape-string-regexp "^2.0.0" - -"@sindresorhus/transliterate@^0.1.0", "@sindresorhus/transliterate@^0.1.1": +"@sindresorhus/transliterate@^0.1.1": version "0.1.2" resolved "https://npm-8ee.hidora.com/@sindresorhus%2ftransliterate/-/transliterate-0.1.2.tgz#ffce368271d153550e87de81486004f2637425af" integrity sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==

@@ -1611,6 +1636,11 @@ resolved "https://npm-8ee.hidora.com/@types%2fbson/-/bson-4.0.3.tgz#30889d2ffde6262abbe38659364c631454999fbf"

integrity sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw== dependencies: "@types/node" "*" + +"@types/caseless@*": + version "0.12.2" + resolved "https://npm-8ee.hidora.com/@types%2fcaseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" + integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== "@types/connect@*": version "3.4.34"

@@ -1675,6 +1705,13 @@ dependencies:

"@types/minimatch" "*" "@types/node" "*" +"@types/hast@^2.0.0": + version "2.3.2" + resolved "https://npm-8ee.hidora.com/@types%2fhast/-/hast-2.3.2.tgz#236201acca9e2695e42f713d7dd4f151dc2982e4" + integrity sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow== + dependencies: + "@types/unist" "*" + "@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": version "3.3.1" resolved "https://npm-8ee.hidora.com/@types%2fhoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"

@@ -1743,6 +1780,11 @@ integrity sha512-RfG2EuSc+nv/E+xbDSLW8KCoeri/3AkqwVPuENfF/DctllRoXhooboO//Sw7yFtkLvj7nG7O1H3JcZmoTQz8nQ==

dependencies: "@types/koa" "*" +"@types/lodash@^4.14.165": + version "4.14.171" + resolved "https://npm-8ee.hidora.com/@types%2flodash/-/lodash-4.14.171.tgz#f01b3a5fe3499e34b622c362a46a609fdb23573b" + integrity sha512-7eQ2xYLLI/LsicL2nejW9Wyko3lcpN6O/z0ZLHrEQsg280zIdCv1t/0m6UtBjUHokCGBQ3gYTbHzDkZ1xOBwwg== + "@types/long@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"

@@ -1818,6 +1860,16 @@ "@types/prop-types" "*"

"@types/scheduler" "*" csstype "^3.0.2" +"@types/request@^2.48.4": + version "2.48.6" + resolved "https://npm-8ee.hidora.com/@types%2frequest/-/request-2.48.6.tgz#2300e7fc443108f79efa90e3bdf34c6d60fa89d8" + integrity sha512-vrZaV3Ij7j/l/3hz6OttZFtpRCu7zlq7XgkYHJP6FwVEAZkGQ095WqyJV08/GlW9eyXKVcp/xmtruHm8eHpw1g== + dependencies: + "@types/caseless" "*" + "@types/node" "*" + "@types/tough-cookie" "*" + form-data "^2.5.0" + "@types/scheduler@*": version "0.16.1" resolved "https://npm-8ee.hidora.com/@types%2fscheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275"

@@ -1830,6 +1882,16 @@ integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==

dependencies: "@types/mime" "^1" "@types/node" "*" + +"@types/tough-cookie@*": + version "4.0.1" + resolved "https://npm-8ee.hidora.com/@types%2ftough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40" + integrity sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== + +"@types/unist@*": + version "2.0.5" + resolved "https://npm-8ee.hidora.com/@types%2funist/-/unist-2.0.5.tgz#fdd299f23205c3455af88ce618dd65c14cb73e22" + integrity sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g== "@types/ws@^7.0.0": version "7.4.4"

@@ -2029,6 +2091,11 @@ resolved "https://npm-8ee.hidora.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310"

integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== dependencies: object-assign "4.x" + +addressparser@1.0.1: + version "1.0.1" + resolved "https://npm-8ee.hidora.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" + integrity sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y= agent-base@6: version "6.0.2"

@@ -3015,6 +3082,18 @@ dependencies:

base64-js "^1.3.1" ieee754 "^1.1.13" +buildmail@3.10.0: + version "3.10.0" + resolved "https://npm-8ee.hidora.com/buildmail/-/buildmail-3.10.0.tgz#c6826d716e7945bb6f6b1434b53985e029a03159" + integrity sha1-xoJtcW55RbtvaxQ0tTmF4CmgMVk= + dependencies: + addressparser "1.0.1" + libbase64 "0.1.0" + libmime "2.1.0" + libqp "1.1.0" + nodemailer-fetch "1.6.0" + nodemailer-shared "1.1.0" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://npm-8ee.hidora.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"

@@ -3169,7 +3248,7 @@ has-ansi "^2.0.0"

strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://npm-8ee.hidora.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==

@@ -3194,6 +3273,21 @@ dependencies:

ansi-styles "^4.1.0" supports-color "^7.1.0" +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://npm-8ee.hidora.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://npm-8ee.hidora.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://npm-8ee.hidora.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + chardet@^0.7.0: version "0.7.0" resolved "https://npm-8ee.hidora.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"

@@ -3486,6 +3580,11 @@ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==

dependencies: delayed-stream "~1.0.0" +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://npm-8ee.hidora.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + commander@2.17.x: version "2.17.1" resolved "https://npm-8ee.hidora.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"

@@ -3496,7 +3595,7 @@ version "6.1.0"

resolved "https://npm-8ee.hidora.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== -commander@^2.20.0, commander@^2.20.3: +commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://npm-8ee.hidora.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==

@@ -3893,7 +3992,7 @@ version "1.4.0"

resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== -date-fns@^2.19.0, date-fns@^2.8.1: +date-fns@^2.19.0: version "2.22.1" resolved "https://npm-8ee.hidora.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==

@@ -3937,6 +4036,11 @@ decamelize@^1.2.0:

version "1.2.0" resolved "https://npm-8ee.hidora.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-html@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/decode-html/-/decode-html-2.0.0.tgz#7d0a887ce44280e60978a707ebb7f8081fd61eaa" + integrity sha1-fQqIfORCgOYJeKcH67f4CB/WHqo= decode-uri-component@^0.2.0: version "0.2.0"

@@ -4145,6 +4249,18 @@ version "1.0.4"

resolved "https://npm-8ee.hidora.com/direction/-/direction-1.0.4.tgz#2b86fb686967e987088caf8b89059370d4837442" integrity sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ== +discontinuous-range@1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo= + +dkim-signer@0.2.2: + version "0.2.2" + resolved "https://npm-8ee.hidora.com/dkim-signer/-/dkim-signer-0.2.2.tgz#aa81ec071eeed3622781baa922044d7800e5f308" + integrity sha1-qoHsBx7u02IngbqpIgRNeADl8wg= + dependencies: + libmime "^2.0.3" + dnd-core@^10.0.2: version "10.0.2" resolved "https://npm-8ee.hidora.com/dnd-core/-/dnd-core-10.0.2.tgz#051dc119682ea1185622f954667670d3d5f6a574"

@@ -4801,6 +4917,13 @@ version "1.1.2"

resolved "https://npm-8ee.hidora.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== +fault@^1.0.0: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" + integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== + dependencies: + format "^0.2.0" + faye-websocket@^0.11.3: version "0.11.4" resolved "https://npm-8ee.hidora.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"

@@ -5019,6 +5142,15 @@ version "0.6.1"

resolved "https://npm-8ee.hidora.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data@^2.5.0: + version "2.5.1" + resolved "https://npm-8ee.hidora.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"

@@ -5036,6 +5168,11 @@ dependencies:

asynckit "^0.4.0" combined-stream "^1.0.6" mime-types "^2.1.12" + +format@^0.2.0: + version "0.2.2" + resolved "https://npm-8ee.hidora.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs= formidable@^1.1.1: version "1.2.2"

@@ -5253,6 +5390,11 @@ integrity sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==

dependencies: git-up "^4.0.0" +github-buttons@^2.8.0: + version "2.18.1" + resolved "https://npm-8ee.hidora.com/github-buttons/-/github-buttons-2.18.1.tgz#93737ca38dd6a108799ebbbce7bafc46eb80c535" + integrity sha512-s3I3D3d0lNIflVBRFHsCoIkNfSZqBO6ivzWjNdoefBf+7TPMLgXiFoezr8M6SABiYCjZ8UXB3sIxa+ZxTKmWHw== + github-from-package@0.0.0: version "0.0.0" resolved "https://npm-8ee.hidora.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"

@@ -5273,7 +5415,7 @@ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==

dependencies: is-glob "^4.0.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.7" resolved "https://npm-8ee.hidora.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==

@@ -5591,12 +5733,28 @@ dependencies:

inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.x: +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://npm-8ee.hidora.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hastscript@^6.0.0: + version "6.0.0" + resolved "https://npm-8ee.hidora.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + +he@1.2.x, he@^1.2.0: version "1.2.0" resolved "https://npm-8ee.hidora.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -highlight.js@^10.4.1: +highlight.js@^10.4.1, highlight.js@~10.7.0: version "10.7.3" resolved "https://npm-8ee.hidora.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==

@@ -5679,6 +5837,18 @@ he "1.2.x"

param-case "2.1.x" relateurl "0.2.x" uglify-js "3.4.x" + +html-to-text@^8.0.0: + version "8.0.0" + resolved "https://npm-8ee.hidora.com/html-to-text/-/html-to-text-8.0.0.tgz#5848681a5a38d657a7bb58cf5006d1c29fe64ce3" + integrity sha512-fEtul1OerF2aMEV+Wpy+Ue20tug134jOY1GIudtdqZi7D0uTudB2tVJBKfVhTL03dtqeJoF8gk8EPX9SyMEvLg== + dependencies: + "@selderee/plugin-htmlparser2" "^0.6.0" + deepmerge "^4.2.2" + he "^1.2.0" + htmlparser2 "^6.1.0" + minimist "^1.2.5" + selderee "^0.6.0" html-webpack-plugin@^3.2.0: version "3.2.0"

@@ -5818,6 +5988,16 @@ dependencies:

debug "^3.1.0" sprintf-js "^1.1.1" +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://npm-8ee.hidora.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + integrity sha1-H4irpKsLFQjoMSrMOTRfNumS4vI= + +iconv-lite@0.4.15: + version "0.4.15" + resolved "https://npm-8ee.hidora.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" + integrity sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es= + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://npm-8ee.hidora.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"

@@ -5968,7 +6148,7 @@ dependencies:

default-gateway "^4.2.0" ipaddr.js "^1.9.0" -interpret@^1.0.0, interpret@^1.4.0: +interpret@^1.4.0: version "1.4.0" resolved "https://npm-8ee.hidora.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==

@@ -6039,6 +6219,19 @@ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==

dependencies: kind-of "^6.0.0" +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4: version "1.1.0" resolved "https://npm-8ee.hidora.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"

@@ -6123,6 +6316,11 @@ version "1.0.4"

resolved "https://npm-8ee.hidora.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-descriptor@^0.1.0: version "0.1.6" resolved "https://npm-8ee.hidora.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"

@@ -6198,6 +6396,11 @@ resolved "https://npm-8ee.hidora.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"

integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-interactive@^1.0.0: version "1.0.0"

@@ -6854,6 +7057,34 @@ dependencies:

prelude-ls "^1.2.1" type-check "~0.4.0" +libbase64@0.1.0: + version "0.1.0" + resolved "https://npm-8ee.hidora.com/libbase64/-/libbase64-0.1.0.tgz#62351a839563ac5ff5bd26f12f60e9830bb751e6" + integrity sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY= + +libmime@2.1.0: + version "2.1.0" + resolved "https://npm-8ee.hidora.com/libmime/-/libmime-2.1.0.tgz#51bc76de2283161eb9051c4bc80aed713e4fd1cd" + integrity sha1-Ubx23iKDFh65BRxLyArtcT5P0c0= + dependencies: + iconv-lite "0.4.13" + libbase64 "0.1.0" + libqp "1.1.0" + +libmime@^2.0.3: + version "2.1.3" + resolved "https://npm-8ee.hidora.com/libmime/-/libmime-2.1.3.tgz#25017ca5ab5a1e98aadbe2725017cf1d48a42a0c" + integrity sha1-JQF8pataHpiq2+JyUBfPHUikKgw= + dependencies: + iconv-lite "0.4.15" + libbase64 "0.1.0" + libqp "1.1.0" + +libqp@1.1.0: + version "1.1.0" + resolved "https://npm-8ee.hidora.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" + integrity sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g= + linkify-it@^3.0.1: version "3.0.2" resolved "https://npm-8ee.hidora.com/linkify-it/-/linkify-it-3.0.2.tgz#f55eeb8bc1d3ae754049e124ab3bb56d97797fb8"

@@ -6909,7 +7140,7 @@ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==

dependencies: p-locate "^4.1.0" -lodash-es@^4.17.11, lodash-es@^4.17.21: +lodash-es@^4.17.11, lodash-es@^4.17.15, lodash-es@^4.17.21: version "4.17.21" resolved "https://npm-8ee.hidora.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==

@@ -6989,11 +7220,6 @@ version "4.7.0"

resolved "https://registry.yarnpkg.com/lodash.xorby/-/lodash.xorby-4.7.0.tgz#9c19a6f9f063a6eb53dd03c1b6871799801463d7" integrity sha1-nBmm+fBjputT3QPBtocXmYAUY9c= -lodash@4.17.12: - version "4.17.12" - resolved "https://npm-8ee.hidora.com/lodash/-/lodash-4.17.12.tgz#a712c74fdc31f7ecb20fe44f157d802d208097ef" - integrity sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA== - lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4: version "4.17.21" resolved "https://npm-8ee.hidora.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"

@@ -7051,6 +7277,14 @@ version "2.0.0"

resolved "https://npm-8ee.hidora.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowlight@^1.17.0: + version "1.20.0" + resolved "https://npm-8ee.hidora.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" + integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw== + dependencies: + fault "^1.0.0" + highlight.js "~10.7.0" + lru-cache@^5.1.1: version "5.1.1" resolved "https://npm-8ee.hidora.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"

@@ -7069,6 +7303,14 @@ lru_map@^0.3.3:

version "0.3.3" resolved "https://npm-8ee.hidora.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= + +mailcomposer@3.12.0: + version "3.12.0" + resolved "https://npm-8ee.hidora.com/mailcomposer/-/mailcomposer-3.12.0.tgz#9c5e1188aa8e1c62ec8b86bd43468102b639e8f9" + integrity sha1-nF4RiKqOHGLsi4a9Q0aBArY56Pk= + dependencies: + buildmail "3.10.0" + libmime "2.1.0" make-dir@^2.0.0: version "2.1.0"

@@ -7441,6 +7683,11 @@ safe-buffer "5.2.1"

sift "13.5.2" sliced "1.0.1" +moo@^0.5.0, moo@^0.5.1: + version "0.5.1" + resolved "https://npm-8ee.hidora.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" + integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://npm-8ee.hidora.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"

@@ -7528,6 +7775,11 @@ integrity sha1-sFVPaa2J4i0JB/ehKwmTpdlhN+8=

dependencies: big-integer "^1.6.16" +nanoclone@^0.2.1: + version "0.2.1" + resolved "https://npm-8ee.hidora.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" + integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== + nanoid@^3.1.23: version "3.1.23" resolved "https://npm-8ee.hidora.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"

@@ -7560,6 +7812,16 @@ version "1.4.0"

resolved "https://npm-8ee.hidora.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +nearley@^2.20.1: + version "2.20.1" + resolved "https://npm-8ee.hidora.com/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474" + integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ== + dependencies: + commander "^2.19.0" + moo "^0.5.0" + railroad-diagrams "^1.0.0" + randexp "0.4.6" + negotiator@0.6.2: version "0.6.2" resolved "https://npm-8ee.hidora.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"

@@ -7659,6 +7921,18 @@ dependencies:

cron-parser "^2.7.3" long-timeout "0.1.1" sorted-array-functions "^1.0.0" + +nodemailer-fetch@1.6.0: + version "1.6.0" + resolved "https://npm-8ee.hidora.com/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz#79c4908a1c0f5f375b73fe888da9828f6dc963a4" + integrity sha1-ecSQihwPXzdbc/6IjamCj23JY6Q= + +nodemailer-shared@1.1.0: + version "1.1.0" + resolved "https://npm-8ee.hidora.com/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz#cf5994e2fd268d00f5cf0fa767a08169edb07ec0" + integrity sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA= + dependencies: + nodemailer-fetch "1.6.0" normalize-path@^2.1.1: version "2.1.1"

@@ -8027,6 +8301,18 @@ evp_bytestokey "^1.0.0"

pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://npm-8ee.hidora.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"

@@ -8057,6 +8343,14 @@ normalize-url "^6.0.1"

parse-path "^4.0.0" protocols "^1.4.0" +parseley@^0.7.0: + version "0.7.0" + resolved "https://npm-8ee.hidora.com/parseley/-/parseley-0.7.0.tgz#9949e3a0ed05c5072adb04f013c2810cf49171a8" + integrity sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw== + dependencies: + moo "^0.5.1" + nearley "^2.20.1" + parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://npm-8ee.hidora.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"

@@ -8296,11 +8590,6 @@ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==

dependencies: find-up "^4.0.0" -pluralize@^7.0.0: - version "7.0.0" - resolved "https://npm-8ee.hidora.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - pluralize@^8.0.0: version "8.0.0" resolved "https://npm-8ee.hidora.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"

@@ -8457,6 +8746,11 @@ version "1.1.0"

resolved "https://npm-8ee.hidora.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== +prismjs@^1.22.0, prismjs@~1.24.0: + version "1.24.1" + resolved "https://npm-8ee.hidora.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" + integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== + private@~0.1.5: version "0.1.8" resolved "https://npm-8ee.hidora.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"

@@ -8520,11 +8814,18 @@ version "1.5.1"

resolved "https://npm-8ee.hidora.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f" integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g== -property-expr@^2.0.2: +property-expr@^2.0.2, property-expr@^2.0.4: version "2.0.4" resolved "https://npm-8ee.hidora.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910" integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg== +property-information@^5.0.0: + version "5.6.0" + resolved "https://npm-8ee.hidora.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + protocols@^1.1.0, protocols@^1.4.0: version "1.4.8" resolved "https://npm-8ee.hidora.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"

@@ -8664,6 +8965,19 @@ resolved "https://npm-8ee.hidora.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"

integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" + +railroad-diagrams@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= + +randexp@0.4.6: + version "0.4.6" + resolved "https://npm-8ee.hidora.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" + integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== + dependencies: + discontinuous-range "1.0.0" + ret "~0.1.10" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0"

@@ -8790,6 +9104,11 @@ object-assign "^4.1.1"

prop-types "^15.6.2" scheduler "^0.19.1" +react-email-editor@^1.3.0: + version "1.3.0" + resolved "https://npm-8ee.hidora.com/react-email-editor/-/react-email-editor-1.3.0.tgz#4a3b4ef258a0bf2e8754ca5d8117bf675d765e5a" + integrity sha512-zAHq8sA7g5jZrqKa2F2UmjpCQlrteueaXwkxcWMgQB0QWLuywf0plCYrbxzcFNT4/pVzAow4IRom2IaaPqHgYQ== + react-error-boundary@3.1.1: version "3.1.1" resolved "https://npm-8ee.hidora.com/react-error-boundary/-/react-error-boundary-3.1.1.tgz#932c5ca5cbab8ec4fe37fd7b415aa5c3a47597e7"

@@ -8806,6 +9125,13 @@ react-fast-compare@^3.1.1, react-fast-compare@^3.2.0:

version "3.2.0" resolved "https://npm-8ee.hidora.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== + +react-github-btn@^1.2.0: + version "1.2.0" + resolved "https://npm-8ee.hidora.com/react-github-btn/-/react-github-btn-1.2.0.tgz#464066f999a77c0eed27980260601b51cbe15614" + integrity sha512-/b2TGTeek5Ky+KtuP5BxOaXgb1FGhbwgZNI6rkwkGk7+xtCtsNMkdchOcCnC3qU1JGTWPKzYZWpPBIouVhXAoQ== + dependencies: + github-buttons "^2.8.0" react-helmet@^6.1.0: version "6.1.0"

@@ -8965,6 +9291,17 @@ version "2.1.1"

resolved "https://npm-8ee.hidora.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3" integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== +react-syntax-highlighter@^15.4.3: + version "15.4.3" + resolved "https://npm-8ee.hidora.com/react-syntax-highlighter/-/react-syntax-highlighter-15.4.3.tgz#fffe3286677ac470b963b364916d16374996f3a6" + integrity sha512-TnhGgZKXr5o8a63uYdRTzeb8ijJOgRGe0qjrE0eK/gajtdyqnSO6LqB3vW16hHB0cFierYSoy/AOJw8z1Dui8g== + dependencies: + "@babel/runtime" "^7.3.1" + highlight.js "^10.4.1" + lowlight "^1.17.0" + prismjs "^1.22.0" + refractor "^3.2.0" + react-tooltip@4.2.18: version "4.2.18" resolved "https://npm-8ee.hidora.com/react-tooltip/-/react-tooltip-4.2.18.tgz#2fb8c5e115c4e5476f94081f4bb2ba77f5b2297f"

@@ -9143,13 +9480,6 @@ esprima "~3.1.0"

private "~0.1.5" source-map "~0.5.0" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://npm-8ee.hidora.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - rechoir@^0.7.0: version "0.7.0" resolved "https://npm-8ee.hidora.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca"

@@ -9206,6 +9536,15 @@ version "0.2.0"

resolved "https://npm-8ee.hidora.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= +refractor@^3.2.0: + version "3.4.0" + resolved "https://npm-8ee.hidora.com/refractor/-/refractor-3.4.0.tgz#62bd274b06c942041f390c371b676eb67cb0a678" + integrity sha512-dBeD02lC5eytm9Gld2Mx0cMcnR+zhSnsTfPpWqFaMgUMJfC9A6bcN3Br/NaXrnBJcuxnLFR90k1jrkaSyV8umg== + dependencies: + hastscript "^6.0.0" + parse-entities "^2.0.0" + prismjs "~1.24.0" + regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://npm-8ee.hidora.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"

@@ -9481,7 +9820,7 @@ version "0.2.1"

resolved "https://npm-8ee.hidora.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.9.0: +resolve@^1.12.0, resolve@^1.14.2, resolve@^1.9.0: version "1.20.0" resolved "https://npm-8ee.hidora.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==

@@ -9652,6 +9991,13 @@ "@types/json-schema" "^7.0.6"

ajv "^6.12.5" ajv-keywords "^3.5.2" +selderee@^0.6.0: + version "0.6.0" + resolved "https://npm-8ee.hidora.com/selderee/-/selderee-0.6.0.tgz#f3bee66cfebcb6f33df98e4a1df77388b42a96f7" + integrity sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg== + dependencies: + parseley "^0.7.0" + select-hose@^2.0.0: version "2.0.0" resolved "https://npm-8ee.hidora.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"

@@ -9710,6 +10056,14 @@ on-finished "~2.3.0"

range-parser "~1.2.1" statuses "~1.5.0" +sendmail@^1.6.1: + version "1.6.1" + resolved "https://npm-8ee.hidora.com/sendmail/-/sendmail-1.6.1.tgz#6be92fb4be70d1d9ad102030aeb1e737bd512159" + integrity sha512-lIhvnjSi5e5jL8wA1GPP6j2QVlx6JOEfmdn0QIfmuJdmXYGmJ375kcOU0NSm/34J+nypm4sa1AXrYE5w3uNIIA== + dependencies: + dkim-signer "0.2.2" + mailcomposer "3.12.0" + sequelize-pool@^2.3.0: version "2.3.0" resolved "https://npm-8ee.hidora.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d"

@@ -9856,15 +10210,6 @@ shebang-regex@^3.0.0:

version "3.0.0" resolved "https://npm-8ee.hidora.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.3: - version "0.8.4" - resolved "https://npm-8ee.hidora.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" shimmer@^1.1.0: version "1.2.1"

@@ -10035,6 +10380,11 @@ version "0.6.1"

resolved "https://npm-8ee.hidora.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "https://npm-8ee.hidora.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + sparse-bitfield@^3.0.3: version "3.0.3" resolved "https://npm-8ee.hidora.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11"

@@ -10484,13 +10834,27 @@ strapi-helper-plugin "3.6.3"

strapi-utils "3.6.3" yup "^0.28.2" -strapi-plugin-email@^0.1.1: - version "0.1.1" - resolved "https://npm-8ee.hidora.com/strapi-plugin-email/-/strapi-plugin-email-0.1.1.tgz#1917b5cdb02d7b9afc00fb13e4287681dcef2fd5" - integrity sha512-/e3P8HFzIs9PcKfg84ilNTW6dVVBfyjxHLlpfu7XaPpcZ2CjXy7hv9DPH2OSPT5F/SaSsiCJh3Z+3Apv+lTm6g== +strapi-plugin-email-designer@^1.1.3: + version "1.1.3" + resolved "https://npm-8ee.hidora.com/strapi-plugin-email-designer/-/strapi-plugin-email-designer-1.1.3.tgz#79658024a8127874cb3f4e30177b910d37a60924" + integrity sha512-AmDHj1IihsbAQqUoo5Asx7Gh8p3ki8QuX0Js3wDem1ZlLAiBaCf4U09tufkyw/O/MfqvjD0ecfUuiIbm9sTIuQ== dependencies: - axios "^0.19.2" - strapi-utils "3.0.0" + decode-html "^2.0.0" + html-to-text "^8.0.0" + lodash "^4.17.21" + react-email-editor "^1.3.0" + react-github-btn "^1.2.0" + react-syntax-highlighter "^15.4.3" + striptags "^3.2.0" + +strapi-plugin-email@^3.6.5: + version "3.6.5" + resolved "https://npm-8ee.hidora.com/strapi-plugin-email/-/strapi-plugin-email-3.6.5.tgz#7bcc2026300bf047e26591ef9cc91fb34fbdd514" + integrity sha512-SyY6T3t3jgIgHt7pkUmdm3pXk7eTrRiWvpNixVcO7iDrtdPTTt0HNDa3Zz9Ls/MRz6Ds6noYfGDVPwulgVjWbQ== + dependencies: + lodash "4.17.21" + strapi-provider-email-sendmail "3.6.5" + strapi-utils "3.6.5" strapi-plugin-graphql@3.6.3: version "3.6.3"

@@ -10587,24 +10951,27 @@ strapi-helper-plugin "3.6.3"

strapi-utils "3.6.3" uuid "^3.1.0" +strapi-provider-email-sendgrid@^3.6.5: + version "3.6.5" + resolved "https://npm-8ee.hidora.com/strapi-provider-email-sendgrid/-/strapi-provider-email-sendgrid-3.6.5.tgz#13ea955b924d4cfe5054ec01a81efcc44b885eff" + integrity sha512-iBM1zqlnmxbXnp4eYgxZOvw6OfNajHWhFtyAfgjIOqnEDHtKZHh2bPyAX+un+QZC2V4cXfsEa7A39n3hSAO4wg== + dependencies: + "@sendgrid/mail" "6.4.0" + strapi-utils "3.6.5" + +strapi-provider-email-sendmail@3.6.5: + version "3.6.5" + resolved "https://npm-8ee.hidora.com/strapi-provider-email-sendmail/-/strapi-provider-email-sendmail-3.6.5.tgz#c5b092f399f279e15b5a37029122bb46843a5108" + integrity sha512-HwgvoKVwspCDhWCNNNj0CJNUX9rcXYl9cmlqaUHLZbOxV6ZY3hYPjEAjQFpPm23OeJy1PKQU9AyEuS/y7R1L4Q== + dependencies: + sendmail "^1.6.1" + strapi-utils "3.6.5" + strapi-provider-upload-local@3.6.3: version "3.6.3" resolved "https://npm-8ee.hidora.com/strapi-provider-upload-local/-/strapi-provider-upload-local-3.6.3.tgz#679612d27abbc22d2b505a945743fc88f9f29b8f" integrity sha512-U37or2XL3S02kMceARTTKtC9SGj8ko05l+K0PnWuLPSVVLUeOky13c5a1iFmndxtI3wmW5VP/0k/QTUAHa6hvg== -strapi-utils@3.0.0: - version "3.0.0" - resolved "https://npm-8ee.hidora.com/strapi-utils/-/strapi-utils-3.0.0.tgz#25412d4818b3dcbada2104fa1e3b3d1f05616041" - integrity sha512-khYrj7M3vNnSA/VI86EC7M6w/fvSILtGlODqEJ8CnmU5SAvzhf8Doym7J6u9J08jBcaH17YHQ42SnupHiCLDvg== - dependencies: - "@sindresorhus/slugify" "^0.11.0" - date-fns "^2.8.1" - lodash "4.17.12" - pino "^4.7.1" - pluralize "^7.0.0" - shelljs "^0.8.3" - yup "0.28.1" - strapi-utils@3.6.2: version "3.6.2" resolved "https://npm-8ee.hidora.com/strapi-utils/-/strapi-utils-3.6.2.tgz#2530295fe452db8a715df1f892f3dbed2db46338"

@@ -10628,6 +10995,18 @@ lodash "4.17.21"

pino "^4.7.1" pluralize "^8.0.0" yup "^0.28.2" + +strapi-utils@3.6.5: + version "3.6.5" + resolved "https://npm-8ee.hidora.com/strapi-utils/-/strapi-utils-3.6.5.tgz#782c510ea8bcc9278ddd99a000a24e6db7723f40" + integrity sha512-Z7mtsfxU5MOVxVBI+h9SffrRasr7qk4twfR5s06OWJ7+ov2o1xV+Hl5vLNZMn6hIBftHbNY/7kPSlC4XUfeLmg== + dependencies: + "@sindresorhus/slugify" "1.1.0" + date-fns "^2.19.0" + lodash "4.17.21" + pino "^4.7.1" + pluralize "^8.0.0" + yup "^0.32.9" strapi@3.6.3: version "3.6.3"

@@ -10849,6 +11228,11 @@ strip-json-comments@~2.0.1:

version "2.0.1" resolved "https://npm-8ee.hidora.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +striptags@^3.2.0: + version "3.2.0" + resolved "https://npm-8ee.hidora.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" + integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== style-loader@^0.23.1: version "0.23.1"

@@ -11893,19 +12277,6 @@ version "1.2.1"

resolved "https://npm-8ee.hidora.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== -yup@0.28.1: - version "0.28.1" - resolved "https://npm-8ee.hidora.com/yup/-/yup-0.28.1.tgz#60c0725be7057ed7a9ae61561333809332a63d47" - integrity sha512-xSHMZA7UyecSG/CCTDCtnYZMjBrYDR/C7hu0fMsZ6UcS/ngko4qCVFbw+CAmNtHlbItKkvQ3YXITODeTj/dUkw== - dependencies: - "@babel/runtime" "^7.0.0" - fn-name "~2.0.1" - lodash "^4.17.11" - lodash-es "^4.17.11" - property-expr "^1.5.0" - synchronous-promise "^2.0.6" - toposort "^2.0.2" - yup@0.29.3: version "0.29.3" resolved "https://npm-8ee.hidora.com/yup/-/yup-0.29.3.tgz#69a30fd3f1c19f5d9e31b1cf1c2b851ce8045fea"

@@ -11942,6 +12313,19 @@ lodash "^4.17.15"

lodash-es "^4.17.11" property-expr "^2.0.2" synchronous-promise "^2.0.10" + toposort "^2.0.2" + +yup@^0.32.9: + version "0.32.9" + resolved "https://npm-8ee.hidora.com/yup/-/yup-0.32.9.tgz#9367bec6b1b0e39211ecbca598702e106019d872" + integrity sha512-Ci1qN+i2H0XpY7syDQ0k5zKQ/DoxO0LzPg8PAR/X4Mpj6DqaeCoIYEEjDJwhArh3Fa7GWbQQVDZKeXYlSH4JMg== + dependencies: + "@babel/runtime" "^7.10.5" + "@types/lodash" "^4.14.165" + lodash "^4.17.20" + lodash-es "^4.17.15" + nanoclone "^0.2.1" + property-expr "^2.0.4" toposort "^2.0.2" zen-observable-ts@^0.8.21:
M frontend/containers/CreateEvent/Step1.jsfrontend/containers/CreateEvent/Step1.js

@@ -34,9 +34,11 @@ }, [name, email, emailIsValid, connected]);

const onNext = event => { if (event.preventDefault) event.preventDefault(); - const e = connected ? user.email : email; - const n = connected ? true : newsletter; - addToEvent({name, email: e, newsletter: n}); + addToEvent({ + name, + email: connected ? user.email : email, + newsletter: connected ? true : newsletter, + }); nextStep(); return false; };
M frontend/containers/CreateEvent/Step2.jsfrontend/containers/CreateEvent/Step2.js

@@ -27,7 +27,7 @@ const eventData = {date, address};

addToEvent(eventData); const result = await createEvent(eventData); if (!result) addToast(t('event.errors.cant_create')); - else router.push(`/e/${result.id}`); + else router.push(`/e/${result.uuid}`); setLoading(false); return false; };
M frontend/containers/EventBar/index.jsfrontend/containers/EventBar/index.js

@@ -91,12 +91,7 @@ id={(isEditing && 'EditEvent') || (detailsOpen && 'Details') || 'Menu'}

> <Toolbar> <div className={classes.name}> - <Link - href={''} - onClick={() => { - window.location.href = settings['about_link']; - }} - > + <Link href={settings?.['about_link'] || ''}> <img className={classes.logo} src="/assets/logo.svg" alt="Logo" /> </Link> <Typography variant="h6" noWrap id="MenuHeaderTitle">
M frontend/generated/graphql.tsxfrontend/generated/graphql.tsx

@@ -191,6 +191,32 @@ export enum Enum_Page_Type {

Tos = 'tos' } +export type EmailDesignerEmailTemplate = { + __typename?: 'EmailDesignerEmailTemplate'; + id: Scalars['ID']; + created_at: Scalars['DateTime']; + updated_at: Scalars['DateTime']; + design?: Maybe<Scalars['JSON']>; + name?: Maybe<Scalars['String']>; + subject?: Maybe<Scalars['String']>; + bodyHtml?: Maybe<Scalars['String']>; + bodyText?: Maybe<Scalars['String']>; + enabled?: Maybe<Scalars['Boolean']>; + tags?: Maybe<Scalars['JSON']>; +}; + +export type EmailTemplateInput = { + design?: Maybe<Scalars['JSON']>; + name?: Maybe<Scalars['String']>; + subject?: Maybe<Scalars['String']>; + bodyHtml?: Maybe<Scalars['String']>; + bodyText?: Maybe<Scalars['String']>; + enabled?: Maybe<Scalars['Boolean']>; + tags?: Maybe<Scalars['JSON']>; + created_by?: Maybe<Scalars['ID']>; + updated_by?: Maybe<Scalars['ID']>; +}; + export type Event = { __typename?: 'Event'; id: Scalars['ID'];

@@ -322,6 +348,7 @@ users?: Maybe<Array<Maybe<Scalars['ID']>>>;

uuid?: Maybe<Scalars['String']>; created_by?: Maybe<Scalars['ID']>; updated_by?: Maybe<Scalars['ID']>; + newsletter?: Maybe<Scalars['Boolean']>; }; export type FileInfoInput = {

@@ -374,7 +401,7 @@ };

-export type Morph = Dependency | Info | UsersPermissionsMe | UsersPermissionsMeRole | UsersPermissionsLoginPayload | UserPermissionsPasswordPayload | Car | CarConnection | CarAggregator | CarAggregatorSum | CarAggregatorAvg | CarAggregatorMin | CarAggregatorMax | CarGroupBy | CarConnectionId | CarConnectionCreated_At | CarConnectionUpdated_At | CarConnectionName | CarConnectionSeats | CarConnectionMeeting | CarConnectionDeparture | CarConnectionPhone_Number | CarConnectionDetails | CarConnectionEvent | CarConnectionPassengers | CreateCarPayload | UpdateCarPayload | DeleteCarPayload | Event | EventConnection | EventAggregator | EventGroupBy | EventConnectionId | EventConnectionCreated_At | EventConnectionUpdated_At | EventConnectionName | EventConnectionEmail | EventConnectionDate | EventConnectionAddress | EventConnectionPosition | EventConnectionWaiting_List | EventConnectionUuid | CreateEventPayload | UpdateEventPayload | DeleteEventPayload | Page | PageConnection | PageAggregator | PageGroupBy | PageConnectionId | PageConnectionCreated_At | PageConnectionUpdated_At | PageConnectionName | PageConnectionContent | PageConnectionType | CreatePagePayload | UpdatePagePayload | DeletePagePayload | Settings | UpdateSettingPayload | DeleteSettingPayload | UploadFile | UploadFileConnection | UploadFileAggregator | UploadFileAggregatorSum | UploadFileAggregatorAvg | UploadFileAggregatorMin | UploadFileAggregatorMax | UploadFileGroupBy | UploadFileConnectionId | UploadFileConnectionCreated_At | UploadFileConnectionUpdated_At | UploadFileConnectionName | UploadFileConnectionAlternativeText | UploadFileConnectionCaption | UploadFileConnectionWidth | UploadFileConnectionHeight | UploadFileConnectionFormats | UploadFileConnectionHash | UploadFileConnectionExt | UploadFileConnectionMime | UploadFileConnectionSize | UploadFileConnectionUrl | UploadFileConnectionPreviewUrl | UploadFileConnectionProvider | UploadFileConnectionProvider_Metadata | DeleteFilePayload | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsRoleConnection | UsersPermissionsRoleAggregator | UsersPermissionsRoleGroupBy | UsersPermissionsRoleConnectionId | UsersPermissionsRoleConnectionName | UsersPermissionsRoleConnectionDescription | UsersPermissionsRoleConnectionType | CreateRolePayload | UpdateRolePayload | DeleteRolePayload | UsersPermissionsUser | UsersPermissionsUserConnection | UsersPermissionsUserAggregator | UsersPermissionsUserGroupBy | UsersPermissionsUserConnectionId | UsersPermissionsUserConnectionCreated_At | UsersPermissionsUserConnectionUpdated_At | UsersPermissionsUserConnectionUsername | UsersPermissionsUserConnectionFirstName | UsersPermissionsUserConnectionLastName | UsersPermissionsUserConnectionEmail | UsersPermissionsUserConnectionProvider | UsersPermissionsUserConnectionConfirmed | UsersPermissionsUserConnectionBlocked | UsersPermissionsUserConnectionRole | CreateUserPayload | UpdateUserPayload | DeleteUserPayload; +export type Morph = Dependency | Info | UsersPermissionsMe | UsersPermissionsMeRole | UsersPermissionsLoginPayload | UserPermissionsPasswordPayload | Car | CarConnection | CarAggregator | CarAggregatorSum | CarAggregatorAvg | CarAggregatorMin | CarAggregatorMax | CarGroupBy | CarConnectionId | CarConnectionCreated_At | CarConnectionUpdated_At | CarConnectionName | CarConnectionSeats | CarConnectionMeeting | CarConnectionDeparture | CarConnectionPhone_Number | CarConnectionDetails | CarConnectionEvent | CarConnectionPassengers | CreateCarPayload | UpdateCarPayload | DeleteCarPayload | Event | EventConnection | EventAggregator | EventGroupBy | EventConnectionId | EventConnectionCreated_At | EventConnectionUpdated_At | EventConnectionName | EventConnectionEmail | EventConnectionDate | EventConnectionAddress | EventConnectionPosition | EventConnectionWaiting_List | EventConnectionUuid | CreateEventPayload | UpdateEventPayload | DeleteEventPayload | Page | PageConnection | PageAggregator | PageGroupBy | PageConnectionId | PageConnectionCreated_At | PageConnectionUpdated_At | PageConnectionName | PageConnectionContent | PageConnectionType | CreatePagePayload | UpdatePagePayload | DeletePagePayload | Settings | UpdateSettingPayload | DeleteSettingPayload | EmailDesignerEmailTemplate | UploadFile | UploadFileConnection | UploadFileAggregator | UploadFileAggregatorSum | UploadFileAggregatorAvg | UploadFileAggregatorMin | UploadFileAggregatorMax | UploadFileGroupBy | UploadFileConnectionId | UploadFileConnectionCreated_At | UploadFileConnectionUpdated_At | UploadFileConnectionName | UploadFileConnectionAlternativeText | UploadFileConnectionCaption | UploadFileConnectionWidth | UploadFileConnectionHeight | UploadFileConnectionFormats | UploadFileConnectionHash | UploadFileConnectionExt | UploadFileConnectionMime | UploadFileConnectionSize | UploadFileConnectionUrl | UploadFileConnectionPreviewUrl | UploadFileConnectionProvider | UploadFileConnectionProvider_Metadata | DeleteFilePayload | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsRoleConnection | UsersPermissionsRoleAggregator | UsersPermissionsRoleGroupBy | UsersPermissionsRoleConnectionId | UsersPermissionsRoleConnectionName | UsersPermissionsRoleConnectionDescription | UsersPermissionsRoleConnectionType | CreateRolePayload | UpdateRolePayload | DeleteRolePayload | UsersPermissionsUser | UsersPermissionsUserConnection | UsersPermissionsUserAggregator | UsersPermissionsUserGroupBy | UsersPermissionsUserConnectionId | UsersPermissionsUserConnectionCreated_At | UsersPermissionsUserConnectionUpdated_At | UsersPermissionsUserConnectionUsername | UsersPermissionsUserConnectionFirstName | UsersPermissionsUserConnectionLastName | UsersPermissionsUserConnectionEmail | UsersPermissionsUserConnectionProvider | UsersPermissionsUserConnectionConfirmed | UsersPermissionsUserConnectionBlocked | UsersPermissionsUserConnectionRole | CreateUserPayload | UpdateUserPayload | DeleteUserPayload; export type Mutation = { __typename?: 'Mutation';

@@ -1408,6 +1435,18 @@ created_by?: Maybe<Scalars['ID']>;

updated_by?: Maybe<Scalars['ID']>; }; +export type EditEmailTemplateInput = { + design?: Maybe<Scalars['JSON']>; + name?: Maybe<Scalars['String']>; + subject?: Maybe<Scalars['String']>; + bodyHtml?: Maybe<Scalars['String']>; + bodyText?: Maybe<Scalars['String']>; + enabled?: Maybe<Scalars['Boolean']>; + tags?: Maybe<Scalars['JSON']>; + created_by?: Maybe<Scalars['ID']>; + updated_by?: Maybe<Scalars['ID']>; +}; + export type EditEventInput = { name?: Maybe<Scalars['String']>; email?: Maybe<Scalars['String']>;

@@ -1690,6 +1729,7 @@ name: Scalars['String'];

email: Scalars['String']; date?: Maybe<Scalars['Date']>; address?: Maybe<Scalars['String']>; + newsletter?: Maybe<Scalars['Boolean']>; }>;

@@ -2112,9 +2152,9 @@ export type DeleteCarMutationHookResult = ReturnType<typeof useDeleteCarMutation>;

export type DeleteCarMutationResult = Apollo.MutationResult<DeleteCarMutation>; export type DeleteCarMutationOptions = Apollo.BaseMutationOptions<DeleteCarMutation, DeleteCarMutationVariables>; export const CreateEventDocument = gql` - mutation createEvent($name: String!, $email: String!, $date: Date, $address: String) { + mutation createEvent($name: String!, $email: String!, $date: Date, $address: String, $newsletter: Boolean) { createEvent( - input: {data: {name: $name, email: $email, date: $date, address: $address}} + input: {data: {name: $name, email: $email, date: $date, address: $address, newsletter: $newsletter}} ) { event { ...EventFields

@@ -2141,6 +2181,7 @@ * name: // value for 'name'

* email: // value for 'email' * date: // value for 'date' * address: // value for 'address' + * newsletter: // value for 'newsletter' * }, * }); */
M frontend/graphql/event.gqlfrontend/graphql/event.gql

@@ -24,9 +24,18 @@ $name: String!

$email: String! $date: Date $address: String + $newsletter: Boolean ) { createEvent( - input: {data: {name: $name, email: $email, date: $date, address: $address}} + input: { + data: { + name: $name + email: $email + date: $date + address: $address + newsletter: $newsletter + } + } ) { event { ...EventFields
M frontend/public/sw.js.mapfrontend/public/sw.js.map

@@ -1,1 +1,1 @@

-{"version":3,"file":"sw.js","sources":["../../../../../tmp/ddf820028714500c64f43f877ffaea3f/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({request, response, event, state}) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, {status: 200, statusText: 'OK', headers: response.headers}); } return response; } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGyI;EACzI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGAA,aAAa;EAUbC,IAAI,CAACC,WAAL;AAEAC,sBAAyB;AAIzBC,uBAA6B,CAAC,GAAD,EAAM,IAAIC,oBAAJ,CAAoC;EAAE,eAAY,WAAd;EAA2BC,EAAAA,OAAO,EAAE,CAAC;EAAEC,IAAAA,eAAe,EAAE,OAAO;EAACC,MAAAA,OAAD;EAAUC,MAAAA,QAAV;EAAoBC,MAAAA,KAApB;EAA2BC,MAAAA;EAA3B,KAAP,KAA6C;EAAE,UAAIF,QAAQ,IAAIA,QAAQ,CAACG,IAAT,KAAkB,gBAAlC,EAAoD;EAAE,eAAO,IAAIC,QAAJ,CAAaJ,QAAQ,CAACK,IAAtB,EAA4B;EAACC,UAAAA,MAAM,EAAE,GAAT;EAAcC,UAAAA,UAAU,EAAE,IAA1B;EAAgCC,UAAAA,OAAO,EAAER,QAAQ,CAACQ;EAAlD,SAA5B,CAAP;EAAiG;;EAAC,aAAOR,QAAP;EAAkB;EAA5O,GAAD;EAApC,CAApC,CAAN,EAAmU,KAAnU,CAA7B;AACAL,uBAA6B,CAAC,KAAD,EAAQ,IAAIc,mBAAJ,CAAmC;EAAE,eAAY,KAAd;EAAqBZ,EAAAA,OAAO,EAAE;EAA9B,CAAnC,CAAR,EAAgF,KAAhF,CAA7B;;"}+{"version":3,"file":"sw.js","sources":["../../../../../tmp/b9c75d3ac581c3676a4c8e2d847f75ca/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/home/tim/Projets/caroster/frontend/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({request, response, event, state}) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, {status: 200, statusText: 'OK', headers: response.headers}); } return response; } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGyI;EACzI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGAA,aAAa;EAUbC,IAAI,CAACC,WAAL;AAEAC,sBAAyB;AAIzBC,uBAA6B,CAAC,GAAD,EAAM,IAAIC,oBAAJ,CAAoC;EAAE,eAAY,WAAd;EAA2BC,EAAAA,OAAO,EAAE,CAAC;EAAEC,IAAAA,eAAe,EAAE,OAAO;EAACC,MAAAA,OAAD;EAAUC,MAAAA,QAAV;EAAoBC,MAAAA,KAApB;EAA2BC,MAAAA;EAA3B,KAAP,KAA6C;EAAE,UAAIF,QAAQ,IAAIA,QAAQ,CAACG,IAAT,KAAkB,gBAAlC,EAAoD;EAAE,eAAO,IAAIC,QAAJ,CAAaJ,QAAQ,CAACK,IAAtB,EAA4B;EAACC,UAAAA,MAAM,EAAE,GAAT;EAAcC,UAAAA,UAAU,EAAE,IAA1B;EAAgCC,UAAAA,OAAO,EAAER,QAAQ,CAACQ;EAAlD,SAA5B,CAAP;EAAiG;;EAAC,aAAOR,QAAP;EAAkB;EAA5O,GAAD;EAApC,CAApC,CAAN,EAAmU,KAAnU,CAA7B;AACAL,uBAA6B,CAAC,KAAD,EAAQ,IAAIc,mBAAJ,CAAmC;EAAE,eAAY,KAAd;EAAqBZ,EAAAA,OAAO,EAAE;EAA9B,CAAnC,CAAR,EAAgF,KAAhF,CAA7B;;"}