mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge branch 'master' of github.com:Human-Connection/Human-Connection into 2675-migrate-avatar-component-2
This commit is contained in:
commit
769c0cd105
@ -6,7 +6,6 @@ addons:
|
|||||||
- libgconf-2-4
|
- libgconf-2-4
|
||||||
snaps:
|
snaps:
|
||||||
- docker
|
- docker
|
||||||
- chromium
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- yarn global add wait-on
|
- yarn global add wait-on
|
||||||
|
|||||||
154
CHANGELOG.md
154
CHANGELOG.md
@ -4,6 +4,106 @@ All notable changes to this project will be documented in this file. Dates are d
|
|||||||
|
|
||||||
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
||||||
|
|
||||||
|
#### [v0.2.2](https://github.com/Human-Connection/Human-Connection/compare/v0.2.1...v0.2.2)
|
||||||
|
|
||||||
|
> 20 January 2020
|
||||||
|
|
||||||
|
- build(deps): bump metascraper-title from 5.10.3 to 5.10.5 in /backend [`#2835`](https://github.com/Human-Connection/Human-Connection/pull/2835)
|
||||||
|
- build(deps): bump metascraper-publisher in /backend [`#2836`](https://github.com/Human-Connection/Human-Connection/pull/2836)
|
||||||
|
- build(deps): bump metascraper-audio from 5.10.3 to 5.10.5 in /backend [`#2840`](https://github.com/Human-Connection/Human-Connection/pull/2840)
|
||||||
|
- build(deps): bump metascraper-author from 5.10.3 to 5.10.5 in /backend [`#2838`](https://github.com/Human-Connection/Human-Connection/pull/2838)
|
||||||
|
- build(deps): bump metascraper-url from 5.10.3 to 5.10.5 in /backend [`#2832`](https://github.com/Human-Connection/Human-Connection/pull/2832)
|
||||||
|
- build(deps): bump metascraper-lang from 5.10.3 to 5.10.5 in /backend [`#2831`](https://github.com/Human-Connection/Human-Connection/pull/2831)
|
||||||
|
- refactor(modules): Various import fixes [`#2802`](https://github.com/Human-Connection/Human-Connection/pull/2802)
|
||||||
|
- build(deps): bump metascraper-description from 5.10.3 to 5.10.5 in /backend [`#2839`](https://github.com/Human-Connection/Human-Connection/pull/2839)
|
||||||
|
- build(deps-dev): bump @storybook/addon-notes from 5.3.5 to 5.3.6 in /webapp [`#2834`](https://github.com/Human-Connection/Human-Connection/pull/2834)
|
||||||
|
- build(deps): bump metascraper-youtube from 5.10.3 to 5.10.5 in /backend [`#2833`](https://github.com/Human-Connection/Human-Connection/pull/2833)
|
||||||
|
- build(deps): bump metascraper from 5.10.3 to 5.10.5 in /backend [`#2830`](https://github.com/Human-Connection/Human-Connection/pull/2830)
|
||||||
|
- build(deps): bump metascraper-soundcloud from 5.10.3 to 5.10.5 in /backend [`#2829`](https://github.com/Human-Connection/Human-Connection/pull/2829)
|
||||||
|
- fix(translations): Remove duplicate and mistranslated item from code of conduct [`#2725`](https://github.com/Human-Connection/Human-Connection/pull/2725)
|
||||||
|
- build(deps-dev): bump @storybook/addon-a11y from 5.3.3 to 5.3.6 in /webapp [`#2820`](https://github.com/Human-Connection/Human-Connection/pull/2820)
|
||||||
|
- build(deps): bump metascraper from 5.10.2 to 5.10.3 in /backend [`#2808`](https://github.com/Human-Connection/Human-Connection/pull/2808)
|
||||||
|
- build(deps-dev): bump @storybook/vue from 5.3.3 to 5.3.6 in /webapp [`#2819`](https://github.com/Human-Connection/Human-Connection/pull/2819)
|
||||||
|
- build(deps): bump faker from `9fd8d7d` to `3b2fa4a` in /backend [`#2803`](https://github.com/Human-Connection/Human-Connection/pull/2803)
|
||||||
|
- build(deps-dev): bump faker from `9fd8d7d` to `3b2fa4a` [`#2804`](https://github.com/Human-Connection/Human-Connection/pull/2804)
|
||||||
|
- build(deps-dev): bump @storybook/addon-a11y in /webapp [`#2809`](https://github.com/Human-Connection/Human-Connection/pull/2809)
|
||||||
|
- build(deps): bump uuid from 3.3.3 to 3.4.0 in /backend [`#2810`](https://github.com/Human-Connection/Human-Connection/pull/2810)
|
||||||
|
- build(deps): bump metascraper-image from 5.9.5 to 5.10.3 in /backend [`#2811`](https://github.com/Human-Connection/Human-Connection/pull/2811)
|
||||||
|
- build(deps-dev): bump node-sass from 4.13.0 to 4.13.1 in /webapp [`#2812`](https://github.com/Human-Connection/Human-Connection/pull/2812)
|
||||||
|
- build(deps): bump metascraper-audio from 5.9.5 to 5.10.3 in /backend [`#2813`](https://github.com/Human-Connection/Human-Connection/pull/2813)
|
||||||
|
- build(deps): bump metascraper-soundcloud in /backend [`#2815`](https://github.com/Human-Connection/Human-Connection/pull/2815)
|
||||||
|
- build(deps-dev): bump @storybook/addon-notes in /webapp [`#2816`](https://github.com/Human-Connection/Human-Connection/pull/2816)
|
||||||
|
- build(deps-dev): bump @storybook/addon-actions from 5.3.3 to 5.3.5 in /webapp [`#2807`](https://github.com/Human-Connection/Human-Connection/pull/2807)
|
||||||
|
- build(deps): bump metascraper-description from 5.9.5 to 5.10.3 in /backend [`#2806`](https://github.com/Human-Connection/Human-Connection/pull/2806)
|
||||||
|
- build(deps): bump mustache from 3.2.1 to 4.0.0 in /backend [`#2805`](https://github.com/Human-Connection/Human-Connection/pull/2805)
|
||||||
|
- 🍰 feat(webapp): Display deployed version in footer [`#2728`](https://github.com/Human-Connection/Human-Connection/pull/2728)
|
||||||
|
- fix: cypress breaks locally in login step [`#2776`](https://github.com/Human-Connection/Human-Connection/pull/2776)
|
||||||
|
- build(deps-dev): bump @vue/test-utils from 1.0.0-beta.29 to 1.0.0-beta.30 in /webapp [`#2378`](https://github.com/Human-Connection/Human-Connection/pull/2378)
|
||||||
|
- build(deps): bump metascraper-youtube from 5.9.5 to 5.10.3 in /backend [`#2794`](https://github.com/Human-Connection/Human-Connection/pull/2794)
|
||||||
|
- build(deps): bump metascraper-video from 5.9.5 to 5.10.3 in /backend [`#2795`](https://github.com/Human-Connection/Human-Connection/pull/2795)
|
||||||
|
- build(deps): bump metascraper-logo from 5.9.5 to 5.10.3 in /backend [`#2796`](https://github.com/Human-Connection/Human-Connection/pull/2796)
|
||||||
|
- refactor(styleguide): improve emotion buttons and header responsiveness [`#2582`](https://github.com/Human-Connection/Human-Connection/pull/2582)
|
||||||
|
- build(deps): bump metascraper-url from 5.9.5 to 5.10.3 in /backend [`#2793`](https://github.com/Human-Connection/Human-Connection/pull/2793)
|
||||||
|
- build(deps): bump metascraper-author from 5.9.5 to 5.10.3 in /backend [`#2789`](https://github.com/Human-Connection/Human-Connection/pull/2789)
|
||||||
|
- build(deps): bump metascraper-lang from 5.9.5 to 5.10.3 in /backend [`#2790`](https://github.com/Human-Connection/Human-Connection/pull/2790)
|
||||||
|
- build(deps): bump metascraper-publisher from 5.9.5 to 5.10.3 in /backend [`#2792`](https://github.com/Human-Connection/Human-Connection/pull/2792)
|
||||||
|
- build(deps): bump metascraper-title from 5.9.5 to 5.10.3 in /backend [`#2791`](https://github.com/Human-Connection/Human-Connection/pull/2791)
|
||||||
|
- build(deps): bump @sentry/node from 5.11.0 to 5.11.1 in /backend [`#2788`](https://github.com/Human-Connection/Human-Connection/pull/2788)
|
||||||
|
- build(deps): bump metascraper-date from 5.9.5 to 5.10.3 in /backend [`#2787`](https://github.com/Human-Connection/Human-Connection/pull/2787)
|
||||||
|
- build(deps-dev): bump @babel/node from 7.8.0 to 7.8.3 in /backend [`#2754`](https://github.com/Human-Connection/Human-Connection/pull/2754)
|
||||||
|
- refactor(styleguide): migrate and redesign buttons [`#2562`](https://github.com/Human-Connection/Human-Connection/pull/2562)
|
||||||
|
- build(deps-dev): bump @babel/core from 7.8.0 to 7.8.3 in /backend [`#2760`](https://github.com/Human-Connection/Human-Connection/pull/2760)
|
||||||
|
- build(deps-dev): bump @storybook/addon-actions from 5.3.2 to 5.3.3 in /webapp [`#2782`](https://github.com/Human-Connection/Human-Connection/pull/2782)
|
||||||
|
- build(deps-dev): bump sass-loader from 8.0.0 to 8.0.2 in /webapp [`#2781`](https://github.com/Human-Connection/Human-Connection/pull/2781)
|
||||||
|
- build(deps-dev): bump @babel/plugin-syntax-dynamic-import from 7.8.0 to 7.8.3 in /webapp [`#2780`](https://github.com/Human-Connection/Human-Connection/pull/2780)
|
||||||
|
- build(deps-dev): bump @storybook/addon-a11y from 5.3.2 to 5.3.3 in /webapp [`#2779`](https://github.com/Human-Connection/Human-Connection/pull/2779)
|
||||||
|
- build(deps): bump metascraper from 5.9.5 to 5.10.2 in /backend [`#2778`](https://github.com/Human-Connection/Human-Connection/pull/2778)
|
||||||
|
- build(deps-dev): bump @babel/preset-env from 7.7.7 to 7.8.3 in /webapp [`#2767`](https://github.com/Human-Connection/Human-Connection/pull/2767)
|
||||||
|
- build(deps-dev): bump @babel/plugin-proposal-throw-expressions from 7.8.0 to 7.8.3 in /backend [`#2757`](https://github.com/Human-Connection/Human-Connection/pull/2757)
|
||||||
|
- build(deps-dev): bump @storybook/vue from 5.3.1 to 5.3.3 in /webapp [`#2772`](https://github.com/Human-Connection/Human-Connection/pull/2772)
|
||||||
|
- build(deps-dev): bump @babel/preset-env from 7.8.2 to 7.8.3 [`#2758`](https://github.com/Human-Connection/Human-Connection/pull/2758)
|
||||||
|
- build(deps-dev): bump eslint-plugin-import from 2.19.1 to 2.20.0 in /webapp [`#2748`](https://github.com/Human-Connection/Human-Connection/pull/2748)
|
||||||
|
- build(deps-dev): bump @storybook/addon-notes from 5.3.1 to 5.3.3 in /webapp [`#2771`](https://github.com/Human-Connection/Human-Connection/pull/2771)
|
||||||
|
- build(deps-dev): bump @babel/core from 7.7.7 to 7.8.3 in /webapp [`#2769`](https://github.com/Human-Connection/Human-Connection/pull/2769)
|
||||||
|
- build(deps-dev): bump @babel/register from 7.8.0 to 7.8.3 [`#2764`](https://github.com/Human-Connection/Human-Connection/pull/2764)
|
||||||
|
- build(deps-dev): bump @babel/preset-env from 7.8.2 to 7.8.3 in /backend [`#2755`](https://github.com/Human-Connection/Human-Connection/pull/2755)
|
||||||
|
- build(deps-dev): bump eslint-plugin-jest from 23.3.0 to 23.6.0 in /webapp [`#2768`](https://github.com/Human-Connection/Human-Connection/pull/2768)
|
||||||
|
- build(deps-dev): bump @babel/cli from 7.8.0 to 7.8.3 in /backend [`#2763`](https://github.com/Human-Connection/Human-Connection/pull/2763)
|
||||||
|
- build(deps-dev): bump cypress-cucumber-preprocessor from 1.19.0 to 2.0.1 [`#2761`](https://github.com/Human-Connection/Human-Connection/pull/2761)
|
||||||
|
- build(deps-dev): bump @storybook/addon-a11y from 5.2.8 to 5.3.2 in /webapp [`#2759`](https://github.com/Human-Connection/Human-Connection/pull/2759)
|
||||||
|
- build(deps-dev): bump @babel/core from 7.8.0 to 7.8.3 [`#2756`](https://github.com/Human-Connection/Human-Connection/pull/2756)
|
||||||
|
- build(deps-dev): bump @babel/register from 7.8.0 to 7.8.3 in /backend [`#2753`](https://github.com/Human-Connection/Human-Connection/pull/2753)
|
||||||
|
- build(deps): [security] bump serialize-javascript from 2.1.0 to 2.1.2 in /webapp [`#2752`](https://github.com/Human-Connection/Human-Connection/pull/2752)
|
||||||
|
- build(deps-dev): bump @babel/core from 7.7.7 to 7.8.0 in /backend [`#2743`](https://github.com/Human-Connection/Human-Connection/pull/2743)
|
||||||
|
- build(deps-dev): bump @storybook/addon-actions from 5.2.8 to 5.3.2 in /webapp [`#2751`](https://github.com/Human-Connection/Human-Connection/pull/2751)
|
||||||
|
- build(deps-dev): bump @babel/register from 7.7.7 to 7.8.0 in /backend [`#2735`](https://github.com/Human-Connection/Human-Connection/pull/2735)
|
||||||
|
- build(deps-dev): bump @babel/plugin-syntax-dynamic-import from 7.7.4 to 7.8.0 in /webapp [`#2746`](https://github.com/Human-Connection/Human-Connection/pull/2746)
|
||||||
|
- build(deps-dev): bump @babel/preset-env from 7.7.7 to 7.8.2 in /backend [`#2739`](https://github.com/Human-Connection/Human-Connection/pull/2739)
|
||||||
|
- build(deps-dev): bump @babel/cli from 7.7.7 to 7.8.0 in /backend [`#2744`](https://github.com/Human-Connection/Human-Connection/pull/2744)
|
||||||
|
- Issues marked as bounty never become stale [`#2726`](https://github.com/Human-Connection/Human-Connection/pull/2726)
|
||||||
|
- build(deps-dev): bump css-loader from 3.4.1 to 3.4.2 in /webapp [`#2747`](https://github.com/Human-Connection/Human-Connection/pull/2747)
|
||||||
|
- build(deps-dev): bump @storybook/addon-notes from 5.2.8 to 5.3.1 in /webapp [`#2742`](https://github.com/Human-Connection/Human-Connection/pull/2742)
|
||||||
|
- build(deps-dev): bump @babel/plugin-proposal-throw-expressions from 7.7.4 to 7.8.0 in /backend [`#2741`](https://github.com/Human-Connection/Human-Connection/pull/2741)
|
||||||
|
- build(deps-dev): bump eslint-plugin-import from 2.19.1 to 2.20.0 in /backend [`#2737`](https://github.com/Human-Connection/Human-Connection/pull/2737)
|
||||||
|
- build(deps-dev): bump @babel/preset-env from 7.7.7 to 7.8.2 [`#2732`](https://github.com/Human-Connection/Human-Connection/pull/2732)
|
||||||
|
- build(deps): bump @nuxtjs/axios from 5.9.2 to 5.9.3 in /webapp [`#2740`](https://github.com/Human-Connection/Human-Connection/pull/2740)
|
||||||
|
- build(deps-dev): bump @storybook/vue from 5.2.8 to 5.3.1 in /webapp [`#2738`](https://github.com/Human-Connection/Human-Connection/pull/2738)
|
||||||
|
- build(deps-dev): bump cypress from 3.8.1 to 3.8.2 [`#2734`](https://github.com/Human-Connection/Human-Connection/pull/2734)
|
||||||
|
- build(deps-dev): bump @babel/node from 7.7.7 to 7.8.0 in /backend [`#2733`](https://github.com/Human-Connection/Human-Connection/pull/2733)
|
||||||
|
- build(deps-dev): bump eslint-plugin-jest from 23.3.0 to 23.6.0 in /backend [`#2731`](https://github.com/Human-Connection/Human-Connection/pull/2731)
|
||||||
|
- build(deps-dev): bump @babel/core from 7.7.7 to 7.8.0 [`#2730`](https://github.com/Human-Connection/Human-Connection/pull/2730)
|
||||||
|
- build(deps-dev): bump @babel/register from 7.7.7 to 7.8.0 [`#2729`](https://github.com/Human-Connection/Human-Connection/pull/2729)
|
||||||
|
- build(deps): bump nuxt from 2.10.2 to 2.11.0 in /webapp [`#2552`](https://github.com/Human-Connection/Human-Connection/pull/2552)
|
||||||
|
- Update yarn.lock after dependabot update [`#2724`](https://github.com/Human-Connection/Human-Connection/pull/2724)
|
||||||
|
- build(deps): bump @nuxtjs/axios from 5.8.0 to 5.9.2 in /webapp [`#2657`](https://github.com/Human-Connection/Human-Connection/pull/2657)
|
||||||
|
- Update to version 0.2.1 [`#2722`](https://github.com/Human-Connection/Human-Connection/pull/2722)
|
||||||
|
- refactor(modules): Various import fixes [`#2773`](https://github.com/Human-Connection/Human-Connection/issues/2773) [`#2774`](https://github.com/Human-Connection/Human-Connection/issues/2774)
|
||||||
|
- feat(webapp): Display deployed version in footer [`#1831`](https://github.com/Human-Connection/Human-Connection/issues/1831)
|
||||||
|
- fix #2229 [`#2229`](https://github.com/Human-Connection/Human-Connection/issues/2229)
|
||||||
|
- build(deps-dev): bump @storybook/addon-actions in /webapp [`d0124bf`](https://github.com/Human-Connection/Human-Connection/commit/d0124bf2b4b4a641c9af76d6d2f7b5aa075ade90)
|
||||||
|
- refactor and use base-button in SearchableInput [`fcbe612`](https://github.com/Human-Connection/Human-Connection/commit/fcbe6125f35c0dd23e2ba1ae63f539f5ef5990ea)
|
||||||
|
- Update `vue-test-utils` and follow updated docs [`8c29ad9`](https://github.com/Human-Connection/Human-Connection/commit/8c29ad947b72fbaa173d070221cdf35b7ab6aaa5)
|
||||||
|
|
||||||
#### [v0.2.1](https://github.com/Human-Connection/Human-Connection/compare/v0.2.0...v0.2.1)
|
#### [v0.2.1](https://github.com/Human-Connection/Human-Connection/compare/v0.2.0...v0.2.1)
|
||||||
|
|
||||||
> 10 January 2020
|
> 10 January 2020
|
||||||
@ -107,16 +207,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- build(deps): bump metascraper-publisher from 5.8.7 to 5.8.12 in /backend [`#2592`](https://github.com/Human-Connection/Human-Connection/pull/2592)
|
- build(deps): bump metascraper-publisher from 5.8.7 to 5.8.12 in /backend [`#2592`](https://github.com/Human-Connection/Human-Connection/pull/2592)
|
||||||
- build(deps-dev): bump @babel/preset-env from 7.7.6 to 7.7.7 in /backend [`#2568`](https://github.com/Human-Connection/Human-Connection/pull/2568)
|
- build(deps-dev): bump @babel/preset-env from 7.7.6 to 7.7.7 in /backend [`#2568`](https://github.com/Human-Connection/Human-Connection/pull/2568)
|
||||||
- Fix imageAspectRatio set to null UpdatePost [`#2588`](https://github.com/Human-Connection/Human-Connection/pull/2588)
|
- Fix imageAspectRatio set to null UpdatePost [`#2588`](https://github.com/Human-Connection/Human-Connection/pull/2588)
|
||||||
- Update to version 0.2.0 [`#2584`](https://github.com/Human-Connection/Human-Connection/pull/2584)
|
|
||||||
- fixes #2659 [`#2659`](https://github.com/Human-Connection/Human-Connection/issues/2659)
|
- fixes #2659 [`#2659`](https://github.com/Human-Connection/Human-Connection/issues/2659)
|
||||||
- build(deps-dev): bump storybook-design-token in /webapp [`88d39c4`](https://github.com/Human-Connection/Human-Connection/commit/88d39c4a427cb86527b06201f3f5e96d53ac09a0)
|
- build(deps-dev): bump storybook-design-token in /webapp [`88d39c4`](https://github.com/Human-Connection/Human-Connection/commit/88d39c4a427cb86527b06201f3f5e96d53ac09a0)
|
||||||
|
- manage button states and color schemes with mixin [`1b9249c`](https://github.com/Human-Connection/Human-Connection/commit/1b9249c685e34eb2e94b31ee0ec22421c6aa6a73)
|
||||||
- Specs for Searches [`bc3aa51`](https://github.com/Human-Connection/Human-Connection/commit/bc3aa519d0e7a6e0242ecd37d611fd1a3df385d0)
|
- Specs for Searches [`bc3aa51`](https://github.com/Human-Connection/Human-Connection/commit/bc3aa519d0e7a6e0242ecd37d611fd1a3df385d0)
|
||||||
- build(deps): bump apollo-server-express in /backend [`84df7b5`](https://github.com/Human-Connection/Human-Connection/commit/84df7b5a0a4845ab44d19946d877aef79691d38e)
|
|
||||||
|
|
||||||
#### [v0.2.0](https://github.com/Human-Connection/Human-Connection/compare/v0.1.13...v0.2.0)
|
#### [v0.2.0](https://github.com/Human-Connection/Human-Connection/compare/v0.1.13...v0.2.0)
|
||||||
|
|
||||||
> 19 December 2019
|
> 19 December 2019
|
||||||
|
|
||||||
|
- Update to version 0.2.0 [`#2584`](https://github.com/Human-Connection/Human-Connection/pull/2584)
|
||||||
- build(deps): bump metascraper-image from 5.8.10 to 5.8.12 in /backend [`#2556`](https://github.com/Human-Connection/Human-Connection/pull/2556)
|
- build(deps): bump metascraper-image from 5.8.10 to 5.8.12 in /backend [`#2556`](https://github.com/Human-Connection/Human-Connection/pull/2556)
|
||||||
- build(deps-dev): bump @babel/core from 7.7.5 to 7.7.7 [`#2569`](https://github.com/Human-Connection/Human-Connection/pull/2569)
|
- build(deps-dev): bump @babel/core from 7.7.5 to 7.7.7 [`#2569`](https://github.com/Human-Connection/Human-Connection/pull/2569)
|
||||||
- build(deps-dev): bump @babel/cli from 7.7.5 to 7.7.7 in /backend [`#2576`](https://github.com/Human-Connection/Human-Connection/pull/2576)
|
- build(deps-dev): bump @babel/cli from 7.7.5 to 7.7.7 in /backend [`#2576`](https://github.com/Human-Connection/Human-Connection/pull/2576)
|
||||||
@ -203,7 +303,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Fix search by adding result id [`ebc5cf3`](https://github.com/Human-Connection/Human-Connection/commit/ebc5cf392d92acf3a9e22c8967d02ea2cf6fd7fb)
|
- Fix search by adding result id [`ebc5cf3`](https://github.com/Human-Connection/Human-Connection/commit/ebc5cf392d92acf3a9e22c8967d02ea2cf6fd7fb)
|
||||||
- Write test/refactor tests/resolvers/middleware [`d375ebe`](https://github.com/Human-Connection/Human-Connection/commit/d375ebe7d90e3251b17f59ffba8fb1470923ebe8)
|
- Write test/refactor tests/resolvers/middleware [`d375ebe`](https://github.com/Human-Connection/Human-Connection/commit/d375ebe7d90e3251b17f59ffba8fb1470923ebe8)
|
||||||
|
|
||||||
#### [v0.1.12](https://github.com/Human-Connection/Human-Connection/compare/v0.1.10...v0.1.12)
|
#### [v0.1.12](https://github.com/Human-Connection/Human-Connection/compare/v0.1.11...v0.1.12)
|
||||||
|
|
||||||
> 10 December 2019
|
> 10 December 2019
|
||||||
|
|
||||||
@ -313,6 +413,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- 2329 normalize emails in login form [`#2330`](https://github.com/Human-Connection/Human-Connection/pull/2330)
|
- 2329 normalize emails in login form [`#2330`](https://github.com/Human-Connection/Human-Connection/pull/2330)
|
||||||
- Lokalise: Translations update [`#2327`](https://github.com/Human-Connection/Human-Connection/pull/2327)
|
- Lokalise: Translations update [`#2327`](https://github.com/Human-Connection/Human-Connection/pull/2327)
|
||||||
- Changed translation must change test :( [`#2310`](https://github.com/Human-Connection/Human-Connection/pull/2310)
|
- Changed translation must change test :( [`#2310`](https://github.com/Human-Connection/Human-Connection/pull/2310)
|
||||||
|
- Merge pull request #2443 from Human-Connection/2237-longer-comments [`#2237`](https://github.com/Human-Connection/Human-Connection/issues/2237)
|
||||||
|
- fix #2329: Normalize email on login in the backend [`#2329`](https://github.com/Human-Connection/Human-Connection/issues/2329)
|
||||||
|
- Lokalise: update of webapp/locales/ru.json [`3e52ee0`](https://github.com/Human-Connection/Human-Connection/commit/3e52ee090c88c357b796895370d126f8bb5529f0)
|
||||||
|
- Lokalise: update of webapp/locales/de.json [`d2b3396`](https://github.com/Human-Connection/Human-Connection/commit/d2b3396e9b44bac0e767ee970e083d1847426b26)
|
||||||
|
- Lokalise: update of webapp/locales/pt.json [`bcd9f0e`](https://github.com/Human-Connection/Human-Connection/commit/bcd9f0ec93cfab2661589d72a3b3f38455ec4d51)
|
||||||
|
|
||||||
|
#### [v0.1.11](https://github.com/Human-Connection/Human-Connection/compare/v0.1.10...v0.1.11)
|
||||||
|
|
||||||
|
> 22 November 2019
|
||||||
|
|
||||||
- build(deps-dev): bump apollo-server-testing from 2.9.9 to 2.9.12 in /backend [`#2318`](https://github.com/Human-Connection/Human-Connection/pull/2318)
|
- build(deps-dev): bump apollo-server-testing from 2.9.9 to 2.9.12 in /backend [`#2318`](https://github.com/Human-Connection/Human-Connection/pull/2318)
|
||||||
- build(deps-dev): bump fuse.js from 3.4.5 to 3.4.6 in /webapp [`#2314`](https://github.com/Human-Connection/Human-Connection/pull/2314)
|
- build(deps-dev): bump fuse.js from 3.4.5 to 3.4.6 in /webapp [`#2314`](https://github.com/Human-Connection/Human-Connection/pull/2314)
|
||||||
- build(deps-dev): bump eslint-config-prettier from 6.6.0 to 6.7.0 in /webapp [`#2302`](https://github.com/Human-Connection/Human-Connection/pull/2302)
|
- build(deps-dev): bump eslint-config-prettier from 6.6.0 to 6.7.0 in /webapp [`#2302`](https://github.com/Human-Connection/Human-Connection/pull/2302)
|
||||||
@ -362,13 +472,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- build(deps-dev): bump eslint from 5.16.0 to 6.6.0 in /webapp [`#2205`](https://github.com/Human-Connection/Human-Connection/pull/2205)
|
- build(deps-dev): bump eslint from 5.16.0 to 6.6.0 in /webapp [`#2205`](https://github.com/Human-Connection/Human-Connection/pull/2205)
|
||||||
- Add locale to undefined to null [`#2233`](https://github.com/Human-Connection/Human-Connection/pull/2233)
|
- Add locale to undefined to null [`#2233`](https://github.com/Human-Connection/Human-Connection/pull/2233)
|
||||||
- Update to version 0.1.10 [`#2231`](https://github.com/Human-Connection/Human-Connection/pull/2231)
|
- Update to version 0.1.10 [`#2231`](https://github.com/Human-Connection/Human-Connection/pull/2231)
|
||||||
- Merge pull request #2443 from Human-Connection/2237-longer-comments [`#2237`](https://github.com/Human-Connection/Human-Connection/issues/2237)
|
|
||||||
- fix #2329: Normalize email on login in the backend [`#2329`](https://github.com/Human-Connection/Human-Connection/issues/2329)
|
|
||||||
- Fix #2294 [`#2294`](https://github.com/Human-Connection/Human-Connection/issues/2294)
|
- Fix #2294 [`#2294`](https://github.com/Human-Connection/Human-Connection/issues/2294)
|
||||||
- Merge pull request #2078 from Human-Connection/fix-2042-back-link [`#2042`](https://github.com/Human-Connection/Human-Connection/issues/2042)
|
- Merge pull request #2078 from Human-Connection/fix-2042-back-link [`#2042`](https://github.com/Human-Connection/Human-Connection/issues/2042)
|
||||||
- Move components to components/features [`2357028`](https://github.com/Human-Connection/Human-Connection/commit/235702867d97b44dac37f8059f9194e23ba7f47d)
|
- Tell github-linguists to ignore snapshots [`978347b`](https://github.com/Human-Connection/Human-Connection/commit/978347ba7b5a6aa1bc915ada972ffffa2816d37c)
|
||||||
- Basic Search Is Working For Users And Posts [`72e4d0a`](https://github.com/Human-Connection/Human-Connection/commit/72e4d0abbcb9abab07f3fd12876453eb1de5da4c)
|
- Lokalise: update of webapp/locales/ru.json [`906e851`](https://github.com/Human-Connection/Human-Connection/commit/906e8518bf060134150187fb1574ac50ffd502f6)
|
||||||
- Add missing unit tests/refactor code [`b364065`](https://github.com/Human-Connection/Human-Connection/commit/b3640659bb608cc34edc6f2aca350f07dd2b9ce6)
|
- set up global localVue [`77f4810`](https://github.com/Human-Connection/Human-Connection/commit/77f4810ddc963386bc68d3e8a5e078ef4cf270b2)
|
||||||
|
|
||||||
#### [v0.1.10](https://github.com/Human-Connection/Human-Connection/compare/v0.1.9...v0.1.10)
|
#### [v0.1.10](https://github.com/Human-Connection/Human-Connection/compare/v0.1.9...v0.1.10)
|
||||||
|
|
||||||
@ -428,8 +536,8 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Update feature template [`#2116`](https://github.com/Human-Connection/Human-Connection/pull/2116)
|
- Update feature template [`#2116`](https://github.com/Human-Connection/Human-Connection/pull/2116)
|
||||||
- Update to version 0.1.9 [`#2114`](https://github.com/Human-Connection/Human-Connection/pull/2114)
|
- Update to version 0.1.9 [`#2114`](https://github.com/Human-Connection/Human-Connection/pull/2114)
|
||||||
- remove package-lock.json [`3cf3c31`](https://github.com/Human-Connection/Human-Connection/commit/3cf3c31808dc6ae59fb9c6ec33e9e178c5556438)
|
- remove package-lock.json [`3cf3c31`](https://github.com/Human-Connection/Human-Connection/commit/3cf3c31808dc6ae59fb9c6ec33e9e178c5556438)
|
||||||
- Extract AvatarMenu into its own component [`994a0b0`](https://github.com/Human-Connection/Human-Connection/commit/994a0b049d1803784d9c06383872f1c9e33095a0)
|
- add current file [`26c0d4d`](https://github.com/Human-Connection/Human-Connection/commit/26c0d4d83e4418a2378e05b66b6b47461f82735f)
|
||||||
- Add notifications page with Notifications in table [`7cdc12f`](https://github.com/Human-Connection/Human-Connection/commit/7cdc12f4b9943062e15a874dd39f8a50142b6c61)
|
- Finish portuguese translations [`15c671c`](https://github.com/Human-Connection/Human-Connection/commit/15c671c4a8aae86317896ca30601389504bce9e1)
|
||||||
|
|
||||||
#### [v0.1.9](https://github.com/Human-Connection/Human-Connection/compare/v0.1.8...v0.1.9)
|
#### [v0.1.9](https://github.com/Human-Connection/Human-Connection/compare/v0.1.8...v0.1.9)
|
||||||
|
|
||||||
@ -497,9 +605,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- first implementation [`aeae72f`](https://github.com/Human-Connection/Human-Connection/commit/aeae72f6918861aa2a4c64d0b32c847d9e857e93)
|
- first implementation [`aeae72f`](https://github.com/Human-Connection/Human-Connection/commit/aeae72f6918861aa2a4c64d0b32c847d9e857e93)
|
||||||
- build(deps-dev): bump eslint-plugin-jest in /backend [`6c1bd53`](https://github.com/Human-Connection/Human-Connection/commit/6c1bd535ac482eb0a05d21e227a476800717a19e)
|
- build(deps-dev): bump eslint-plugin-jest in /backend [`6c1bd53`](https://github.com/Human-Connection/Human-Connection/commit/6c1bd535ac482eb0a05d21e227a476800717a19e)
|
||||||
|
|
||||||
#### [v0.1.8](https://github.com/Human-Connection/Human-Connection/compare/0.1.7...v0.1.8)
|
#### [v0.1.8](https://github.com/Human-Connection/Human-Connection/compare/v0.1.7...v0.1.8)
|
||||||
|
|
||||||
> 25 October 2019
|
> 24 October 2019
|
||||||
|
|
||||||
- add FAQ _blank-href in Footer [`#2028`](https://github.com/Human-Connection/Human-Connection/pull/2028)
|
- add FAQ _blank-href in Footer [`#2028`](https://github.com/Human-Connection/Human-Connection/pull/2028)
|
||||||
- fix: Don't attempt to save locale if not authenticated [`#2025`](https://github.com/Human-Connection/Human-Connection/pull/2025)
|
- fix: Don't attempt to save locale if not authenticated [`#2025`](https://github.com/Human-Connection/Human-Connection/pull/2025)
|
||||||
@ -515,11 +623,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- build(deps-dev): bump @storybook/addon-a11y from 5.2.4 to 5.2.5 in /webapp [`#1989`](https://github.com/Human-Connection/Human-Connection/pull/1989)
|
- build(deps-dev): bump @storybook/addon-a11y from 5.2.4 to 5.2.5 in /webapp [`#1989`](https://github.com/Human-Connection/Human-Connection/pull/1989)
|
||||||
- build(deps-dev): bump @vue/cli-shared-utils from 4.0.4 to 4.0.5 in /webapp [`#2002`](https://github.com/Human-Connection/Human-Connection/pull/2002)
|
- build(deps-dev): bump @vue/cli-shared-utils from 4.0.4 to 4.0.5 in /webapp [`#2002`](https://github.com/Human-Connection/Human-Connection/pull/2002)
|
||||||
- Update to version 0.1.7 [`#2015`](https://github.com/Human-Connection/Human-Connection/pull/2015)
|
- Update to version 0.1.7 [`#2015`](https://github.com/Human-Connection/Human-Connection/pull/2015)
|
||||||
- Update to version 0.1.8 [`d45264b`](https://github.com/Human-Connection/Human-Connection/commit/d45264b3afa1557c2205e7ca1b77c778ee37ab5a)
|
|
||||||
- build(deps): bump @nuxtjs/apollo in /webapp [`26c21b5`](https://github.com/Human-Connection/Human-Connection/commit/26c21b5b76c96206d98ff6bbfdbd1ca973ffcd4f)
|
- build(deps): bump @nuxtjs/apollo in /webapp [`26c21b5`](https://github.com/Human-Connection/Human-Connection/commit/26c21b5b76c96206d98ff6bbfdbd1ca973ffcd4f)
|
||||||
- Finish redesign of moderators report list [`15d28aa`](https://github.com/Human-Connection/Human-Connection/commit/15d28aa8ef84788aa640aac67838380bfacf63b7)
|
- Finish redesign of moderators report list [`15d28aa`](https://github.com/Human-Connection/Human-Connection/commit/15d28aa8ef84788aa640aac67838380bfacf63b7)
|
||||||
|
- build(deps-dev): bump @storybook/addon-actions in /webapp [`7e95d37`](https://github.com/Human-Connection/Human-Connection/commit/7e95d376a311a5ede6351d577d30e25aea9cb65d)
|
||||||
|
|
||||||
#### [0.1.7](https://github.com/Human-Connection/Human-Connection/compare/0.1.6...0.1.7)
|
#### [v0.1.7](https://github.com/Human-Connection/Human-Connection/compare/v0.1.6...v0.1.7)
|
||||||
|
|
||||||
> 23 October 2019
|
> 23 October 2019
|
||||||
|
|
||||||
@ -535,7 +643,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- build(deps-dev): bump @vue/cli-shared-utils in /webapp [`a5d993c`](https://github.com/Human-Connection/Human-Connection/commit/a5d993c761b2f92c3f44b6f83592ea4c1d822606)
|
- build(deps-dev): bump @vue/cli-shared-utils in /webapp [`a5d993c`](https://github.com/Human-Connection/Human-Connection/commit/a5d993c761b2f92c3f44b6f83592ea4c1d822606)
|
||||||
- Fix block user workflow [`44e5437`](https://github.com/Human-Connection/Human-Connection/commit/44e54372c4148fafae1095d172d1a52a87b3b1b2)
|
- Fix block user workflow [`44e5437`](https://github.com/Human-Connection/Human-Connection/commit/44e54372c4148fafae1095d172d1a52a87b3b1b2)
|
||||||
|
|
||||||
#### [0.1.6](https://github.com/Human-Connection/Human-Connection/compare/0.1.5...0.1.6)
|
#### [v0.1.6](https://github.com/Human-Connection/Human-Connection/compare/v0.1.5...v0.1.6)
|
||||||
|
|
||||||
> 22 October 2019
|
> 22 October 2019
|
||||||
|
|
||||||
@ -569,7 +677,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Refactor tests for querying reported resources [`4e42017`](https://github.com/Human-Connection/Human-Connection/commit/4e42017afaa97fa87ec726a5bbd1605cca911375)
|
- Refactor tests for querying reported resources [`4e42017`](https://github.com/Human-Connection/Human-Connection/commit/4e42017afaa97fa87ec726a5bbd1605cca911375)
|
||||||
- Return pinnedAt date from pinPost resolver/clean up [`be0c804`](https://github.com/Human-Connection/Human-Connection/commit/be0c8044e87e211f2578df151d9d2d11795a135f)
|
- Return pinnedAt date from pinPost resolver/clean up [`be0c804`](https://github.com/Human-Connection/Human-Connection/commit/be0c8044e87e211f2578df151d9d2d11795a135f)
|
||||||
|
|
||||||
#### [0.1.5](https://github.com/Human-Connection/Human-Connection/compare/0.1.4...0.1.5)
|
#### [v0.1.5](https://github.com/Human-Connection/Human-Connection/compare/v0.1.4...v0.1.5)
|
||||||
|
|
||||||
> 17 October 2019
|
> 17 October 2019
|
||||||
|
|
||||||
@ -627,7 +735,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Start adding missing portuguese translation [`33eb000`](https://github.com/Human-Connection/Human-Connection/commit/33eb000ee33e5aa513083450f0a00abd7240efb0)
|
- Start adding missing portuguese translation [`33eb000`](https://github.com/Human-Connection/Human-Connection/commit/33eb000ee33e5aa513083450f0a00abd7240efb0)
|
||||||
- refactor: restructure translations and components [`bb5d581`](https://github.com/Human-Connection/Human-Connection/commit/bb5d581906b5e6e723966c3dc687c7f309356841)
|
- refactor: restructure translations and components [`bb5d581`](https://github.com/Human-Connection/Human-Connection/commit/bb5d581906b5e6e723966c3dc687c7f309356841)
|
||||||
|
|
||||||
#### [0.1.4](https://github.com/Human-Connection/Human-Connection/compare/0.1.3...0.1.4)
|
#### [v0.1.4](https://github.com/Human-Connection/Human-Connection/compare/v0.1.3...v0.1.4)
|
||||||
|
|
||||||
> 10 October 2019
|
> 10 October 2019
|
||||||
|
|
||||||
@ -665,7 +773,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Fix lint, update tests [`bced698`](https://github.com/Human-Connection/Human-Connection/commit/bced6983ea1f51736e989eab6a41166723a6a6ca)
|
- Fix lint, update tests [`bced698`](https://github.com/Human-Connection/Human-Connection/commit/bced6983ea1f51736e989eab6a41166723a6a6ca)
|
||||||
- add test embeds and links [`7cc139e`](https://github.com/Human-Connection/Human-Connection/commit/7cc139e879ac7ea912e82ea7eff14f7b67eddb4a)
|
- add test embeds and links [`7cc139e`](https://github.com/Human-Connection/Human-Connection/commit/7cc139e879ac7ea912e82ea7eff14f7b67eddb4a)
|
||||||
|
|
||||||
#### [0.1.3](https://github.com/Human-Connection/Human-Connection/compare/0.1.2...0.1.3)
|
#### [v0.1.3](https://github.com/Human-Connection/Human-Connection/compare/v0.1.2...v0.1.3)
|
||||||
|
|
||||||
> 4 October 2019
|
> 4 October 2019
|
||||||
|
|
||||||
@ -685,7 +793,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Set hasMore to false when returned Posts are equal to pageSize [`6f1c5e3`](https://github.com/Human-Connection/Human-Connection/commit/6f1c5e3efa3b77e72172592a0b5e4ea52158e642)
|
- Set hasMore to false when returned Posts are equal to pageSize [`6f1c5e3`](https://github.com/Human-Connection/Human-Connection/commit/6f1c5e3efa3b77e72172592a0b5e4ea52158e642)
|
||||||
- refactor: use named slot for additional text [`3912b21`](https://github.com/Human-Connection/Human-Connection/commit/3912b21ea2f24e2e25682060b7166d1511442e6e)
|
- refactor: use named slot for additional text [`3912b21`](https://github.com/Human-Connection/Human-Connection/commit/3912b21ea2f24e2e25682060b7166d1511442e6e)
|
||||||
|
|
||||||
#### [0.1.2](https://github.com/Human-Connection/Human-Connection/compare/0.1.1...0.1.2)
|
#### [v0.1.2](https://github.com/Human-Connection/Human-Connection/compare/v0.1.1...v0.1.2)
|
||||||
|
|
||||||
> 2 October 2019
|
> 2 October 2019
|
||||||
|
|
||||||
@ -744,7 +852,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- build(deps): bump @nuxtjs/apollo in /webapp [`4648080`](https://github.com/Human-Connection/Human-Connection/commit/4648080a74fa6df60d6bb9b34d1db5030a9d4124)
|
- build(deps): bump @nuxtjs/apollo in /webapp [`4648080`](https://github.com/Human-Connection/Human-Connection/commit/4648080a74fa6df60d6bb9b34d1db5030a9d4124)
|
||||||
- Write and refactor backend test which are supposed to fail at first [`6ad9dc2`](https://github.com/Human-Connection/Human-Connection/commit/6ad9dc27e937eb263914846c073172906aa661e1)
|
- Write and refactor backend test which are supposed to fail at first [`6ad9dc2`](https://github.com/Human-Connection/Human-Connection/commit/6ad9dc27e937eb263914846c073172906aa661e1)
|
||||||
|
|
||||||
#### [0.1.1](https://github.com/Human-Connection/Human-Connection/compare/0.1.0...0.1.1)
|
#### [v0.1.1](https://github.com/Human-Connection/Human-Connection/compare/v0.1.0...v0.1.1)
|
||||||
|
|
||||||
> 27 September 2019
|
> 27 September 2019
|
||||||
|
|
||||||
@ -818,7 +926,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Run with tag 0.1.0 [`c634ad2`](https://github.com/Human-Connection/Human-Connection/commit/c634ad264bd99dd1a87a86f870d7877aa751dc38)
|
- Run with tag 0.1.0 [`c634ad2`](https://github.com/Human-Connection/Human-Connection/commit/c634ad264bd99dd1a87a86f870d7877aa751dc38)
|
||||||
- zwischenspeichern [`e4c7c11`](https://github.com/Human-Connection/Human-Connection/commit/e4c7c1125da6f8fa259241b4d3838b1e7b1e24a2)
|
- zwischenspeichern [`e4c7c11`](https://github.com/Human-Connection/Human-Connection/commit/e4c7c1125da6f8fa259241b4d3838b1e7b1e24a2)
|
||||||
|
|
||||||
#### 0.1.0
|
#### v0.1.0
|
||||||
|
|
||||||
> 18 September 2019
|
> 18 September 2019
|
||||||
|
|
||||||
@ -1956,5 +2064,5 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|||||||
- Merge pull request #93 from Gerald1614/500_error_on_login [`#49`](https://github.com/Human-Connection/Human-Connection/issues/49)
|
- Merge pull request #93 from Gerald1614/500_error_on_login [`#49`](https://github.com/Human-Connection/Human-Connection/issues/49)
|
||||||
- Update schema.graphql [`#7`](https://github.com/Human-Connection/Human-Connection/issues/7)
|
- Update schema.graphql [`#7`](https://github.com/Human-Connection/Human-Connection/issues/7)
|
||||||
- Refactore the import and hashtags to all unicode characters [`0bc4c55`](https://github.com/Human-Connection/Human-Connection/commit/0bc4c558ae8f01d6d975b8ee1ea7f0f42b056d91)
|
- Refactore the import and hashtags to all unicode characters [`0bc4c55`](https://github.com/Human-Connection/Human-Connection/commit/0bc4c558ae8f01d6d975b8ee1ea7f0f42b056d91)
|
||||||
- Change strategy, only build docker image [`d6b7374`](https://github.com/Human-Connection/Human-Connection/commit/d6b7374ddbf497bdb5cbc935b88ae085c38b3237)
|
- Remove package-lock.json [`25bd96e`](https://github.com/Human-Connection/Human-Connection/commit/25bd96eedf6be5b7ea6e94c8433d044e13d62e70)
|
||||||
- Copy package.json from webapp/ [`f3a9996`](https://github.com/Human-Connection/Human-Connection/commit/f3a9996962e5dd8b2e365a032c1a5766fe666103)
|
- Remove Styleguide [`53ea934`](https://github.com/Human-Connection/Human-Connection/commit/53ea93492dcc7f861743cd50a4ddf7728c9d659b)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "human-connection-backend",
|
"name": "human-connection-backend",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"description": "GraphQL Backend for Human Connection",
|
"description": "GraphQL Backend for Human Connection",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -32,7 +32,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hapi/joi": "^17.0.2",
|
"@hapi/joi": "^17.1.0",
|
||||||
"@sentry/node": "^5.11.1",
|
"@sentry/node": "^5.11.1",
|
||||||
"apollo-cache-inmemory": "~1.6.5",
|
"apollo-cache-inmemory": "~1.6.5",
|
||||||
"apollo-client": "~2.6.8",
|
"apollo-client": "~2.6.8",
|
||||||
@ -63,20 +63,20 @@
|
|||||||
"lodash": "~4.17.14",
|
"lodash": "~4.17.14",
|
||||||
"merge-graphql-schemas": "^1.7.6",
|
"merge-graphql-schemas": "^1.7.6",
|
||||||
"metascraper": "^5.10.5",
|
"metascraper": "^5.10.5",
|
||||||
"metascraper-audio": "^5.10.3",
|
"metascraper-audio": "^5.10.5",
|
||||||
"metascraper-author": "^5.10.3",
|
"metascraper-author": "^5.10.5",
|
||||||
"metascraper-clearbit-logo": "^5.3.0",
|
"metascraper-clearbit-logo": "^5.3.0",
|
||||||
"metascraper-date": "^5.10.3",
|
"metascraper-date": "^5.10.5",
|
||||||
"metascraper-description": "^5.10.5",
|
"metascraper-description": "^5.10.5",
|
||||||
"metascraper-image": "^5.10.3",
|
"metascraper-image": "^5.10.5",
|
||||||
"metascraper-lang": "^5.10.3",
|
"metascraper-lang": "^5.10.5",
|
||||||
"metascraper-lang-detector": "^4.10.2",
|
"metascraper-lang-detector": "^4.10.2",
|
||||||
"metascraper-logo": "^5.10.3",
|
"metascraper-logo": "^5.10.5",
|
||||||
"metascraper-publisher": "^5.10.3",
|
"metascraper-publisher": "^5.10.5",
|
||||||
"metascraper-soundcloud": "^5.10.5",
|
"metascraper-soundcloud": "^5.10.5",
|
||||||
"metascraper-title": "^5.10.3",
|
"metascraper-title": "^5.10.5",
|
||||||
"metascraper-url": "^5.10.3",
|
"metascraper-url": "^5.10.5",
|
||||||
"metascraper-video": "^5.10.3",
|
"metascraper-video": "^5.10.5",
|
||||||
"metascraper-youtube": "^5.10.5",
|
"metascraper-youtube": "^5.10.5",
|
||||||
"minimatch": "^3.0.4",
|
"minimatch": "^3.0.4",
|
||||||
"mustache": "^4.0.0",
|
"mustache": "^4.0.0",
|
||||||
@ -88,12 +88,12 @@
|
|||||||
"nodemailer-html-to-text": "^3.1.0",
|
"nodemailer-html-to-text": "^3.1.0",
|
||||||
"npm-run-all": "~4.1.5",
|
"npm-run-all": "~4.1.5",
|
||||||
"request": "~2.88.0",
|
"request": "~2.88.0",
|
||||||
"sanitize-html": "~1.20.1",
|
"sanitize-html": "~1.21.1",
|
||||||
"slug": "~2.1.0",
|
"slug": "~2.1.0",
|
||||||
"trunc-html": "~1.1.2",
|
"trunc-html": "~1.1.2",
|
||||||
"uuid": "~3.4.0",
|
"uuid": "~3.4.0",
|
||||||
"validator": "^12.1.0",
|
"validator": "^12.1.0",
|
||||||
"wait-on": "~3.3.0",
|
"wait-on": "~4.0.0",
|
||||||
"xregexp": "^4.2.4"
|
"xregexp": "^4.2.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@ -101,7 +101,7 @@ export default shield(
|
|||||||
Badge: allow,
|
Badge: allow,
|
||||||
PostsEmotionsCountByEmotion: allow,
|
PostsEmotionsCountByEmotion: allow,
|
||||||
PostsEmotionsByCurrentUser: isAuthenticated,
|
PostsEmotionsByCurrentUser: isAuthenticated,
|
||||||
blockedUsers: isAuthenticated,
|
mutedUsers: isAuthenticated,
|
||||||
notifications: isAuthenticated,
|
notifications: isAuthenticated,
|
||||||
Donations: isAuthenticated,
|
Donations: isAuthenticated,
|
||||||
},
|
},
|
||||||
@ -137,8 +137,8 @@ export default shield(
|
|||||||
resetPassword: allow,
|
resetPassword: allow,
|
||||||
AddPostEmotions: isAuthenticated,
|
AddPostEmotions: isAuthenticated,
|
||||||
RemovePostEmotions: isAuthenticated,
|
RemovePostEmotions: isAuthenticated,
|
||||||
block: isAuthenticated,
|
muteUser: isAuthenticated,
|
||||||
unblock: isAuthenticated,
|
unmuteUser: isAuthenticated,
|
||||||
markAsRead: isAuthenticated,
|
markAsRead: isAuthenticated,
|
||||||
AddEmailAddress: isAuthenticated,
|
AddEmailAddress: isAuthenticated,
|
||||||
VerifyEmailAddress: isAuthenticated,
|
VerifyEmailAddress: isAuthenticated,
|
||||||
|
|||||||
@ -78,6 +78,12 @@ export default {
|
|||||||
target: 'User',
|
target: 'User',
|
||||||
direction: 'out',
|
direction: 'out',
|
||||||
},
|
},
|
||||||
|
muted: {
|
||||||
|
type: 'relationship',
|
||||||
|
relationship: 'MUTED',
|
||||||
|
target: 'User',
|
||||||
|
direction: 'out',
|
||||||
|
},
|
||||||
notifications: {
|
notifications: {
|
||||||
type: 'relationship',
|
type: 'relationship',
|
||||||
relationship: 'NOTIFIED',
|
relationship: 'NOTIFIED',
|
||||||
|
|||||||
@ -1,25 +0,0 @@
|
|||||||
import { getBlockedUsers, getBlockedByUsers } from '../users.js'
|
|
||||||
import { mergeWith, isArray } from 'lodash'
|
|
||||||
|
|
||||||
export const filterForBlockedUsers = async (params, context) => {
|
|
||||||
if (!context.user) return params
|
|
||||||
const [blockedUsers, blockedByUsers] = await Promise.all([
|
|
||||||
getBlockedUsers(context),
|
|
||||||
getBlockedByUsers(context),
|
|
||||||
])
|
|
||||||
const blockedUsersIds = [...blockedByUsers.map(b => b.id), ...blockedUsers.map(b => b.id)]
|
|
||||||
if (!blockedUsersIds.length) return params
|
|
||||||
|
|
||||||
params.filter = mergeWith(
|
|
||||||
params.filter,
|
|
||||||
{
|
|
||||||
author_not: { id_in: blockedUsersIds },
|
|
||||||
},
|
|
||||||
(objValue, srcValue) => {
|
|
||||||
if (isArray(objValue)) {
|
|
||||||
return objValue.concat(srcValue)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
return params
|
|
||||||
}
|
|
||||||
22
backend/src/schema/resolvers/helpers/filterForMutedUsers.js
Normal file
22
backend/src/schema/resolvers/helpers/filterForMutedUsers.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { getMutedUsers } from '../users.js'
|
||||||
|
import { mergeWith, isArray } from 'lodash'
|
||||||
|
|
||||||
|
export const filterForMutedUsers = async (params, context) => {
|
||||||
|
if (!context.user) return params
|
||||||
|
const [mutedUsers] = await Promise.all([getMutedUsers(context)])
|
||||||
|
const mutedUsersIds = [...mutedUsers.map(user => user.id)]
|
||||||
|
if (!mutedUsersIds.length) return params
|
||||||
|
|
||||||
|
params.filter = mergeWith(
|
||||||
|
params.filter,
|
||||||
|
{
|
||||||
|
author_not: { id_in: mutedUsersIds },
|
||||||
|
},
|
||||||
|
(objValue, srcValue) => {
|
||||||
|
if (isArray(objValue)) {
|
||||||
|
return objValue.concat(srcValue)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
return params
|
||||||
|
}
|
||||||
@ -1,10 +1,10 @@
|
|||||||
import uuid from 'uuid/v4'
|
import uuid from 'uuid/v4'
|
||||||
import { neo4jgraphql } from 'neo4j-graphql-js'
|
import { neo4jgraphql } from 'neo4j-graphql-js'
|
||||||
import { isEmpty } from 'lodash'
|
import { isEmpty } from 'lodash'
|
||||||
import fileUpload from './fileUpload'
|
|
||||||
import { UserInputError } from 'apollo-server'
|
import { UserInputError } from 'apollo-server'
|
||||||
|
import fileUpload from './fileUpload'
|
||||||
import Resolver from './helpers/Resolver'
|
import Resolver from './helpers/Resolver'
|
||||||
import { filterForBlockedUsers } from './helpers/filterForBlockedUsers'
|
import { filterForMutedUsers } from './helpers/filterForMutedUsers'
|
||||||
|
|
||||||
const maintainPinnedPosts = params => {
|
const maintainPinnedPosts = params => {
|
||||||
const pinnedPostFilter = { pinned: true }
|
const pinnedPostFilter = { pinned: true }
|
||||||
@ -19,16 +19,16 @@ const maintainPinnedPosts = params => {
|
|||||||
export default {
|
export default {
|
||||||
Query: {
|
Query: {
|
||||||
Post: async (object, params, context, resolveInfo) => {
|
Post: async (object, params, context, resolveInfo) => {
|
||||||
params = await filterForBlockedUsers(params, context)
|
params = await filterForMutedUsers(params, context)
|
||||||
params = await maintainPinnedPosts(params)
|
params = await maintainPinnedPosts(params)
|
||||||
return neo4jgraphql(object, params, context, resolveInfo)
|
return neo4jgraphql(object, params, context, resolveInfo)
|
||||||
},
|
},
|
||||||
findPosts: async (object, params, context, resolveInfo) => {
|
findPosts: async (object, params, context, resolveInfo) => {
|
||||||
params = await filterForBlockedUsers(params, context)
|
params = await filterForMutedUsers(params, context)
|
||||||
return neo4jgraphql(object, params, context, resolveInfo)
|
return neo4jgraphql(object, params, context, resolveInfo)
|
||||||
},
|
},
|
||||||
profilePagePosts: async (object, params, context, resolveInfo) => {
|
profilePagePosts: async (object, params, context, resolveInfo) => {
|
||||||
params = await filterForBlockedUsers(params, context)
|
params = await filterForMutedUsers(params, context)
|
||||||
return neo4jgraphql(object, params, context, resolveInfo)
|
return neo4jgraphql(object, params, context, resolveInfo)
|
||||||
},
|
},
|
||||||
PostsEmotionsCountByEmotion: async (object, params, context, resolveInfo) => {
|
PostsEmotionsCountByEmotion: async (object, params, context, resolveInfo) => {
|
||||||
|
|||||||
@ -8,42 +8,26 @@ import createOrUpdateLocations from './users/location'
|
|||||||
|
|
||||||
const neode = getNeode()
|
const neode = getNeode()
|
||||||
|
|
||||||
export const getBlockedUsers = async context => {
|
export const getMutedUsers = async context => {
|
||||||
const { neode } = context
|
const { neode } = context
|
||||||
const userModel = neode.model('User')
|
const userModel = neode.model('User')
|
||||||
let blockedUsers = neode
|
let mutedUsers = neode
|
||||||
.query()
|
.query()
|
||||||
.match('user', userModel)
|
.match('user', userModel)
|
||||||
.where('user.id', context.user.id)
|
.where('user.id', context.user.id)
|
||||||
.relationship(userModel.relationships().get('blocked'))
|
.relationship(userModel.relationships().get('muted'))
|
||||||
.to('blocked', userModel)
|
.to('muted', userModel)
|
||||||
.return('blocked')
|
.return('muted')
|
||||||
blockedUsers = await blockedUsers.execute()
|
mutedUsers = await mutedUsers.execute()
|
||||||
blockedUsers = blockedUsers.records.map(r => r.get('blocked').properties)
|
mutedUsers = mutedUsers.records.map(r => r.get('muted').properties)
|
||||||
return blockedUsers
|
return mutedUsers
|
||||||
}
|
|
||||||
|
|
||||||
export const getBlockedByUsers = async context => {
|
|
||||||
if (context.user.role === 'moderator' || context.user.role === 'admin') return []
|
|
||||||
const { neode } = context
|
|
||||||
const userModel = neode.model('User')
|
|
||||||
let blockedByUsers = neode
|
|
||||||
.query()
|
|
||||||
.match('user', userModel)
|
|
||||||
.relationship(userModel.relationships().get('blocked'))
|
|
||||||
.to('blocked', userModel)
|
|
||||||
.where('blocked.id', context.user.id)
|
|
||||||
.return('user')
|
|
||||||
blockedByUsers = await blockedByUsers.execute()
|
|
||||||
blockedByUsers = blockedByUsers.records.map(r => r.get('user').properties)
|
|
||||||
return blockedByUsers
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
Query: {
|
Query: {
|
||||||
blockedUsers: async (object, args, context, resolveInfo) => {
|
mutedUsers: async (object, args, context, resolveInfo) => {
|
||||||
try {
|
try {
|
||||||
return getBlockedUsers(context)
|
return getMutedUsers(context)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw new UserInputError(e.message)
|
throw new UserInputError(e.message)
|
||||||
}
|
}
|
||||||
@ -72,6 +56,36 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Mutation: {
|
Mutation: {
|
||||||
|
muteUser: async (_parent, params, context, _resolveInfo) => {
|
||||||
|
const { user: currentUser } = context
|
||||||
|
if (currentUser.id === params.id) return null
|
||||||
|
await neode.cypher(
|
||||||
|
`
|
||||||
|
MATCH(u:User {id: $currentUser.id})-[previousRelationship:FOLLOWS]->(b:User {id: $params.id})
|
||||||
|
DELETE previousRelationship
|
||||||
|
`,
|
||||||
|
{ currentUser, params },
|
||||||
|
)
|
||||||
|
const [user, mutedUser] = await Promise.all([
|
||||||
|
neode.find('User', currentUser.id),
|
||||||
|
neode.find('User', params.id),
|
||||||
|
])
|
||||||
|
await user.relateTo(mutedUser, 'muted')
|
||||||
|
return mutedUser.toJson()
|
||||||
|
},
|
||||||
|
unmuteUser: async (_parent, params, context, _resolveInfo) => {
|
||||||
|
const { user: currentUser } = context
|
||||||
|
if (currentUser.id === params.id) return null
|
||||||
|
await neode.cypher(
|
||||||
|
`
|
||||||
|
MATCH(u:User {id: $currentUser.id})-[previousRelationship:MUTED]->(b:User {id: $params.id})
|
||||||
|
DELETE previousRelationship
|
||||||
|
`,
|
||||||
|
{ currentUser, params },
|
||||||
|
)
|
||||||
|
const unmutedUser = await neode.find('User', params.id)
|
||||||
|
return unmutedUser.toJson()
|
||||||
|
},
|
||||||
block: async (object, args, context, resolveInfo) => {
|
block: async (object, args, context, resolveInfo) => {
|
||||||
const { user: currentUser } = context
|
const { user: currentUser } = context
|
||||||
if (currentUser.id === args.id) return null
|
if (currentUser.id === args.id) return null
|
||||||
@ -217,6 +231,8 @@ export default {
|
|||||||
'MATCH (this)<-[:FOLLOWS]-(u:User {id: $cypherParams.currentUserId}) RETURN COUNT(u) >= 1',
|
'MATCH (this)<-[:FOLLOWS]-(u:User {id: $cypherParams.currentUserId}) RETURN COUNT(u) >= 1',
|
||||||
isBlocked:
|
isBlocked:
|
||||||
'MATCH (this)<-[:BLOCKED]-(u:User {id: $cypherParams.currentUserId}) RETURN COUNT(u) >= 1',
|
'MATCH (this)<-[:BLOCKED]-(u:User {id: $cypherParams.currentUserId}) RETURN COUNT(u) >= 1',
|
||||||
|
isMuted:
|
||||||
|
'MATCH (this)<-[:MUTED]-(u:User {id: $cypherParams.currentUserId}) RETURN COUNT(u) >= 1',
|
||||||
},
|
},
|
||||||
count: {
|
count: {
|
||||||
contributionsCount:
|
contributionsCount:
|
||||||
|
|||||||
@ -9,7 +9,7 @@ const factory = Factory()
|
|||||||
const neode = getNeode()
|
const neode = getNeode()
|
||||||
|
|
||||||
let currentUser
|
let currentUser
|
||||||
let blockedUser
|
let mutedUser
|
||||||
let authenticatedUser
|
let authenticatedUser
|
||||||
let server
|
let server
|
||||||
|
|
||||||
@ -33,15 +33,15 @@ afterEach(async () => {
|
|||||||
await factory.cleanDatabase()
|
await factory.cleanDatabase()
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('blockedUsers', () => {
|
describe('mutedUsers', () => {
|
||||||
let blockedUserQuery
|
let mutedUserQuery
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
blockedUserQuery = gql`
|
mutedUserQuery = gql`
|
||||||
query {
|
query {
|
||||||
blockedUsers {
|
mutedUsers {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
isBlocked
|
isMuted
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
@ -49,34 +49,34 @@ describe('blockedUsers', () => {
|
|||||||
|
|
||||||
it('throws permission error', async () => {
|
it('throws permission error', async () => {
|
||||||
const { query } = createTestClient(server)
|
const { query } = createTestClient(server)
|
||||||
const result = await query({ query: blockedUserQuery })
|
const result = await query({ query: mutedUserQuery })
|
||||||
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('authenticated and given a blocked user', () => {
|
describe('authenticated and given a muted user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
currentUser = await neode.create('User', {
|
currentUser = await neode.create('User', {
|
||||||
name: 'Current User',
|
name: 'Current User',
|
||||||
id: 'u1',
|
id: 'u1',
|
||||||
})
|
})
|
||||||
blockedUser = await neode.create('User', {
|
mutedUser = await neode.create('User', {
|
||||||
name: 'Blocked User',
|
name: 'Muted User',
|
||||||
id: 'u2',
|
id: 'u2',
|
||||||
})
|
})
|
||||||
await currentUser.relateTo(blockedUser, 'blocked')
|
await currentUser.relateTo(mutedUser, 'muted')
|
||||||
authenticatedUser = await currentUser.toJson()
|
authenticatedUser = await currentUser.toJson()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('returns a list of blocked users', async () => {
|
it('returns a list of muted users', async () => {
|
||||||
const { query } = createTestClient(server)
|
const { query } = createTestClient(server)
|
||||||
await expect(query({ query: blockedUserQuery })).resolves.toEqual(
|
await expect(query({ query: mutedUserQuery })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: {
|
data: {
|
||||||
blockedUsers: [
|
mutedUsers: [
|
||||||
{
|
{
|
||||||
name: 'Blocked User',
|
name: 'Muted User',
|
||||||
id: 'u2',
|
id: 'u2',
|
||||||
isBlocked: true,
|
isMuted: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -86,28 +86,28 @@ describe('blockedUsers', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('block', () => {
|
describe('muteUser', () => {
|
||||||
let blockAction
|
let muteAction
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
currentUser = undefined
|
currentUser = undefined
|
||||||
blockAction = variables => {
|
muteAction = variables => {
|
||||||
const { mutate } = createTestClient(server)
|
const { mutate } = createTestClient(server)
|
||||||
const blockMutation = gql`
|
const muteUserMutation = gql`
|
||||||
mutation($id: ID!) {
|
mutation($id: ID!) {
|
||||||
block(id: $id) {
|
muteUser(id: $id) {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
isBlocked
|
isMuted
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
return mutate({ mutation: blockMutation, variables })
|
return mutate({ mutation: muteUserMutation, variables })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('throws permission error', async () => {
|
it('throws permission error', async () => {
|
||||||
const result = await blockAction({ id: 'u2' })
|
const result = await muteAction({ id: 'u2' })
|
||||||
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -120,45 +120,47 @@ describe('block', () => {
|
|||||||
authenticatedUser = await currentUser.toJson()
|
authenticatedUser = await currentUser.toJson()
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('block yourself', () => {
|
describe('mute yourself', () => {
|
||||||
it('returns null', async () => {
|
it('returns null', async () => {
|
||||||
await expect(blockAction({ id: 'u1' })).resolves.toEqual(
|
await expect(muteAction({ id: 'u1' })).resolves.toEqual(
|
||||||
expect.objectContaining({ data: { block: null } }),
|
expect.objectContaining({ data: { muteUser: null } }),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('block not existing user', () => {
|
describe('mute not existing user', () => {
|
||||||
it('returns null', async () => {
|
it('returns null', async () => {
|
||||||
await expect(blockAction({ id: 'u2' })).resolves.toEqual(
|
await expect(muteAction({ id: 'u2' })).resolves.toEqual(
|
||||||
expect.objectContaining({ data: { block: null } }),
|
expect.objectContaining({ data: { muteUser: null } }),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('given a to-be-blocked user', () => {
|
describe('given a to-be-muted user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
blockedUser = await neode.create('User', {
|
mutedUser = await neode.create('User', {
|
||||||
name: 'Blocked User',
|
name: 'Muted User',
|
||||||
id: 'u2',
|
id: 'u2',
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('blocks a user', async () => {
|
it('mutes a user', async () => {
|
||||||
await expect(blockAction({ id: 'u2' })).resolves.toEqual(
|
await expect(muteAction({ id: 'u2' })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { block: { id: 'u2', name: 'Blocked User', isBlocked: true } },
|
data: {
|
||||||
|
muteUser: { id: 'u2', name: 'Muted User', isMuted: true },
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('unfollows the user', async () => {
|
it('unfollows the user', async () => {
|
||||||
await currentUser.relateTo(blockedUser, 'following')
|
await currentUser.relateTo(mutedUser, 'following')
|
||||||
const queryUser = gql`
|
const queryUser = gql`
|
||||||
query {
|
query {
|
||||||
User(id: "u2") {
|
User(id: "u2") {
|
||||||
id
|
id
|
||||||
isBlocked
|
isMuted
|
||||||
followedByCurrentUser
|
followedByCurrentUser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -166,18 +168,18 @@ describe('block', () => {
|
|||||||
const { query } = createTestClient(server)
|
const { query } = createTestClient(server)
|
||||||
await expect(query({ query: queryUser })).resolves.toEqual(
|
await expect(query({ query: queryUser })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { User: [{ id: 'u2', isBlocked: false, followedByCurrentUser: true }] },
|
data: { User: [{ id: 'u2', isMuted: false, followedByCurrentUser: true }] },
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
await blockAction({ id: 'u2' })
|
await muteAction({ id: 'u2' })
|
||||||
await expect(query({ query: queryUser })).resolves.toEqual(
|
await expect(query({ query: queryUser })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { User: [{ id: 'u2', isBlocked: true, followedByCurrentUser: false }] },
|
data: { User: [{ id: 'u2', isMuted: true, followedByCurrentUser: false }] },
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('given both the current user and the to-be-blocked user write a post', () => {
|
describe('given both the current user and the to-be-muted user write a post', () => {
|
||||||
let postQuery
|
let postQuery
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@ -187,11 +189,11 @@ describe('block', () => {
|
|||||||
})
|
})
|
||||||
const post2 = await neode.create('Post', {
|
const post2 = await neode.create('Post', {
|
||||||
id: 'p23',
|
id: 'p23',
|
||||||
title: 'A post written by the blocked user',
|
title: 'A post written by the muted user',
|
||||||
})
|
})
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
post1.relateTo(currentUser, 'author'),
|
post1.relateTo(currentUser, 'author'),
|
||||||
post2.relateTo(blockedUser, 'author'),
|
post2.relateTo(mutedUser, 'author'),
|
||||||
])
|
])
|
||||||
postQuery = gql`
|
postQuery = gql`
|
||||||
query {
|
query {
|
||||||
@ -223,9 +225,9 @@ describe('block', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'p23',
|
id: 'p23',
|
||||||
title: 'A post written by the blocked user',
|
title: 'A post written by the muted user',
|
||||||
author: {
|
author: {
|
||||||
name: 'Blocked User',
|
name: 'Muted User',
|
||||||
id: 'u2',
|
id: 'u2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -238,12 +240,12 @@ describe('block', () => {
|
|||||||
describe('from the perspective of the current user', () => {
|
describe('from the perspective of the current user', () => {
|
||||||
it('both posts are in the newsfeed', bothPostsAreInTheNewsfeed)
|
it('both posts are in the newsfeed', bothPostsAreInTheNewsfeed)
|
||||||
|
|
||||||
describe('but if the current user blocks the other user', () => {
|
describe('but if the current user mutes the other user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await currentUser.relateTo(blockedUser, 'blocked')
|
await currentUser.relateTo(mutedUser, 'muted')
|
||||||
})
|
})
|
||||||
|
|
||||||
it("the blocked user's post won't show up in the newsfeed of the current user", async () => {
|
it("the muted user's post won't show up in the newsfeed of the current user", async () => {
|
||||||
const { query } = createTestClient(server)
|
const { query } = createTestClient(server)
|
||||||
await expect(query({ query: postQuery })).resolves.toEqual(
|
await expect(query({ query: postQuery })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
@ -262,29 +264,34 @@ describe('block', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('from the perspective of the blocked user', () => {
|
describe('from the perspective of the muted user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
authenticatedUser = await blockedUser.toJson()
|
authenticatedUser = await mutedUser.toJson()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('both posts are in the newsfeed', bothPostsAreInTheNewsfeed)
|
it('both posts are in the newsfeed', bothPostsAreInTheNewsfeed)
|
||||||
describe('but if the current user blocks the other user', () => {
|
describe('but if the current user mutes the other user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await currentUser.relateTo(blockedUser, 'blocked')
|
await currentUser.relateTo(mutedUser, 'muted')
|
||||||
})
|
})
|
||||||
|
|
||||||
it("the current user's post won't show up in the newsfeed of the blocked user", async () => {
|
it("the current user's post will show up in the newsfeed of the muted user", async () => {
|
||||||
const { query } = createTestClient(server)
|
const { query } = createTestClient(server)
|
||||||
await expect(query({ query: postQuery })).resolves.toEqual(
|
await expect(query({ query: postQuery })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: {
|
data: {
|
||||||
Post: [
|
Post: expect.arrayContaining([
|
||||||
{
|
{
|
||||||
id: 'p23',
|
id: 'p23',
|
||||||
title: 'A post written by the blocked user',
|
title: 'A post written by the muted user',
|
||||||
author: { name: 'Blocked User', id: 'u2' },
|
author: { name: 'Muted User', id: 'u2' },
|
||||||
},
|
},
|
||||||
],
|
{
|
||||||
|
id: 'p12',
|
||||||
|
title: 'A post written by the current user',
|
||||||
|
author: { name: 'Current User', id: 'u1' },
|
||||||
|
},
|
||||||
|
]),
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
@ -296,28 +303,28 @@ describe('block', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('unblock', () => {
|
describe('unmuteUser', () => {
|
||||||
let unblockAction
|
let unmuteAction
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
currentUser = undefined
|
currentUser = undefined
|
||||||
unblockAction = variables => {
|
unmuteAction = variables => {
|
||||||
const { mutate } = createTestClient(server)
|
const { mutate } = createTestClient(server)
|
||||||
const unblockMutation = gql`
|
const unmuteUserMutation = gql`
|
||||||
mutation($id: ID!) {
|
mutation($id: ID!) {
|
||||||
unblock(id: $id) {
|
unmuteUser(id: $id) {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
isBlocked
|
isMuted
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
return mutate({ mutation: unblockMutation, variables })
|
return mutate({ mutation: unmuteUserMutation, variables })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('throws permission error', async () => {
|
it('throws permission error', async () => {
|
||||||
const result = await unblockAction({ id: 'u2' })
|
const result = await unmuteAction({ id: 'u2' })
|
||||||
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
expect(result.errors[0]).toHaveProperty('message', 'Not Authorised!')
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -330,59 +337,69 @@ describe('unblock', () => {
|
|||||||
authenticatedUser = await currentUser.toJson()
|
authenticatedUser = await currentUser.toJson()
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('unblock yourself', () => {
|
describe('unmute yourself', () => {
|
||||||
it('returns null', async () => {
|
it('returns null', async () => {
|
||||||
await expect(unblockAction({ id: 'u1' })).resolves.toEqual(
|
await expect(unmuteAction({ id: 'u1' })).resolves.toEqual(
|
||||||
expect.objectContaining({ data: { unblock: null } }),
|
expect.objectContaining({ data: { unmuteUser: null } }),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('unblock not-existing user', () => {
|
describe('unmute not-existing user', () => {
|
||||||
it('returns null', async () => {
|
it('returns null', async () => {
|
||||||
await expect(unblockAction({ id: 'lksjdflksfdj' })).resolves.toEqual(
|
await expect(unmuteAction({ id: 'lksjdflksfdj' })).resolves.toEqual(
|
||||||
expect.objectContaining({ data: { unblock: null } }),
|
expect.objectContaining({ data: { unmuteUser: null } }),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('given another user', () => {
|
describe('given another user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
blockedUser = await neode.create('User', {
|
mutedUser = await neode.create('User', {
|
||||||
name: 'Blocked User',
|
name: 'Muted User',
|
||||||
id: 'u2',
|
id: 'u2',
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('unblocking a not yet blocked user', () => {
|
describe('unmuting a not yet muted user', () => {
|
||||||
it('does not hurt', async () => {
|
it('does not hurt', async () => {
|
||||||
await expect(unblockAction({ id: 'u2' })).resolves.toEqual(
|
await expect(unmuteAction({ id: 'u2' })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { unblock: { id: 'u2', name: 'Blocked User', isBlocked: false } },
|
data: {
|
||||||
|
unmuteUser: { id: 'u2', name: 'Muted User', isMuted: false },
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('given a blocked user', () => {
|
describe('given a muted user', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await currentUser.relateTo(blockedUser, 'blocked')
|
await currentUser.relateTo(mutedUser, 'muted')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('unblocks a user', async () => {
|
it('unmutes a user', async () => {
|
||||||
await expect(unblockAction({ id: 'u2' })).resolves.toEqual(
|
await expect(unmuteAction({ id: 'u2' })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { unblock: { id: 'u2', name: 'Blocked User', isBlocked: false } },
|
data: {
|
||||||
|
unmuteUser: { id: 'u2', name: 'Muted User', isMuted: false },
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('unblocking twice', () => {
|
describe('unmuting twice', () => {
|
||||||
it('has no effect', async () => {
|
it('has no effect', async () => {
|
||||||
await unblockAction({ id: 'u2' })
|
await unmuteAction({ id: 'u2' })
|
||||||
await expect(unblockAction({ id: 'u2' })).resolves.toEqual(
|
await expect(unmuteAction({ id: 'u2' })).resolves.toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
data: { unblock: { id: 'u2', name: 'Blocked User', isBlocked: false } },
|
data: {
|
||||||
|
unmuteUser: {
|
||||||
|
id: 'u2',
|
||||||
|
name: 'Muted User',
|
||||||
|
isMuted: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -75,6 +75,13 @@ type User {
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
isMuted: Boolean! @cypher(
|
||||||
|
statement: """
|
||||||
|
MATCH (this)<-[:MUTED]-(user:User { id: $cypherParams.currentUserId})
|
||||||
|
RETURN COUNT(user) >= 1
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
# contributions: [WrittenPost]!
|
# contributions: [WrittenPost]!
|
||||||
# contributions2(first: Int = 10, offset: Int = 0): [WrittenPost2]!
|
# contributions2(first: Int = 10, offset: Int = 0): [WrittenPost2]!
|
||||||
# @cypher(
|
# @cypher(
|
||||||
@ -160,6 +167,7 @@ type Query {
|
|||||||
filter: _UserFilter
|
filter: _UserFilter
|
||||||
): [User]
|
): [User]
|
||||||
|
|
||||||
|
mutedUsers: [User]
|
||||||
blockedUsers: [User]
|
blockedUsers: [User]
|
||||||
isLoggedIn: Boolean!
|
isLoggedIn: Boolean!
|
||||||
currentUser: User
|
currentUser: User
|
||||||
@ -197,7 +205,8 @@ type Mutation {
|
|||||||
|
|
||||||
DeleteUser(id: ID!, resource: [Deletable]): User
|
DeleteUser(id: ID!, resource: [Deletable]): User
|
||||||
|
|
||||||
|
muteUser(id: ID!): User
|
||||||
|
unmuteUser(id: ID!): User
|
||||||
block(id: ID!): User
|
block(id: ID!): User
|
||||||
unblock(id: ID!): User
|
unblock(id: ID!): User
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,6 @@ export default function create() {
|
|||||||
if (categoryIds)
|
if (categoryIds)
|
||||||
categories = await Promise.all(categoryIds.map(id => neodeInstance.find('Category', id)))
|
categories = await Promise.all(categoryIds.map(id => neodeInstance.find('Category', id)))
|
||||||
categories = categories || (await Promise.all([factoryInstance.create('Category')]))
|
categories = categories || (await Promise.all([factoryInstance.create('Category')]))
|
||||||
|
|
||||||
const { tagIds = [] } = args
|
const { tagIds = [] } = args
|
||||||
delete args.tags
|
delete args.tags
|
||||||
const tags = await Promise.all(
|
const tags = await Promise.all(
|
||||||
|
|||||||
@ -226,6 +226,10 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
|
|||||||
dewey.relateTo(huey, 'following'),
|
dewey.relateTo(huey, 'following'),
|
||||||
louie.relateTo(jennyRostock, 'following'),
|
louie.relateTo(jennyRostock, 'following'),
|
||||||
|
|
||||||
|
huey.relateTo(dagobert, 'muted'),
|
||||||
|
dewey.relateTo(dagobert, 'muted'),
|
||||||
|
louie.relateTo(dagobert, 'muted'),
|
||||||
|
|
||||||
dagobert.relateTo(huey, 'blocked'),
|
dagobert.relateTo(huey, 'blocked'),
|
||||||
dagobert.relateTo(dewey, 'blocked'),
|
dagobert.relateTo(dewey, 'blocked'),
|
||||||
dagobert.relateTo(louie, 'blocked'),
|
dagobert.relateTo(louie, 'blocked'),
|
||||||
|
|||||||
@ -850,6 +850,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222"
|
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222"
|
||||||
integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==
|
integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==
|
||||||
|
|
||||||
|
"@hapi/address@^2.1.2":
|
||||||
|
version "2.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
||||||
|
integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==
|
||||||
|
|
||||||
"@hapi/address@^4.0.0":
|
"@hapi/address@^4.0.0":
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.0.0.tgz#36affb4509b5a6adc628bcc394450f2a7d51d111"
|
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.0.0.tgz#36affb4509b5a6adc628bcc394450f2a7d51d111"
|
||||||
@ -862,6 +867,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
|
resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
|
||||||
integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==
|
integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==
|
||||||
|
|
||||||
|
"@hapi/formula@^1.2.0":
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-1.2.0.tgz#994649c7fea1a90b91a0a1e6d983523f680e10cd"
|
||||||
|
integrity sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==
|
||||||
|
|
||||||
"@hapi/formula@^2.0.0":
|
"@hapi/formula@^2.0.0":
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-2.0.0.tgz#edade0619ed58c8e4f164f233cda70211e787128"
|
resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-2.0.0.tgz#edade0619ed58c8e4f164f233cda70211e787128"
|
||||||
@ -872,12 +882,17 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.4.tgz#684a14f4ca35d46f44abc87dfc696e5e4fe8a020"
|
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.4.tgz#684a14f4ca35d46f44abc87dfc696e5e4fe8a020"
|
||||||
integrity sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==
|
integrity sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==
|
||||||
|
|
||||||
|
"@hapi/hoek@^8.2.4", "@hapi/hoek@^8.3.0":
|
||||||
|
version "8.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.0.tgz#2f9ce301c8898e1c3248b0a8564696b24d1a9a5a"
|
||||||
|
integrity sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==
|
||||||
|
|
||||||
"@hapi/hoek@^9.0.0":
|
"@hapi/hoek@^9.0.0":
|
||||||
version "9.0.0"
|
version "9.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.0.0.tgz#ba83436edfac1d1ffd0e94797d43419c20ad49b8"
|
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.0.0.tgz#ba83436edfac1d1ffd0e94797d43419c20ad49b8"
|
||||||
integrity sha512-XxD4A5YMIH70ddjG7BJBUz7RWVQAwIP/36Eoyh0DsaWp92OAeXkrbtSEaYkynBPTsN9Uv2mZq9QWZYILl2Svrw==
|
integrity sha512-XxD4A5YMIH70ddjG7BJBUz7RWVQAwIP/36Eoyh0DsaWp92OAeXkrbtSEaYkynBPTsN9Uv2mZq9QWZYILl2Svrw==
|
||||||
|
|
||||||
"@hapi/joi@^15.0.3", "@hapi/joi@^15.1.0":
|
"@hapi/joi@^15.1.0":
|
||||||
version "15.1.1"
|
version "15.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
|
resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
|
||||||
integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==
|
integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==
|
||||||
@ -887,10 +902,21 @@
|
|||||||
"@hapi/hoek" "8.x.x"
|
"@hapi/hoek" "8.x.x"
|
||||||
"@hapi/topo" "3.x.x"
|
"@hapi/topo" "3.x.x"
|
||||||
|
|
||||||
"@hapi/joi@^17.0.2":
|
"@hapi/joi@^16.1.8":
|
||||||
version "17.0.2"
|
version "16.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-17.0.2.tgz#613d47f629eb3e4ae17c8065092bce46b87771a6"
|
resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-16.1.8.tgz#84c1f126269489871ad4e2decc786e0adef06839"
|
||||||
integrity sha512-84icw1yV3vbRzUidqFli1Gqr8diigOhTuKzlu3gqBXBm4Lukqe5apjyeJJhGO4rO/J3NiRjy1vXQ5bmhc5+fUA==
|
integrity sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==
|
||||||
|
dependencies:
|
||||||
|
"@hapi/address" "^2.1.2"
|
||||||
|
"@hapi/formula" "^1.2.0"
|
||||||
|
"@hapi/hoek" "^8.2.4"
|
||||||
|
"@hapi/pinpoint" "^1.0.2"
|
||||||
|
"@hapi/topo" "^3.1.3"
|
||||||
|
|
||||||
|
"@hapi/joi@^17.1.0":
|
||||||
|
version "17.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-17.1.0.tgz#cc4000b6c928a6a39b9bef092151b6bdee10ce55"
|
||||||
|
integrity sha512-ob67RcPlwRWxBzLCnWvcwx5qbwf88I3ykD7gcJLWOTRfLLgosK7r6aeChz4thA3XRvuBfI0KB1tPVl2EQFlPXw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@hapi/address" "^4.0.0"
|
"@hapi/address" "^4.0.0"
|
||||||
"@hapi/formula" "^2.0.0"
|
"@hapi/formula" "^2.0.0"
|
||||||
@ -898,6 +924,11 @@
|
|||||||
"@hapi/pinpoint" "^2.0.0"
|
"@hapi/pinpoint" "^2.0.0"
|
||||||
"@hapi/topo" "^5.0.0"
|
"@hapi/topo" "^5.0.0"
|
||||||
|
|
||||||
|
"@hapi/pinpoint@^1.0.2":
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-1.0.2.tgz#025b7a36dbbf4d35bf1acd071c26b20ef41e0d13"
|
||||||
|
integrity sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==
|
||||||
|
|
||||||
"@hapi/pinpoint@^2.0.0":
|
"@hapi/pinpoint@^2.0.0":
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df"
|
resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df"
|
||||||
@ -910,6 +941,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@hapi/hoek" "8.x.x"
|
"@hapi/hoek" "8.x.x"
|
||||||
|
|
||||||
|
"@hapi/topo@^3.1.3":
|
||||||
|
version "3.1.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
|
||||||
|
integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==
|
||||||
|
dependencies:
|
||||||
|
"@hapi/hoek" "^8.3.0"
|
||||||
|
|
||||||
"@hapi/topo@^5.0.0":
|
"@hapi/topo@^5.0.0":
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.0.0.tgz#c19af8577fa393a06e9c77b60995af959be721e7"
|
resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.0.0.tgz#c19af8577fa393a06e9c77b60995af959be721e7"
|
||||||
@ -5962,19 +6000,19 @@ merge2@^1.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
|
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
|
||||||
integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
|
integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
|
||||||
|
|
||||||
metascraper-audio@^5.10.3:
|
metascraper-audio@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-5.10.3.tgz#ce0c3a895f8d45c488c5b5916038f6479c8b0f31"
|
resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-5.10.5.tgz#7f292bfb66516753672a52dec083fabdc05edfbd"
|
||||||
integrity sha512-L4ft5y36MJPZt8Odzbpzm5/iazNaDPHy6EkQtzDYwr7yoOJTrUE+RMkiYRz81HBl/ThRh0Ez4RuTNVNQfNsQZA==
|
integrity sha512-S3Wrzfgf0zpl8rjYN1NBMEz0FCcpbtTV/+QxktLqSeJv/kzLfUWrYQadOMv9++EQpIc8umBgVwHeZ6+1TCBVgA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-author@^5.10.3:
|
metascraper-author@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-5.10.3.tgz#b867875e6b08925c0cf5f9d4c841ba3165382841"
|
resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-5.10.5.tgz#f863dfc577ea4069f984c74608a46f22c67fd082"
|
||||||
integrity sha512-kJmQf6IER9rUVLrLVIp7JiO8QjbOMp209rea4t/5pUjYmSAL6pj9JiU2XVnTe0lZroxoqgV3DdZLJUUUrB1s2w==
|
integrity sha512-5fN5LS0RwbfUE5W4Tw9+Vn598+P3zAvkXBkVAaWxy92Uoy4gQyIptjTIs1at9GIOOr2eLgN9pD2qxIso6SU/hw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
lodash "~4.17.15"
|
lodash "~4.17.15"
|
||||||
|
|
||||||
metascraper-clearbit-logo@^5.3.0:
|
metascraper-clearbit-logo@^5.3.0:
|
||||||
@ -5984,12 +6022,12 @@ metascraper-clearbit-logo@^5.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
got "~9.6.0"
|
got "~9.6.0"
|
||||||
|
|
||||||
metascraper-date@^5.10.3:
|
metascraper-date@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.10.3.tgz#bd2636c32caf89cb8e46219bba5792f140bd624f"
|
resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.10.5.tgz#07be5149b9a0502e872080f1d474b2fff34c8361"
|
||||||
integrity sha512-H4LZgJbfaTlkn56ZvO6C0XtERmIcJoZPhZKxyu6yTTxUYhGKho0M430TZZoGU5sTVTRlDEOtVICMKu+0yz+eog==
|
integrity sha512-BPujzdQ61XYjpPWZLwDmz5ZuQ4Sd4sB9+WKHN7j0gaHfmiWbm7QAKQm8YIjyNwuFysOYBYPI772cEePN6zdn7Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-description@^5.10.5:
|
metascraper-description@^5.10.5:
|
||||||
version "5.10.5"
|
version "5.10.5"
|
||||||
@ -5998,12 +6036,12 @@ metascraper-description@^5.10.5:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.5"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-image@^5.10.3:
|
metascraper-image@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-image/-/metascraper-image-5.10.3.tgz#853eb464c3b717f8fe4ac8bf31c4b2bc39b83216"
|
resolved "https://registry.yarnpkg.com/metascraper-image/-/metascraper-image-5.10.5.tgz#3c4b897abacab78b7794d472fade1e195a4e7031"
|
||||||
integrity sha512-22/WPf9A+jUc/Unvpfursi6FAfo/s71Pq/N9jiTNxBgOjfrUWjrzzw8qUKBxTc7Dwz1mERfDn2B0f/tKdsBAFA==
|
integrity sha512-1YTNu3NaOGwRs0XmlQnmatEepYggwA5HyVxE05IxzNZ9oZdb26A0bwxbXSxSNNRerhcMNdePReHlqjVAk/W1TA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-lang-detector@^4.10.2:
|
metascraper-lang-detector@^4.10.2:
|
||||||
version "4.10.2"
|
version "4.10.2"
|
||||||
@ -6014,26 +6052,26 @@ metascraper-lang-detector@^4.10.2:
|
|||||||
franc "~4.0.0"
|
franc "~4.0.0"
|
||||||
iso-639-3 "~1.1.0"
|
iso-639-3 "~1.1.0"
|
||||||
|
|
||||||
metascraper-lang@^5.10.3:
|
metascraper-lang@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-5.10.3.tgz#497f90559b6070e155d1c76f91e48275c823af9a"
|
resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-5.10.5.tgz#8d62f8a398863b8bf785f730319f0cf0a5bff3ba"
|
||||||
integrity sha512-3AdLZ+WiK+byaQSLGmkfanJSQalHvhXqyn/kaaCXraztDx5gsoNs8QskRlM9kxxKID5obbYSqMn9Eb9RLFki+g==
|
integrity sha512-DzpZSkze6p/MDIrK4g+jl/lbgTIBW8FdERCD8LnmzFLtSYDr/U3e9SB+d7wLlrWSPm0JBKkVajwzkQGx6GKqGQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-logo@^5.10.3:
|
metascraper-logo@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.10.3.tgz#22847c9ba65d8ae8e8af05d838f1da0953215300"
|
resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.10.5.tgz#5bbd3981391b0984bf85e67644a94ad65b04868b"
|
||||||
integrity sha512-8bliBXhe638D5A1gFh3q07rxYMCD6WOgywKFKPLcgOb0YybOU0MlrHkInXaGLMGCinULw3cXCn67b/+11mbmHA==
|
integrity sha512-ygKvX+EIuU6eCqigW+nGFPkXri1EyHeSpu6P37Sg6jXfgo+eZL8B2ophKtG4lOnc5yZjMFKdv+PaADGhXUsUWg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-publisher@^5.10.3:
|
metascraper-publisher@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-5.10.3.tgz#caf9dabdae2c118db2125aa34c321e527e88279b"
|
resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-5.10.5.tgz#8797e419886f084adefcb7b8a642552b2a65ea38"
|
||||||
integrity sha512-l2W6YKqybvvhmqEOIvLmb9hTycH5JeIQ8O3d1q21hT3IwMW3BCmy4TyiSoPS+6vWlss0VYdQ8rzmESWdniGRWA==
|
integrity sha512-YTY5UlkVa/htrm8t+O8qCrl2l24PffXkwvGStYJB2vA984WsR0XfhDuDqHqUZiQoSYBx/Za9wi74k6LWPnL4yA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-soundcloud@^5.10.5:
|
metascraper-soundcloud@^5.10.5:
|
||||||
version "5.10.5"
|
version "5.10.5"
|
||||||
@ -6043,27 +6081,27 @@ metascraper-soundcloud@^5.10.5:
|
|||||||
"@metascraper/helpers" "^5.10.5"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
tldts "~5.6.3"
|
tldts "~5.6.3"
|
||||||
|
|
||||||
metascraper-title@^5.10.3:
|
metascraper-title@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-5.10.3.tgz#549e35616f3fbc3ecae5fff8f5adc677f0e43a2d"
|
resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-5.10.5.tgz#719164bfc2d934ddad4fa3bae86eba750729a0bd"
|
||||||
integrity sha512-HrYrZ/jOarFFvxUjuefBT9q4KDUqZnkvDhQM7WQ/8qE1Eht5WsijBxqWsDvONxIW/VhELhXendvt6MU9t+y2yA==
|
integrity sha512-ukiLgQ4CNto1eA9edKB1QN0qFczJRZItBsTpmns6AEezQfDYs4M/LZyjnMCTVmZXYABliU53Ut+Yhf5g9uvX+w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
lodash "~4.17.15"
|
lodash "~4.17.15"
|
||||||
|
|
||||||
metascraper-url@^5.10.3:
|
metascraper-url@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-5.10.3.tgz#95be7d8d27fae9b9e945dd0121669cd726b23618"
|
resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-5.10.5.tgz#b4a9951143e19f39e3bf62d93e060ece9bdba6d4"
|
||||||
integrity sha512-38K6yodNfQRnrACXTZ76rE17WalwdW0ov1wjpPO0FP8LKJ/3I/GcBW8LOgwdMeyzlBBuF7UzPYPlLQzp1RZpMQ==
|
integrity sha512-fdPPDk1/hq8vRTxwnLtUV55FpclJfhfBLxYLekTSRGqQbqSlXLNpncj2LjrvRUc0yw0oT2fEsTYzb56OQmh2Aw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
|
|
||||||
metascraper-video@^5.10.3:
|
metascraper-video@^5.10.5:
|
||||||
version "5.10.3"
|
version "5.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.10.3.tgz#deb0510b247aff0c9f1777a9d790f0aa55fa2890"
|
resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.10.5.tgz#56e5d286a83dcd90c76308c59890b272fc1c9bb9"
|
||||||
integrity sha512-xXGtPWX1RYSEOkLDvIzD20+o4hrSYycN31briMwQkjL7ZcuSfGgILDOCXSnT+WcpEbRNNxAOmODvAxU5qGnqjQ==
|
integrity sha512-wqTyROU5TbvNhmyhhO9G2Dko0Hiho8dzfVIUh4rF760Kf3J3O9FEXo9NTgKJJGB7Gg0sNaWZt7fvWsmWIzY7UA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@metascraper/helpers" "^5.10.3"
|
"@metascraper/helpers" "^5.10.5"
|
||||||
lodash "~4.17.15"
|
lodash "~4.17.15"
|
||||||
|
|
||||||
metascraper-youtube@^5.10.5:
|
metascraper-youtube@^5.10.5:
|
||||||
@ -7405,19 +7443,19 @@ repeat-string@^1.5.2, repeat-string@^1.6.1:
|
|||||||
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
||||||
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
||||||
|
|
||||||
request-promise-core@1.1.2:
|
request-promise-core@1.1.3:
|
||||||
version "1.1.2"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
|
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9"
|
||||||
integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
|
integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.11"
|
lodash "^4.17.15"
|
||||||
|
|
||||||
request-promise-native@^1.0.5:
|
request-promise-native@^1.0.5, request-promise-native@^1.0.8:
|
||||||
version "1.0.7"
|
version "1.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
|
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36"
|
||||||
integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
|
integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
request-promise-core "1.1.2"
|
request-promise-core "1.1.3"
|
||||||
stealthy-require "^1.1.1"
|
stealthy-require "^1.1.1"
|
||||||
tough-cookie "^2.3.3"
|
tough-cookie "^2.3.3"
|
||||||
|
|
||||||
@ -7562,22 +7600,10 @@ run-parallel@^1.1.9:
|
|||||||
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
|
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
|
||||||
integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
|
integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
|
||||||
|
|
||||||
rx@^4.1.0:
|
rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.5.4:
|
||||||
version "4.1.0"
|
version "6.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
|
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
|
||||||
integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=
|
integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==
|
||||||
|
|
||||||
rxjs@^6.4.0:
|
|
||||||
version "6.5.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
|
|
||||||
integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
|
|
||||||
dependencies:
|
|
||||||
tslib "^1.9.0"
|
|
||||||
|
|
||||||
rxjs@^6.5.2:
|
|
||||||
version "6.5.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a"
|
|
||||||
integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==
|
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib "^1.9.0"
|
tslib "^1.9.0"
|
||||||
|
|
||||||
@ -7618,10 +7644,10 @@ sane@^4.0.3:
|
|||||||
minimist "^1.1.1"
|
minimist "^1.1.1"
|
||||||
walker "~1.0.5"
|
walker "~1.0.5"
|
||||||
|
|
||||||
sanitize-html@~1.20.1:
|
sanitize-html@~1.21.1:
|
||||||
version "1.20.1"
|
version "1.21.1"
|
||||||
resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz#f6effdf55dd398807171215a62bfc21811bacf85"
|
resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.21.1.tgz#1647d15c0c672901aa41eac1b86d0c38146d30ce"
|
||||||
integrity sha512-txnH8TQjaQvg2Q0HY06G6CDJLVYCpbnxrdO0WN8gjCKaU5J0KbyGYhZxx5QJg3WLZ1lB7XU9kDkfrCXUozqptA==
|
integrity sha512-W6enXSVphVaVbmVbzVngBthR5f5sMmhq3EfPfBlzBzp2WnX8Rnk7NGpP7KmHUc0Y3MVk9tv/+CbpdHchX9ai7g==
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^2.4.1"
|
chalk "^2.4.1"
|
||||||
htmlparser2 "^3.10.0"
|
htmlparser2 "^3.10.0"
|
||||||
@ -8754,16 +8780,17 @@ w3c-hr-time@^1.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
browser-process-hrtime "^0.1.2"
|
browser-process-hrtime "^0.1.2"
|
||||||
|
|
||||||
wait-on@~3.3.0:
|
wait-on@~4.0.0:
|
||||||
version "3.3.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz#9940981d047a72a9544a97b8b5fca45b2170a082"
|
resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-4.0.0.tgz#4d7e4485ca759968897fd3b0cc50720c0b4ca959"
|
||||||
integrity sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==
|
integrity sha512-QrW3J8LzS5ADPfD9Rx5S6KJck66xkqyiFKQs9jmUTkIhiEOmkzU7WRZc+MjsnmkrgjitS2xQ4bb13hnlQnKBUQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@hapi/joi" "^15.0.3"
|
"@hapi/joi" "^16.1.8"
|
||||||
core-js "^2.6.5"
|
lodash "^4.17.15"
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
request "^2.88.0"
|
request "^2.88.0"
|
||||||
rx "^4.1.0"
|
request-promise-native "^1.0.8"
|
||||||
|
rxjs "^6.5.4"
|
||||||
|
|
||||||
walker@^1.0.7, walker@~1.0.5:
|
walker@^1.0.7, walker@~1.0.5:
|
||||||
version "1.0.7"
|
version "1.0.7"
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { gql } from '../../../backend/src/helpers/jest'
|
|||||||
let lastReportTitle
|
let lastReportTitle
|
||||||
let davidIrvingPostTitle = 'The Truth about the Holocaust'
|
let davidIrvingPostTitle = 'The Truth about the Holocaust'
|
||||||
let davidIrvingPostSlug = 'the-truth-about-the-holocaust'
|
let davidIrvingPostSlug = 'the-truth-about-the-holocaust'
|
||||||
let annoyingUserWhoBlockedModeratorTitle = 'Fake news'
|
let annoyingUserWhoMutedModeratorTitle = 'Fake news'
|
||||||
|
|
||||||
const savePostTitle = $post => {
|
const savePostTitle = $post => {
|
||||||
return $post
|
return $post
|
||||||
@ -147,9 +147,9 @@ Then('I see all the reported posts including the one from above', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Then('I see all the reported posts including from the user who blocked me', () => {
|
Then('I see all the reported posts including from the user who muted me', () => {
|
||||||
cy.get('table tbody').within(() => {
|
cy.get('table tbody').within(() => {
|
||||||
cy.contains('tr', annoyingUserWhoBlockedModeratorTitle)
|
cy.contains('tr', annoyingUserWhoMutedModeratorTitle)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -159,9 +159,9 @@ Then('each list item links to the post page', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
Then('I can visit the post page', () => {
|
Then('I can visit the post page', () => {
|
||||||
cy.contains(annoyingUserWhoBlockedModeratorTitle).click()
|
cy.contains(annoyingUserWhoMutedModeratorTitle).click()
|
||||||
cy.location('pathname').should('contain', '/post')
|
cy.location('pathname').should('contain', '/post')
|
||||||
.get('h3').should('contain', annoyingUserWhoBlockedModeratorTitle)
|
.get('h3').should('contain', annoyingUserWhoMutedModeratorTitle)
|
||||||
})
|
})
|
||||||
|
|
||||||
When("they have a post someone has reported", () => {
|
When("they have a post someone has reported", () => {
|
||||||
|
|||||||
@ -29,10 +29,20 @@ const narratorParams = {
|
|||||||
...termsAndConditionsAgreedVersion,
|
...termsAndConditionsAgreedVersion,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const annoyingParams = {
|
||||||
|
email: "spammy-spammer@example.org",
|
||||||
|
password: "1234",
|
||||||
|
...termsAndConditionsAgreedVersion
|
||||||
|
};
|
||||||
|
|
||||||
Given("I am logged in", () => {
|
Given("I am logged in", () => {
|
||||||
cy.login(loginCredentials);
|
cy.login(loginCredentials);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Given("I am logged in as the muted user", () => {
|
||||||
|
cy.login({ email: annoyingParams.email, password: '1234' });
|
||||||
|
});
|
||||||
|
|
||||||
Given("we have a selection of categories", () => {
|
Given("we have a selection of categories", () => {
|
||||||
cy.createCategories("cat0", "just-for-fun");
|
cy.createCategories("cat0", "just-for-fun");
|
||||||
});
|
});
|
||||||
@ -227,7 +237,6 @@ Given("I previously created a post", () => {
|
|||||||
lastPost.authorId = narratorParams.id
|
lastPost.authorId = narratorParams.id
|
||||||
lastPost.title = "previously created post";
|
lastPost.title = "previously created post";
|
||||||
lastPost.content = "with some content";
|
lastPost.content = "with some content";
|
||||||
lastPost.categoryIds = ["cat0"];
|
|
||||||
cy.factory()
|
cy.factory()
|
||||||
.create("Post", lastPost);
|
.create("Post", lastPost);
|
||||||
});
|
});
|
||||||
@ -407,11 +416,6 @@ Then("there are no notifications in the top menu", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Given("there is an annoying user called {string}", name => {
|
Given("there is an annoying user called {string}", name => {
|
||||||
const annoyingParams = {
|
|
||||||
email: "spammy-spammer@example.org",
|
|
||||||
password: "1234",
|
|
||||||
...termsAndConditionsAgreedVersion
|
|
||||||
};
|
|
||||||
cy.factory().create("User", {
|
cy.factory().create("User", {
|
||||||
...annoyingParams,
|
...annoyingParams,
|
||||||
id: "annoying-user",
|
id: "annoying-user",
|
||||||
@ -420,17 +424,17 @@ Given("there is an annoying user called {string}", name => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Given("there is an annoying user who has blocked me", () => {
|
Given("there is an annoying user who has muted me", () => {
|
||||||
cy.neode()
|
cy.neode()
|
||||||
.first("User", {
|
.first("User", {
|
||||||
role: 'moderator'
|
role: 'moderator'
|
||||||
})
|
})
|
||||||
.then(blocked => {
|
.then(mutedUser => {
|
||||||
cy.neode()
|
cy.neode()
|
||||||
.first("User", {
|
.first("User", {
|
||||||
id: 'annoying-user'
|
id: 'annoying-user'
|
||||||
})
|
})
|
||||||
.relateTo(blocked, "blocked");
|
.relateTo(mutedUser, "muted");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -514,17 +518,17 @@ Given("I wrote a post {string}", title => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
When("I block the user {string}", name => {
|
When("I mute the user {string}", name => {
|
||||||
cy.neode()
|
cy.neode()
|
||||||
.first("User", {
|
.first("User", {
|
||||||
name
|
name
|
||||||
})
|
})
|
||||||
.then(blocked => {
|
.then(mutedUser => {
|
||||||
cy.neode()
|
cy.neode()
|
||||||
.first("User", {
|
.first("User", {
|
||||||
name: narratorParams.name
|
name: narratorParams.name
|
||||||
})
|
})
|
||||||
.relateTo(blocked, "blocked");
|
.relateTo(mutedUser, "muted");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ Feature: Report and Moderate
|
|||||||
Given we have the following user accounts:
|
Given we have the following user accounts:
|
||||||
| id | name |
|
| id | name |
|
||||||
| u67 | David Irving |
|
| u67 | David Irving |
|
||||||
| annoying-user | I'm gonna block Moderators and Admins HA HA HA |
|
| annoying-user | I'm gonna mute Moderators and Admins HA HA HA |
|
||||||
|
|
||||||
Given we have the following posts in our database:
|
Given we have the following posts in our database:
|
||||||
| authorId | id | title | content |
|
| authorId | id | title | content |
|
||||||
@ -58,16 +58,16 @@ Feature: Report and Moderate
|
|||||||
Then I see all the reported posts including the one from above
|
Then I see all the reported posts including the one from above
|
||||||
And each list item links to the post page
|
And each list item links to the post page
|
||||||
|
|
||||||
Scenario: Review reported posts of a user who's blocked a moderator
|
Scenario: Review reported posts of a user who's muted a moderator
|
||||||
Given somebody reported the following posts:
|
Given somebody reported the following posts:
|
||||||
| submitterEmail | resourceId | reasonCategory | reasonDescription |
|
| submitterEmail | resourceId | reasonCategory | reasonDescription |
|
||||||
| p2.submitter@example.org | p2 | other | Offensive content |
|
| p2.submitter@example.org | p2 | other | Offensive content |
|
||||||
And my user account has the role "moderator"
|
And my user account has the role "moderator"
|
||||||
And there is an annoying user who has blocked me
|
And there is an annoying user who has muted me
|
||||||
And I am logged in
|
And I am logged in
|
||||||
When I click on the avatar menu in the top right corner
|
When I click on the avatar menu in the top right corner
|
||||||
And I click on "Moderation"
|
And I click on "Moderation"
|
||||||
Then I see all the reported posts including from the user who blocked me
|
Then I see all the reported posts including from the user who muted me
|
||||||
And I can visit the post page
|
And I can visit the post page
|
||||||
|
|
||||||
Scenario: Normal user can't see the moderation page
|
Scenario: Normal user can't see the moderation page
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
Feature: Block a User
|
|
||||||
As a user
|
|
||||||
I'd like to have a button to block another user
|
|
||||||
To prevent him from seeing and interacting with my contributions and also to avoid seeing his/her posts
|
|
||||||
|
|
||||||
Background:
|
|
||||||
Given I have a user account
|
|
||||||
And there is an annoying user called "Spammy Spammer"
|
|
||||||
|
|
||||||
Scenario Outline: Blocked users cannot see each others posts
|
|
||||||
Given "Spammy Spammer" wrote a post "Spam Spam Spam"
|
|
||||||
And I wrote a post "I hate spammers"
|
|
||||||
And I block the user "Spammy Spammer"
|
|
||||||
When I log in with:
|
|
||||||
| Email | Password |
|
|
||||||
| <email> | <password> |
|
|
||||||
Then I see only one post with the title "<expected_title>"
|
|
||||||
Examples:
|
|
||||||
| email | password | expected_title |
|
|
||||||
| peterpan@example.org | 1234 | I hate spammers |
|
|
||||||
| spammy-spammer@example.org | 1234 | Spam Spam Spam |
|
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Feature: Block a User
|
Feature: Mute a User
|
||||||
As a user
|
As a user
|
||||||
I'd like to have a button to block another user
|
I'd like to have a button to mute another user
|
||||||
To prevent him from seeing and interacting with my contributions and also to avoid seeing his/her posts
|
To prevent him from seeing and interacting with my contributions and also to avoid seeing his/her posts
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
@ -8,36 +8,46 @@ Feature: Block a User
|
|||||||
And there is an annoying user called "Spammy Spammer"
|
And there is an annoying user called "Spammy Spammer"
|
||||||
And I am logged in
|
And I am logged in
|
||||||
|
|
||||||
Scenario: Block a user
|
Scenario: Mute a user
|
||||||
Given I am on the profile page of the annoying user
|
Given I am on the profile page of the annoying user
|
||||||
When I click on "Block user" from the content menu in the user info box
|
When I click on "Mute user" from the content menu in the user info box
|
||||||
And I navigate to my "Blocked users" settings page
|
And I navigate to my "Muted users" settings page
|
||||||
Then I can see the following table:
|
Then I can see the following table:
|
||||||
| Avatar | Name |
|
| Avatar | Name |
|
||||||
| | Spammy Spammer |
|
| | Spammy Spammer |
|
||||||
|
|
||||||
Scenario: Block a previously followed user
|
Scenario: Mute a previously followed user
|
||||||
Given I follow the user "Spammy Spammer"
|
Given I follow the user "Spammy Spammer"
|
||||||
And "Spammy Spammer" wrote a post "Spam Spam Spam"
|
And "Spammy Spammer" wrote a post "Spam Spam Spam"
|
||||||
When I visit the profile page of the annoying user
|
When I visit the profile page of the annoying user
|
||||||
And I click on "Block user" from the content menu in the user info box
|
And I click on "Mute user" from the content menu in the user info box
|
||||||
Then the list of posts of this user is empty
|
Then the list of posts of this user is empty
|
||||||
And nobody is following the user profile anymore
|
And nobody is following the user profile anymore
|
||||||
|
|
||||||
Scenario: Posts of blocked users are filtered from search results
|
Scenario: Posts of muted users are filtered from search results
|
||||||
Given we have the following posts in our database:
|
Given we have the following posts in our database:
|
||||||
| id | title | content |
|
| id | title | content |
|
||||||
| im-not-blocked | Post that should be seen | cause I'm not blocked |
|
| im-not-muted | Post that should be seen | cause I'm not muted |
|
||||||
Given "Spammy Spammer" wrote a post "Spam Spam Spam"
|
Given "Spammy Spammer" wrote a post "Spam Spam Spam"
|
||||||
When I search for "Spam"
|
When I search for "Spam"
|
||||||
Then I should see the following posts in the select dropdown:
|
Then I should see the following posts in the select dropdown:
|
||||||
| title |
|
| title |
|
||||||
| Spam Spam Spam |
|
| Spam Spam Spam |
|
||||||
When I block the user "Spammy Spammer"
|
When I mute the user "Spammy Spammer"
|
||||||
And I refresh the page
|
And I refresh the page
|
||||||
And I search for "Spam"
|
And I search for "Spam"
|
||||||
Then the search has no results
|
Then the search has no results
|
||||||
But I search for "not blocked"
|
But I search for "not muted"
|
||||||
Then I should see the following posts in the select dropdown:
|
Then I should see the following posts in the select dropdown:
|
||||||
| title |
|
| title |
|
||||||
| Post that should be seen |
|
| Post that should be seen |
|
||||||
|
|
||||||
|
Scenario: Muted users can still see my posts
|
||||||
|
Given I previously created a post
|
||||||
|
And I mute the user "Spammy Spammer"
|
||||||
|
Given I log out
|
||||||
|
And I am logged in as the muted user
|
||||||
|
When I search for "previously created"
|
||||||
|
Then I should see the following posts in the select dropdown:
|
||||||
|
| title |
|
||||||
|
| previously created post |
|
||||||
@ -60,6 +60,7 @@ Cypress.Commands.add("login", ({ email, password }) => {
|
|||||||
.as("submitButton")
|
.as("submitButton")
|
||||||
.click();
|
.click();
|
||||||
cy.get(".iziToast-message").should("contain", "You are logged in!");
|
cy.get(".iziToast-message").should("contain", "You are logged in!");
|
||||||
|
cy.location("pathname").should("eq", "/");
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add("logout", (email, password) => {
|
Cypress.Commands.add("logout", (email, password) => {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "human-connection",
|
"name": "human-connection",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"description": "Fullstack and API tests with cypress and cucumber for Human Connection",
|
"description": "Fullstack and API tests with cypress and cucumber for Human Connection",
|
||||||
"author": "Human Connection gGmbh",
|
"author": "Human Connection gGmbh",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -18,8 +18,8 @@
|
|||||||
"cypress:backend": "cd backend && yarn run dev",
|
"cypress:backend": "cd backend && yarn run dev",
|
||||||
"cypress:webapp": "cd webapp && yarn run dev",
|
"cypress:webapp": "cd webapp && yarn run dev",
|
||||||
"cypress:setup": "run-p cypress:backend cypress:webapp",
|
"cypress:setup": "run-p cypress:backend cypress:webapp",
|
||||||
"cypress:run": "cross-env cypress run --browser chromium",
|
"cypress:run": "cross-env cypress run",
|
||||||
"cypress:open": "cross-env cypress open --browser chromium",
|
"cypress:open": "cross-env cypress open",
|
||||||
"cucumber:setup": "cd backend && yarn run dev",
|
"cucumber:setup": "cd backend && yarn run dev",
|
||||||
"cucumber": "wait-on tcp:4000 && cucumber-js --require-module @babel/register --exit",
|
"cucumber": "wait-on tcp:4000 && cucumber-js --require-module @babel/register --exit",
|
||||||
"release": "standard-version"
|
"release": "standard-version"
|
||||||
|
|||||||
@ -407,49 +407,49 @@ describe('ContentMenu.vue', () => {
|
|||||||
).toBe('/settings')
|
).toBe('/settings')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('can block other users', () => {
|
it('can mute other users', () => {
|
||||||
const wrapper = openContentMenu({
|
const wrapper = openContentMenu({
|
||||||
isOwner: false,
|
isOwner: false,
|
||||||
resourceType: 'user',
|
resourceType: 'user',
|
||||||
resource: {
|
resource: {
|
||||||
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
||||||
isBlocked: false,
|
isMuted: false,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
wrapper
|
wrapper
|
||||||
.findAll('.ds-menu-item')
|
.findAll('.ds-menu-item')
|
||||||
.filter(item => item.text() === 'settings.blocked-users.block')
|
.filter(item => item.text() === 'settings.muted-users.mute')
|
||||||
.at(0)
|
.at(0)
|
||||||
.trigger('click')
|
.trigger('click')
|
||||||
expect(wrapper.emitted('block')).toEqual([
|
expect(wrapper.emitted('mute')).toEqual([
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
||||||
isBlocked: false,
|
isMuted: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
|
||||||
it('can unblock blocked users', () => {
|
it('can unmute muted users', () => {
|
||||||
const wrapper = openContentMenu({
|
const wrapper = openContentMenu({
|
||||||
isOwner: false,
|
isOwner: false,
|
||||||
resourceType: 'user',
|
resourceType: 'user',
|
||||||
resource: {
|
resource: {
|
||||||
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
||||||
isBlocked: true,
|
isMuted: true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
wrapper
|
wrapper
|
||||||
.findAll('.ds-menu-item')
|
.findAll('.ds-menu-item')
|
||||||
.filter(item => item.text() === 'settings.blocked-users.unblock')
|
.filter(item => item.text() === 'settings.muted-users.unmute')
|
||||||
.at(0)
|
.at(0)
|
||||||
.trigger('click')
|
.trigger('click')
|
||||||
expect(wrapper.emitted('unblock')).toEqual([
|
expect(wrapper.emitted('unmute')).toEqual([
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
id: 'd23a4265-f5f7-4e17-9f86-85f714b4b9f8',
|
||||||
isBlocked: true,
|
isMuted: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
])
|
])
|
||||||
|
|||||||
@ -155,19 +155,19 @@ export default {
|
|||||||
icon: 'edit',
|
icon: 'edit',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
if (this.resource.isBlocked) {
|
if (this.resource.isMuted) {
|
||||||
routes.push({
|
routes.push({
|
||||||
label: this.$t(`settings.blocked-users.unblock`),
|
label: this.$t(`settings.muted-users.unmute`),
|
||||||
callback: () => {
|
callback: () => {
|
||||||
this.$emit('unblock', this.resource)
|
this.$emit('unmute', this.resource)
|
||||||
},
|
},
|
||||||
icon: 'user-plus',
|
icon: 'user-plus',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
routes.push({
|
routes.push({
|
||||||
label: this.$t(`settings.blocked-users.block`),
|
label: this.$t(`settings.muted-users.mute`),
|
||||||
callback: () => {
|
callback: () => {
|
||||||
this.$emit('block', this.resource)
|
this.$emit('mute', this.resource)
|
||||||
},
|
},
|
||||||
icon: 'user-times',
|
icon: 'user-times',
|
||||||
})
|
})
|
||||||
|
|||||||
@ -48,7 +48,7 @@ export const user = {
|
|||||||
],
|
],
|
||||||
followedByCount: 0,
|
followedByCount: 0,
|
||||||
followedByCurrentUser: false,
|
followedByCurrentUser: false,
|
||||||
isBlocked: false,
|
isMuted: false,
|
||||||
followedBy: [],
|
followedBy: [],
|
||||||
socialMedia: [],
|
socialMedia: [],
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export default i18n => {
|
|||||||
locationName
|
locationName
|
||||||
createdAt
|
createdAt
|
||||||
followedByCurrentUser
|
followedByCurrentUser
|
||||||
isBlocked
|
isMuted
|
||||||
following(first: 7) {
|
following(first: 7) {
|
||||||
...user
|
...user
|
||||||
...userCounts
|
...userCounts
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import gql from 'graphql-tag'
|
import gql from 'graphql-tag'
|
||||||
|
|
||||||
export const BlockedUsers = () => {
|
export const mutedUsers = () => {
|
||||||
return gql`
|
return gql`
|
||||||
{
|
{
|
||||||
blockedUsers {
|
mutedUsers {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
slug
|
slug
|
||||||
@ -16,26 +16,26 @@ export const BlockedUsers = () => {
|
|||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Block = () => {
|
export const muteUser = () => {
|
||||||
return gql`
|
return gql`
|
||||||
mutation($id: ID!) {
|
mutation($id: ID!) {
|
||||||
block(id: $id) {
|
muteUser(id: $id) {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
isBlocked
|
isMuted
|
||||||
followedByCurrentUser
|
followedByCurrentUser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Unblock = () => {
|
export const unmuteUser = () => {
|
||||||
return gql`
|
return gql`
|
||||||
mutation($id: ID!) {
|
mutation($id: ID!) {
|
||||||
unblock(id: $id) {
|
unmuteUser(id: $id) {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
isBlocked
|
isMuted
|
||||||
followedByCurrentUser
|
followedByCurrentUser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,9 +76,6 @@
|
|||||||
"download": {
|
"download": {
|
||||||
"name": "Daten herunterladen"
|
"name": "Daten herunterladen"
|
||||||
},
|
},
|
||||||
"delete": {
|
|
||||||
"name": "Konto löschen"
|
|
||||||
},
|
|
||||||
"organizations": {
|
"organizations": {
|
||||||
"name": "Meine Organisationen"
|
"name": "Meine Organisationen"
|
||||||
},
|
},
|
||||||
@ -145,26 +142,23 @@
|
|||||||
"successAdd": "Social-Media hinzugefügt. Profil aktualisiert!",
|
"successAdd": "Social-Media hinzugefügt. Profil aktualisiert!",
|
||||||
"successDelete": "Social-Media gelöscht. Profil aktualisiert!"
|
"successDelete": "Social-Media gelöscht. Profil aktualisiert!"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "Blockierte Benutzer",
|
"name": "Stummgeschaltete Benutzer",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "Wenn ein anderer Benutzer von dir blockiert wurde, dann passiert folgendes:",
|
"intro": "Wenn ein anderer Benutzer von dir stummgeschaltet wurde, dann passiert folgendes:",
|
||||||
"your-perspective": "In deiner Beitragsübersicht tauchen keine Beiträge der blockierten Person mehr auf.",
|
"your-perspective": "In deiner Beitragsübersicht tauchen keine Beiträge der stummgeschalteten Person mehr auf.",
|
||||||
"their-perspective": "Umgekehrt das gleiche: Die blockierte Person sieht deine Beiträge auch nicht mehr in ihrer Übersicht.",
|
"search": "Die Beiträge von stummgeschalteten Personen verschwinden aus deinen Suchergebnissen."
|
||||||
"search": "Die Beiträge von blockierten Personen verschwinden aus deinen Suchergebnissen.",
|
|
||||||
"notifications": "Von dir blockierte Personen erhalten keine Benachrichtigungen mehr, wenn sie in deinen Beiträgen erwähnt werden.",
|
|
||||||
"closing": "Das sollte fürs Erste genügen, damit blockierte Benutzer dich nicht mehr länger belästigen können."
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"slug": "Alias",
|
"slug": "Alias",
|
||||||
"unblock": "Entsperren"
|
"unmute": "Entsperren"
|
||||||
},
|
},
|
||||||
"empty": "Bislang hast du niemanden blockiert.",
|
"empty": "Bislang hast du niemanden stummgeschaltet.",
|
||||||
"how-to": "Du kannst andere Benutzer auf deren Profilseite über das Inhaltsmenü blockieren.",
|
"how-to": "Du kannst andere Benutzer auf deren Profilseite über das Inhaltsmenü stummschalten.",
|
||||||
"block": "Nutzer blockieren",
|
"mute": "Stumm schalten",
|
||||||
"unblock": "Nutzer entblocken",
|
"unmute": "Stummschaltung aufheben",
|
||||||
"unblocked": "{name} ist wieder entsperrt"
|
"unmuted": "{name} ist nicht mehr stummgeschaltet"
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"name": "Privatsphäre",
|
"name": "Privatsphäre",
|
||||||
@ -217,11 +211,6 @@
|
|||||||
"categoryName": "Name",
|
"categoryName": "Name",
|
||||||
"postCount": "Beiträge"
|
"postCount": "Beiträge"
|
||||||
},
|
},
|
||||||
"tags": {
|
|
||||||
"name": "Schlagworte",
|
|
||||||
"tagCountUnique": "Benutzer",
|
|
||||||
"tagCount": "Beiträge"
|
|
||||||
},
|
|
||||||
"settings": {
|
"settings": {
|
||||||
"name": "Einstellungen"
|
"name": "Einstellungen"
|
||||||
},
|
},
|
||||||
@ -268,7 +257,7 @@
|
|||||||
},
|
},
|
||||||
"comment": {
|
"comment": {
|
||||||
"submit": "Kommentiere",
|
"submit": "Kommentiere",
|
||||||
"submitted": "Kommentar Gesendet",
|
"submitted": "Kommentar gesendet",
|
||||||
"updated": "Änderungen gespeichert"
|
"updated": "Änderungen gespeichert"
|
||||||
},
|
},
|
||||||
"edited": "bearbeitet"
|
"edited": "bearbeitet"
|
||||||
@ -444,8 +433,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"contribution": {
|
"contribution": {
|
||||||
"edit": "Beitrag bearbeiten",
|
|
||||||
"delete": "Beitrag löschen",
|
|
||||||
"title": "Titel",
|
"title": "Titel",
|
||||||
"newPost": "Erstelle einen neuen Beitrag",
|
"newPost": "Erstelle einen neuen Beitrag",
|
||||||
"filterFollow": "Beiträge filtern von Usern denen ich folge",
|
"filterFollow": "Beiträge filtern von Usern denen ich folge",
|
||||||
@ -485,13 +472,11 @@
|
|||||||
},
|
},
|
||||||
"teaserImage": {
|
"teaserImage": {
|
||||||
"cropperConfirm": "Bestätigen"
|
"cropperConfirm": "Bestätigen"
|
||||||
},
|
},
|
||||||
"inappropriatePicture" : "Dieses Bild kann für einige Menschen unangemessen sein.",
|
"inappropriatePicture" : "Dieses Bild kann für einige Menschen unangemessen sein.",
|
||||||
"inappropriatePictureText" : "Wann soll ein Foto versteckt werden"
|
"inappropriatePictureText" : "Wann soll ein Foto versteckt werden"
|
||||||
},
|
},
|
||||||
"comment": {
|
"comment": {
|
||||||
"edit": "Kommentar bearbeiten",
|
|
||||||
"delete": "Kommentar löschen",
|
|
||||||
"content": {
|
"content": {
|
||||||
"unavailable-placeholder": "… dieser Kommentar ist nicht mehr verfügbar"
|
"unavailable-placeholder": "… dieser Kommentar ist nicht mehr verfügbar"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -312,26 +312,23 @@
|
|||||||
"successAdd": "Added social media. Updated user profile!",
|
"successAdd": "Added social media. Updated user profile!",
|
||||||
"successDelete": "Deleted social media. Updated user profile!"
|
"successDelete": "Deleted social media. Updated user profile!"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "Blocked users",
|
"name": "Muted users",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "If another user has been blocked by you, this is what happens:",
|
"intro": "If another user has been muted by you, this is what happens:",
|
||||||
"your-perspective": "The blocked person's posts will no longer appear in your news feed.",
|
"your-perspective": "The muted person's posts will no longer appear in your news feed.",
|
||||||
"their-perspective": "Vice versa: The blocked person will also no longer see your posts in their news feed.",
|
"search": "Posts of muted people disappear from your search results."
|
||||||
"search": "Posts of blocked people disappear from your search results.",
|
|
||||||
"notifications": "Blocked users will no longer receive notifications if they are mentioned in your posts.",
|
|
||||||
"closing": "This should be sufficient for now so that blocked users can no longer bother you."
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"slug": "Slug",
|
"slug": "Slug",
|
||||||
"unblock": "Unblock"
|
"unmute": "Unmute"
|
||||||
},
|
},
|
||||||
"empty": "So far, you have not blocked anybody.",
|
"empty": "So far, you have not muted anybody.",
|
||||||
"how-to": "You can block other users on their profile page via the content menu.",
|
"how-to": "You can mute other users on their profile page via the content menu.",
|
||||||
"block": "Block user",
|
"mute": "Mute user",
|
||||||
"unblock": "Unblock user",
|
"unmute": "Unmute user",
|
||||||
"unblocked": "{name} is unblocked again"
|
"unmuted": "{name} is unmuted again"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"admin": {
|
"admin": {
|
||||||
|
|||||||
@ -145,26 +145,23 @@
|
|||||||
"successAdd": "Social-Media agregó. Perfil actualizado!",
|
"successAdd": "Social-Media agregó. Perfil actualizado!",
|
||||||
"successDelete": "Social-Media borrado. Perfil actualizado!"
|
"successDelete": "Social-Media borrado. Perfil actualizado!"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "Usuarios bloqueados",
|
"name": "Usuarios bloqueados",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "Si otro usuario ha sido bloqueado por usted, esto es lo que sucede:",
|
"intro": "Si otro usuario ha sido bloqueado por usted, esto es lo que sucede:",
|
||||||
"your-perspective": "Las contribuciones de la persona bloqueada no aparecerán más en su canal de noticias.",
|
"your-perspective": "Las contribuciones de la persona bloqueada no aparecerán más en su canal de noticias.",
|
||||||
"their-perspective": "Viceversa: la persona bloqueada tampoco verá más sus contribuciones en sus noticias.",
|
"search": "Las contribuciones de personas bloqueadas desaparecen de los resultados de búsqueda."
|
||||||
"search": "Las contribuciones de personas bloqueadas desaparecen de los resultados de búsqueda.",
|
|
||||||
"notifications": "Los usuarios bloqueados no recibirán más notificaciones si se mencionan en sus contribuciones.",
|
|
||||||
"closing": "Esto debería ser suficiente por ahora para que los usuarios bloqueados no puedan molestarle más."
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Nombre",
|
"name": "Nombre",
|
||||||
"slug": "Alias",
|
"slug": "Alias",
|
||||||
"unblock": "Desbloquear"
|
"unmute": "Desbloquear"
|
||||||
},
|
},
|
||||||
"empty": "Hasta ahora, no ha bloqueado a nadie.",
|
"empty": "Hasta ahora, no ha bloqueado a nadie.",
|
||||||
"how-to": "Puede bloquear a otros usuarios en la página de perfil de aquellos a través del menú de contenido.",
|
"how-to": "Puede bloquear a otros usuarios en la página de perfil de aquellos a través del menú de contenido.",
|
||||||
"block": "Bloquear usuario",
|
"mute": "Bloquear usuario",
|
||||||
"unblock": "Desbloquear usuario",
|
"unmute": "Desbloquear usuario",
|
||||||
"unblocked": "{name} está desbloqueado nuevamente"
|
"unmuted": "{name} está desbloqueado nuevamente"
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"name": "Privacidad",
|
"name": "Privacidad",
|
||||||
|
|||||||
@ -145,26 +145,23 @@
|
|||||||
"successAdd": "Les médias sociaux ont été ajoutés. Profil mis à jour !",
|
"successAdd": "Les médias sociaux ont été ajoutés. Profil mis à jour !",
|
||||||
"successDelete": "Médias sociaux supprimé. Profil mis à jour !"
|
"successDelete": "Médias sociaux supprimé. Profil mis à jour !"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "Utilisateurs bloqués",
|
"name": "Utilisateurs bloqués",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "Si vous avez bloqué un autre utilisateur, voici ce qui se passe:",
|
"intro": "Si vous avez bloqué un autre utilisateur, voici ce qui se passe:",
|
||||||
"your-perspective": "Les postes de la personne bloquée n'apparaîtront dans votre fil d'actualités.",
|
"your-perspective": "Les postes de la personne bloquée n'apparaîtront dans votre fil d'actualités.",
|
||||||
"their-perspective": "Vice versa: la personne bloquée ne verra plus non plus vos postes dans son fil d'actualités.",
|
"search": "Les postes des personnes bloquées disparaissent de vos résultats de recherche."
|
||||||
"search": "Les postes des personnes bloquées disparaissent de vos résultats de recherche.",
|
|
||||||
"notifications": "Les utilisateurs bloqués ne recevront plus de notifications s'ils sont mentionnés dans vos postes.",
|
|
||||||
"closing": "Ceci devrait être suffisant pour le moment afin que les utilisateurs bloqués ne puissent plus vous déranger."
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Nom",
|
"name": "Nom",
|
||||||
"slug": "Slug",
|
"slug": "Slug",
|
||||||
"unblock": ""
|
"unmute": ""
|
||||||
},
|
},
|
||||||
"empty": "Jusqu'à présent, vous n'avez bloqué personne.",
|
"empty": "Jusqu'à présent, vous n'avez bloqué personne.",
|
||||||
"how-to": "Vous pouvez bloquer d'autres utilisateurs sur leur page de profil via le menu de contenu.",
|
"how-to": "Vous pouvez bloquer d'autres utilisateurs sur leur page de profil via le menu de contenu.",
|
||||||
"block": "Bloquer l'utilisateur",
|
"mute": "Bloquer l'utilisateur",
|
||||||
"unblock": "Débloquer l'utilisateur",
|
"unmute": "Débloquer l'utilisateur",
|
||||||
"unblocked": "{name} est à nouveau débloqué"
|
"unmuted": "{name} est à nouveau débloqué"
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"name": "",
|
"name": "",
|
||||||
|
|||||||
@ -145,26 +145,23 @@
|
|||||||
"successAdd": "Social media aggiunti. \nProfilo utente aggiornato ",
|
"successAdd": "Social media aggiunti. \nProfilo utente aggiornato ",
|
||||||
"successDelete": "Social media cancellati. Profilo utente aggiornato!"
|
"successDelete": "Social media cancellati. Profilo utente aggiornato!"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "",
|
"name": null,
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "",
|
"intro": null,
|
||||||
"your-perspective": "",
|
"your-perspective": null,
|
||||||
"their-perspective": "",
|
"search": null
|
||||||
"search": "",
|
|
||||||
"notifications": "",
|
|
||||||
"closing": ""
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "",
|
"name": null,
|
||||||
"slug": "",
|
"slug": null,
|
||||||
"unblock": ""
|
"unmute": null
|
||||||
},
|
},
|
||||||
"empty": "",
|
"empty": null,
|
||||||
"how-to": "",
|
"how-to": null,
|
||||||
"block": "",
|
"mute": null,
|
||||||
"unblock": "",
|
"unmute": null,
|
||||||
"unblocked": ""
|
"unmuted": null
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"name": "",
|
"name": "",
|
||||||
|
|||||||
@ -145,26 +145,23 @@
|
|||||||
"successAdd": "Mídias sociais adicionadas. Perfil de usuário atualizado!",
|
"successAdd": "Mídias sociais adicionadas. Perfil de usuário atualizado!",
|
||||||
"successDelete": "Mídias sociais removidas. Perfil de usuário atualizado!"
|
"successDelete": "Mídias sociais removidas. Perfil de usuário atualizado!"
|
||||||
},
|
},
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"name": "Usuários bloqueados",
|
"name": "Usuários bloqueados",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"intro": "Se outro usuário foi bloqueado por você, isto é o que acontece:",
|
"intro": "Se outro usuário foi bloqueado por você, isto é o que acontece:",
|
||||||
"your-perspective": "As mensagens da pessoa bloqueada não aparecerão mais no seu feed de notícias.",
|
"your-perspective": "As mensagens da pessoa bloqueada não aparecerão mais no seu feed de notícias.",
|
||||||
"their-perspective": "Vice versa: A pessoa bloqueada também não verá mais suas mensagens em seu feed de notícias.",
|
"search": "Publicações de pessoas bloqueadas desaparecem dos resultados da sua pesquisa."
|
||||||
"search": "Publicações de pessoas bloqueadas desaparecem dos resultados da sua pesquisa.",
|
|
||||||
"notifications": "Usuários bloqueados não receberão mais notificações se forem mencionados em suas mensagens.",
|
|
||||||
"closing": "Isso deve ser suficiente por enquanto para que os usuários bloqueados não possam mais incomodá-lo."
|
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Nome",
|
"name": "Nome",
|
||||||
"slug": "Slug",
|
"slug": "Slug",
|
||||||
"unblock": "Desbloquear"
|
"unmute": "Desbloquear"
|
||||||
},
|
},
|
||||||
"empty": "Até agora, você não bloqueou ninguém.",
|
"empty": "Até agora, você não bloqueou ninguém.",
|
||||||
"how-to": "Você pode bloquear outros usuários em suas páginas de perfil através do menu de conteúdo.",
|
"how-to": "Você pode bloquear outros usuários em suas páginas de perfil através do menu de conteúdo.",
|
||||||
"block": "Bloquear usuário",
|
"mute": "Bloquear usuário",
|
||||||
"unblock": "Desbloquear usuário",
|
"unmute": "Desbloquear usuário",
|
||||||
"unblocked": "{name} está desbloqueado novamente"
|
"unmuted": "{name} está desbloqueado novamente"
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"name": "Privacidade",
|
"name": "Privacidade",
|
||||||
|
|||||||
@ -595,26 +595,23 @@
|
|||||||
"placeholder": "Поиск"
|
"placeholder": "Поиск"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"blocked-users": {
|
"muted-users": {
|
||||||
"block": "Блокировать",
|
"mute": "Блокировать",
|
||||||
"columns": {
|
"columns": {
|
||||||
"name": "Имя",
|
"name": "Имя",
|
||||||
"slug": "Псевдоним",
|
"slug": "Псевдоним",
|
||||||
"unblock": "Разблокировать"
|
"unmute": "Разблокировать"
|
||||||
},
|
},
|
||||||
"empty": "Вы пока никого не блокировали.",
|
"empty": "Вы пока никого не блокировали.",
|
||||||
"explanation": {
|
"explanation": {
|
||||||
"closing": "На данный момент этого должно быть достаточно, чтобы заблокированные пользователи больше вас не беспокоили.",
|
|
||||||
"intro": "Если блокируете другого пользователя, происходит следующее:",
|
"intro": "Если блокируете другого пользователя, происходит следующее:",
|
||||||
"notifications": "Заблокированные пользователи больше не будут получать уведомления об упоминаниях в ваших постах.",
|
|
||||||
"search": "Посты заблокированных пользователей не отображаются в результатах поиска.",
|
"search": "Посты заблокированных пользователей не отображаются в результатах поиска.",
|
||||||
"their-perspective": "И наоборот — заблокированный пользователь больше не видит ваши посты в своей ленте.",
|
|
||||||
"your-perspective": "Посты заблокированного пользователя не отображаются в персональной ленте."
|
"your-perspective": "Посты заблокированного пользователя не отображаются в персональной ленте."
|
||||||
},
|
},
|
||||||
"how-to": "Вы можете блокировать других пользователей на странице их профиля с помощью меню профиля.",
|
"how-to": "Вы можете блокировать других пользователей на странице их профиля с помощью меню профиля.",
|
||||||
"name": "Заблокированные пользователи",
|
"name": "Заблокированные пользователи",
|
||||||
"unblock": "Разблокировать пользователей",
|
"unmute": "Разблокировать пользователей",
|
||||||
"unblocked": "{name} - снова разблокирован"
|
"unmuted": "{name} - снова разблокирован"
|
||||||
},
|
},
|
||||||
"data": {
|
"data": {
|
||||||
"labelBio": "О себе",
|
"labelBio": "О себе",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "human-connection-webapp",
|
"name": "human-connection-webapp",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"description": "Human Connection Frontend",
|
"description": "Human Connection Frontend",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Grzegorz Leoniec (appinteractive)",
|
"Grzegorz Leoniec (appinteractive)",
|
||||||
@ -84,7 +84,7 @@
|
|||||||
"tiptap": "~1.26.6",
|
"tiptap": "~1.26.6",
|
||||||
"tiptap-extensions": "~1.28.6",
|
"tiptap-extensions": "~1.28.6",
|
||||||
"trunc-html": "^1.1.2",
|
"trunc-html": "^1.1.2",
|
||||||
"v-tooltip": "~2.0.2",
|
"v-tooltip": "~2.0.3",
|
||||||
"validator": "^12.1.0",
|
"validator": "^12.1.0",
|
||||||
"vue-count-to": "~1.0.13",
|
"vue-count-to": "~1.0.13",
|
||||||
"vue-infinite-loading": "^2.4.4",
|
"vue-infinite-loading": "^2.4.4",
|
||||||
@ -99,14 +99,14 @@
|
|||||||
"@babel/core": "~7.8.3",
|
"@babel/core": "~7.8.3",
|
||||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||||
"@babel/preset-env": "~7.8.3",
|
"@babel/preset-env": "~7.8.3",
|
||||||
"@storybook/addon-a11y": "^5.3.6",
|
"@storybook/addon-a11y": "^5.3.7",
|
||||||
"@storybook/addon-actions": "^5.3.5",
|
"@storybook/addon-actions": "^5.3.7",
|
||||||
"@storybook/addon-notes": "^5.3.6",
|
"@storybook/addon-notes": "^5.3.7",
|
||||||
"@storybook/vue": "~5.3.6",
|
"@storybook/vue": "~5.3.7",
|
||||||
"@vue/cli-shared-utils": "~4.1.2",
|
"@vue/cli-shared-utils": "~4.1.2",
|
||||||
"@vue/eslint-config-prettier": "~6.0.0",
|
"@vue/eslint-config-prettier": "~6.0.0",
|
||||||
"@vue/server-test-utils": "~1.0.0-beta.30",
|
"@vue/server-test-utils": "~1.0.0-beta.31",
|
||||||
"@vue/test-utils": "~1.0.0-beta.30",
|
"@vue/test-utils": "~1.0.0-beta.31",
|
||||||
"async-validator": "^3.2.3",
|
"async-validator": "^3.2.3",
|
||||||
"babel-core": "~7.0.0-bridge.0",
|
"babel-core": "~7.0.0-bridge.0",
|
||||||
"babel-eslint": "~10.0.3",
|
"babel-eslint": "~10.0.3",
|
||||||
|
|||||||
@ -22,8 +22,8 @@
|
|||||||
:resource="user"
|
:resource="user"
|
||||||
:is-owner="myProfile"
|
:is-owner="myProfile"
|
||||||
class="user-content-menu"
|
class="user-content-menu"
|
||||||
@block="block"
|
@mute="muteUser"
|
||||||
@unblock="unblock"
|
@unmute="unmuteUser"
|
||||||
/>
|
/>
|
||||||
</client-only>
|
</client-only>
|
||||||
<ds-space margin="small">
|
<ds-space margin="small">
|
||||||
@ -67,14 +67,14 @@
|
|||||||
<ds-space margin="small">
|
<ds-space margin="small">
|
||||||
<template v-if="!myProfile">
|
<template v-if="!myProfile">
|
||||||
<hc-follow-button
|
<hc-follow-button
|
||||||
v-if="!user.isBlocked"
|
v-if="!user.isMuted"
|
||||||
:follow-id="user.id"
|
:follow-id="user.id"
|
||||||
:is-followed="user.followedByCurrentUser"
|
:is-followed="user.followedByCurrentUser"
|
||||||
@optimistic="optimisticFollow"
|
@optimistic="optimisticFollow"
|
||||||
@update="updateFollow"
|
@update="updateFollow"
|
||||||
/>
|
/>
|
||||||
<base-button v-else @click="unblock(user)" class="unblock-user-button">
|
<base-button v-else @click="unmuteUser(user)" class="unblock-user-button">
|
||||||
{{ $t('settings.blocked-users.unblock') }}
|
{{ $t('settings.muted-users.unmute') }}
|
||||||
</base-button>
|
</base-button>
|
||||||
</template>
|
</template>
|
||||||
</ds-space>
|
</ds-space>
|
||||||
@ -284,7 +284,7 @@ import MasonryGrid from '~/components/MasonryGrid/MasonryGrid.vue'
|
|||||||
import MasonryGridItem from '~/components/MasonryGrid/MasonryGridItem.vue'
|
import MasonryGridItem from '~/components/MasonryGrid/MasonryGridItem.vue'
|
||||||
import { profilePagePosts } from '~/graphql/PostQuery'
|
import { profilePagePosts } from '~/graphql/PostQuery'
|
||||||
import UserQuery from '~/graphql/User'
|
import UserQuery from '~/graphql/User'
|
||||||
import { Block, Unblock } from '~/graphql/settings/BlockedUsers'
|
import { muteUser, unmuteUser } from '~/graphql/settings/MutedUsers'
|
||||||
import PostMutations from '~/graphql/PostMutations'
|
import PostMutations from '~/graphql/PostMutations'
|
||||||
import UpdateQuery from '~/components/utils/UpdateQuery'
|
import UpdateQuery from '~/components/utils/UpdateQuery'
|
||||||
|
|
||||||
@ -395,17 +395,27 @@ export default {
|
|||||||
this.posts = []
|
this.posts = []
|
||||||
this.hasMore = true
|
this.hasMore = true
|
||||||
},
|
},
|
||||||
async block(user) {
|
async muteUser(user) {
|
||||||
await this.$apollo.mutate({ mutation: Block(), variables: { id: user.id } })
|
try {
|
||||||
this.$apollo.queries.User.refetch()
|
await this.$apollo.mutate({ mutation: muteUser(), variables: { id: user.id } })
|
||||||
this.resetPostList()
|
} catch (error) {
|
||||||
this.$apollo.queries.profilePagePosts.refetch()
|
this.$toast.error(error.message)
|
||||||
|
} finally {
|
||||||
|
this.$apollo.queries.User.refetch()
|
||||||
|
this.resetPostList()
|
||||||
|
this.$apollo.queries.profilePagePosts.refetch()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async unblock(user) {
|
async unmuteUser(user) {
|
||||||
await this.$apollo.mutate({ mutation: Unblock(), variables: { id: user.id } })
|
try {
|
||||||
this.$apollo.queries.User.refetch()
|
this.$apollo.mutate({ mutation: unmuteUser(), variables: { id: user.id } })
|
||||||
this.resetPostList()
|
} catch (error) {
|
||||||
this.$apollo.queries.profilePagePosts.refetch()
|
this.$toast.error(error.message)
|
||||||
|
} finally {
|
||||||
|
this.$apollo.queries.User.refetch()
|
||||||
|
this.resetPostList()
|
||||||
|
this.$apollo.queries.profilePagePosts.refetch()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
pinPost(post) {
|
pinPost(post) {
|
||||||
this.$apollo
|
this.$apollo
|
||||||
|
|||||||
@ -40,8 +40,8 @@ export default {
|
|||||||
path: `/settings/my-social-media`,
|
path: `/settings/my-social-media`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: this.$t('settings.blocked-users.name'),
|
name: this.$t('settings.muted-users.name'),
|
||||||
path: `/settings/blocked-users`,
|
path: `/settings/muted-users`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: this.$t('settings.embeds.name'),
|
name: this.$t('settings.embeds.name'),
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { config, mount, createLocalVue } from '@vue/test-utils'
|
import { config, mount, createLocalVue } from '@vue/test-utils'
|
||||||
import BlockedUsers from './blocked-users.vue'
|
import MutedUsers from './muted-users.vue'
|
||||||
import Styleguide from '@human-connection/styleguide'
|
import Styleguide from '@human-connection/styleguide'
|
||||||
import Filters from '~/plugins/vue-filters'
|
import Filters from '~/plugins/vue-filters'
|
||||||
import { Unblock } from '~/graphql/settings/BlockedUsers'
|
import { unmuteUser } from '~/graphql/settings/MutedUsers'
|
||||||
|
|
||||||
const localVue = createLocalVue()
|
const localVue = createLocalVue()
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ localVue.use(Filters)
|
|||||||
|
|
||||||
config.stubs['nuxt-link'] = '<span><slot /></span>'
|
config.stubs['nuxt-link'] = '<span><slot /></span>'
|
||||||
|
|
||||||
describe('blocked-users.vue', () => {
|
describe('muted-users.vue', () => {
|
||||||
let wrapper
|
let wrapper
|
||||||
let mocks
|
let mocks
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ describe('blocked-users.vue', () => {
|
|||||||
$apollo: {
|
$apollo: {
|
||||||
mutate: jest.fn(),
|
mutate: jest.fn(),
|
||||||
queries: {
|
queries: {
|
||||||
blockedUsers: {
|
mutedUsers: {
|
||||||
refetch: jest.fn(),
|
refetch: jest.fn(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -35,7 +35,7 @@ describe('blocked-users.vue', () => {
|
|||||||
|
|
||||||
describe('mount', () => {
|
describe('mount', () => {
|
||||||
const Wrapper = () => {
|
const Wrapper = () => {
|
||||||
return mount(BlockedUsers, { mocks, localVue })
|
return mount(MutedUsers, { mocks, localVue })
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
@ -48,18 +48,18 @@ describe('blocked-users.vue', () => {
|
|||||||
|
|
||||||
describe('given a list of blocked users', () => {
|
describe('given a list of blocked users', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const blockedUsers = [{ id: 'u1', name: 'John Doe', slug: 'john-doe', avatar: '' }]
|
const mutedUsers = [{ id: 'u1', name: 'John Doe', slug: 'john-doe', avatar: '' }]
|
||||||
wrapper.setData({ blockedUsers })
|
wrapper.setData({ mutedUsers })
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('click unblock', () => {
|
describe('click unmute', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
wrapper.find('button').trigger('click')
|
wrapper.find('button').trigger('click')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('calls unblock mutation with given user', () => {
|
it('calls unmute mutation with given user', () => {
|
||||||
expect(mocks.$apollo.mutate).toHaveBeenCalledWith({
|
expect(mocks.$apollo.mutate).toHaveBeenCalledWith({
|
||||||
mutation: Unblock(),
|
mutation: unmuteUser(),
|
||||||
variables: { id: 'u1' },
|
variables: { id: 'u1' },
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -1,31 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<ds-space>
|
<ds-space>
|
||||||
<ds-card :header="$t('settings.blocked-users.name')">
|
<ds-card :header="$t('settings.muted-users.name')">
|
||||||
<ds-text>
|
<ds-text>
|
||||||
{{ $t('settings.blocked-users.explanation.intro') }}
|
{{ $t('settings.muted-users.explanation.intro') }}
|
||||||
</ds-text>
|
</ds-text>
|
||||||
<ds-list>
|
<ds-list>
|
||||||
<ds-list-item>
|
<ds-list-item>
|
||||||
{{ $t('settings.blocked-users.explanation.your-perspective') }}
|
{{ $t('settings.muted-users.explanation.your-perspective') }}
|
||||||
</ds-list-item>
|
</ds-list-item>
|
||||||
<ds-list-item>
|
<ds-list-item>
|
||||||
{{ $t('settings.blocked-users.explanation.their-perspective') }}
|
{{ $t('settings.muted-users.explanation.search') }}
|
||||||
</ds-list-item>
|
|
||||||
<ds-list-item>
|
|
||||||
{{ $t('settings.blocked-users.explanation.search') }}
|
|
||||||
</ds-list-item>
|
|
||||||
<ds-list-item>
|
|
||||||
{{ $t('settings.blocked-users.explanation.notifications') }}
|
|
||||||
</ds-list-item>
|
</ds-list-item>
|
||||||
</ds-list>
|
</ds-list>
|
||||||
<ds-text>
|
|
||||||
{{ $t('settings.blocked-users.explanation.closing') }}
|
|
||||||
</ds-text>
|
|
||||||
</ds-card>
|
</ds-card>
|
||||||
</ds-space>
|
</ds-space>
|
||||||
<ds-card v-if="blockedUsers && blockedUsers.length">
|
<ds-card v-if="mutedUsers && mutedUsers.length">
|
||||||
<ds-table :data="blockedUsers" :fields="fields" condensed>
|
<ds-table :data="mutedUsers" :fields="fields" condensed>
|
||||||
<template slot="avatar" slot-scope="scope">
|
<template slot="avatar" slot-scope="scope">
|
||||||
<nuxt-link
|
<nuxt-link
|
||||||
:to="{
|
:to="{
|
||||||
@ -57,20 +48,20 @@
|
|||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="unblock" slot-scope="scope">
|
<template slot="unmuteUser" slot-scope="scope">
|
||||||
<base-button circle size="small" @click="unblock(scope)" icon="user-plus" />
|
<base-button circle size="small" @click="unmuteUser(scope)" icon="user-plus" />
|
||||||
</template>
|
</template>
|
||||||
</ds-table>
|
</ds-table>
|
||||||
</ds-card>
|
</ds-card>
|
||||||
<ds-card v-else>
|
<ds-card v-else>
|
||||||
<ds-space>
|
<ds-space>
|
||||||
<ds-placeholder>
|
<ds-placeholder>
|
||||||
{{ $t('settings.blocked-users.empty') }}
|
{{ $t('settings.muted-users.empty') }}
|
||||||
</ds-placeholder>
|
</ds-placeholder>
|
||||||
</ds-space>
|
</ds-space>
|
||||||
<ds-space>
|
<ds-space>
|
||||||
<ds-text align="center">
|
<ds-text align="center">
|
||||||
{{ $t('settings.blocked-users.how-to') }}
|
{{ $t('settings.muted-users.how-to') }}
|
||||||
</ds-text>
|
</ds-text>
|
||||||
</ds-space>
|
</ds-space>
|
||||||
</ds-card>
|
</ds-card>
|
||||||
@ -78,7 +69,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { BlockedUsers, Unblock } from '~/graphql/settings/BlockedUsers'
|
import { mutedUsers, unmuteUser } from '~/graphql/settings/MutedUsers'
|
||||||
import UserAvatar from '~/components/_new/generic/UserAvatar/UserAvatar'
|
import UserAvatar from '~/components/_new/generic/UserAvatar/UserAvatar'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -87,28 +78,31 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
blockedUsers: [],
|
mutedUsers: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
fields() {
|
fields() {
|
||||||
return {
|
return {
|
||||||
avatar: '',
|
avatar: '',
|
||||||
name: this.$t('settings.blocked-users.columns.name'),
|
name: this.$t('settings.muted-users.columns.name'),
|
||||||
slug: this.$t('settings.blocked-users.columns.slug'),
|
slug: this.$t('settings.muted-users.columns.slug'),
|
||||||
unblock: this.$t('settings.blocked-users.columns.unblock'),
|
unmuteUser: this.$t('settings.muted-users.columns.unmute'),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
blockedUsers: { query: BlockedUsers, fetchPolicy: 'cache-and-network' },
|
mutedUsers: { query: mutedUsers, fetchPolicy: 'cache-and-network' },
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async unblock(user) {
|
async unmuteUser(user) {
|
||||||
await this.$apollo.mutate({ mutation: Unblock(), variables: { id: user.row.id } })
|
await this.$apollo.mutate({
|
||||||
this.$apollo.queries.blockedUsers.refetch()
|
mutation: unmuteUser(),
|
||||||
|
variables: { id: user.row.id },
|
||||||
|
})
|
||||||
|
this.$apollo.queries.mutedUsers.refetch()
|
||||||
const { name } = user.row
|
const { name } = user.row
|
||||||
this.$toast.success(this.$t('settings.blocked-users.unblocked', { name }))
|
this.$toast.success(this.$t('settings.muted-users.unmuted', { name }))
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
447
webapp/yarn.lock
447
webapp/yarn.lock
@ -2145,17 +2145,17 @@
|
|||||||
source-map-support "^0.5.7"
|
source-map-support "^0.5.7"
|
||||||
tslib "^1.9.3"
|
tslib "^1.9.3"
|
||||||
|
|
||||||
"@storybook/addon-a11y@^5.3.6":
|
"@storybook/addon-a11y@^5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.3.6.tgz#d713a245331aca38c064c027ded8ed6f2946684b"
|
resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.3.7.tgz#76e0aed7b38510de5bc8a8cf1ba2df6e564384f4"
|
||||||
integrity sha512-nVGh9pZkcjtR4irtzCsxv+NbmqzU/Me2+sdjwVo9B7PYCcLUnRwo4ri1j3g7m85W20eS1hyaKe5yLzkaentPNg==
|
integrity sha512-DJLyC385eB8qWfEY44S052d8E60Nha8SJ6I+ZqSkTJZx3Q2omFMVqPMmHdlogtTjqPkbYBxReBXihMoK4Hjjsg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.6"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/api" "5.3.6"
|
"@storybook/api" "5.3.7"
|
||||||
"@storybook/client-logger" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
"@storybook/components" "5.3.6"
|
"@storybook/components" "5.3.7"
|
||||||
"@storybook/core-events" "5.3.6"
|
"@storybook/core-events" "5.3.7"
|
||||||
"@storybook/theming" "5.3.6"
|
"@storybook/theming" "5.3.7"
|
||||||
axe-core "^3.3.2"
|
axe-core "^3.3.2"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
@ -2167,17 +2167,17 @@
|
|||||||
ts-dedent "^1.1.0"
|
ts-dedent "^1.1.0"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/addon-actions@^5.3.5":
|
"@storybook/addon-actions@^5.3.7":
|
||||||
version "5.3.5"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.3.5.tgz#a6324f5263064567eb20f86dc9b32b9eefb3dcbc"
|
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.3.7.tgz#3a34b3b35de0ecdf847c12e8eac40f4627ba752c"
|
||||||
integrity sha512-tP+f3psEFf/F97d1cyL/xRw7oKbm1pdAIu/oF37LHH8y1kSCNwJwGnoJBtA8ldLtYms0UZq8Pg4gpYlFPhiXCA==
|
integrity sha512-Ja0NkItwrFYL1UJHgnUeDtl8QvV1LH+TJq7APVMX3UaUzkeoF9XueFRl/+lh1SSUrCJwj5/8WK6r39ch7DS7rA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.5"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/api" "5.3.5"
|
"@storybook/api" "5.3.7"
|
||||||
"@storybook/client-api" "5.3.5"
|
"@storybook/client-api" "5.3.7"
|
||||||
"@storybook/components" "5.3.5"
|
"@storybook/components" "5.3.7"
|
||||||
"@storybook/core-events" "5.3.5"
|
"@storybook/core-events" "5.3.7"
|
||||||
"@storybook/theming" "5.3.5"
|
"@storybook/theming" "5.3.7"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
fast-deep-equal "^2.0.1"
|
fast-deep-equal "^2.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
@ -2187,18 +2187,18 @@
|
|||||||
react-inspector "^4.0.0"
|
react-inspector "^4.0.0"
|
||||||
uuid "^3.3.2"
|
uuid "^3.3.2"
|
||||||
|
|
||||||
"@storybook/addon-notes@^5.3.6":
|
"@storybook/addon-notes@^5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.3.6.tgz#02b40c0b034b75f8142f36d39074cf4c9bae3f1a"
|
resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.3.7.tgz#96a2f1986386209a9da085ebffc8748df05c7f36"
|
||||||
integrity sha512-hJK1tMerdyFPcfL/e3E1pSMc4vpqCTBvQISp1m3JuMwg4K399eWXJpRpIFLGh2MEKvnLEjZb7o1qzuNDQMuyMQ==
|
integrity sha512-mf/JbQnBSKvp7I5vzv+0J063LFL0fGuk+rJ82xk7Tg7dwevcOOPv3FfgbZUvPnoroG/295FrS0neE4G5U/tB/w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.6"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/api" "5.3.6"
|
"@storybook/api" "5.3.7"
|
||||||
"@storybook/client-logger" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
"@storybook/components" "5.3.6"
|
"@storybook/components" "5.3.7"
|
||||||
"@storybook/core-events" "5.3.6"
|
"@storybook/core-events" "5.3.7"
|
||||||
"@storybook/router" "5.3.6"
|
"@storybook/router" "5.3.7"
|
||||||
"@storybook/theming" "5.3.6"
|
"@storybook/theming" "5.3.7"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
markdown-to-jsx "^6.10.3"
|
markdown-to-jsx "^6.10.3"
|
||||||
@ -2219,19 +2219,6 @@
|
|||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/addons@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.5.tgz#0ee41838d8fde8787ca7366bc42039adae55cab3"
|
|
||||||
integrity sha512-s7zWmnNxpwnEpb3kG1+dRudaK+RRezOH6WC3QlNqU8j1trlhFgbooqV2nIsC6yj57OZn4MLHtzuFelxs9jqTzg==
|
|
||||||
dependencies:
|
|
||||||
"@storybook/api" "5.3.5"
|
|
||||||
"@storybook/channels" "5.3.5"
|
|
||||||
"@storybook/client-logger" "5.3.5"
|
|
||||||
"@storybook/core-events" "5.3.5"
|
|
||||||
core-js "^3.0.1"
|
|
||||||
global "^4.3.2"
|
|
||||||
util-deprecate "^1.0.2"
|
|
||||||
|
|
||||||
"@storybook/addons@5.3.6":
|
"@storybook/addons@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.6.tgz#93c5492f09b54cee4885192a0fa79465aa91751f"
|
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.6.tgz#93c5492f09b54cee4885192a0fa79465aa91751f"
|
||||||
@ -2245,6 +2232,19 @@
|
|||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
|
"@storybook/addons@5.3.7":
|
||||||
|
version "5.3.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.7.tgz#4b4502d916dd878762d09c6c2aa1bc5191ae94be"
|
||||||
|
integrity sha512-Kme86+u+ru3S90OD3brSO3sOy28aCYYB25CNSg4/7JLmcUn9XvPc+odQIAipZduNn+OYedJmuncuDz5Ze6RYdA==
|
||||||
|
dependencies:
|
||||||
|
"@storybook/api" "5.3.7"
|
||||||
|
"@storybook/channels" "5.3.7"
|
||||||
|
"@storybook/client-logger" "5.3.7"
|
||||||
|
"@storybook/core-events" "5.3.7"
|
||||||
|
core-js "^3.0.1"
|
||||||
|
global "^4.3.2"
|
||||||
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/api@5.2.8":
|
"@storybook/api@5.2.8":
|
||||||
version "5.2.8"
|
version "5.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.2.8.tgz#21f03df8041114eb929bd10b570a17f266568b7f"
|
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.2.8.tgz#21f03df8041114eb929bd10b570a17f266568b7f"
|
||||||
@ -2268,32 +2268,6 @@
|
|||||||
telejson "^3.0.2"
|
telejson "^3.0.2"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/api@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.5.tgz#0641daac9b734e5260397b8789b774026126636a"
|
|
||||||
integrity sha512-fDRxpD1fUD/16Z+OnG6rFD71o9A2TyCXGS0Ey1yaNiqnroPplD2kwjz2T4iLsJwvIu3pSnvDCjijbLqYsfeaPg==
|
|
||||||
dependencies:
|
|
||||||
"@reach/router" "^1.2.1"
|
|
||||||
"@storybook/channels" "5.3.5"
|
|
||||||
"@storybook/client-logger" "5.3.5"
|
|
||||||
"@storybook/core-events" "5.3.5"
|
|
||||||
"@storybook/csf" "0.0.1"
|
|
||||||
"@storybook/router" "5.3.5"
|
|
||||||
"@storybook/theming" "5.3.5"
|
|
||||||
"@types/reach__router" "^1.2.3"
|
|
||||||
core-js "^3.0.1"
|
|
||||||
fast-deep-equal "^2.0.1"
|
|
||||||
global "^4.3.2"
|
|
||||||
lodash "^4.17.15"
|
|
||||||
memoizerific "^1.11.3"
|
|
||||||
prop-types "^15.6.2"
|
|
||||||
react "^16.8.3"
|
|
||||||
semver "^6.0.0"
|
|
||||||
shallow-equal "^1.1.0"
|
|
||||||
store2 "^2.7.1"
|
|
||||||
telejson "^3.2.0"
|
|
||||||
util-deprecate "^1.0.2"
|
|
||||||
|
|
||||||
"@storybook/api@5.3.6":
|
"@storybook/api@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.6.tgz#687b58cf31994304d0262f873e611b283b6603a4"
|
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.6.tgz#687b58cf31994304d0262f873e611b283b6603a4"
|
||||||
@ -2320,24 +2294,39 @@
|
|||||||
telejson "^3.2.0"
|
telejson "^3.2.0"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/channel-postmessage@5.3.5":
|
"@storybook/api@5.3.7":
|
||||||
version "5.3.5"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.5.tgz#cdf6b41d5e07ba913443c37b1d0e5c978eebfbfb"
|
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.7.tgz#fa9126d851d506607d1ba93588d3599b9b9ea0b9"
|
||||||
integrity sha512-wpKXbrh3lYgZc7RFHyyFvxyYaf1XLiIz1tN5ANpahjF1vp0rnZbNcUDqTHFAG1EDvIPMPcIdrUfdfu4RDXG44A==
|
integrity sha512-SIT2Z3VtxPn26rkHNCZHYlwmfBPty0QTyWKTgVcnXxUeC74IReGzwMLJgCszouCvHFYOTru8JNndQmhnPlsQiA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/channels" "5.3.5"
|
"@reach/router" "^1.2.1"
|
||||||
"@storybook/client-logger" "5.3.5"
|
"@storybook/channels" "5.3.7"
|
||||||
|
"@storybook/client-logger" "5.3.7"
|
||||||
|
"@storybook/core-events" "5.3.7"
|
||||||
|
"@storybook/csf" "0.0.1"
|
||||||
|
"@storybook/router" "5.3.7"
|
||||||
|
"@storybook/theming" "5.3.7"
|
||||||
|
"@types/reach__router" "^1.2.3"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
fast-deep-equal "^2.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
memoizerific "^1.11.3"
|
||||||
|
prop-types "^15.6.2"
|
||||||
|
react "^16.8.3"
|
||||||
|
semver "^6.0.0"
|
||||||
|
shallow-equal "^1.1.0"
|
||||||
|
store2 "^2.7.1"
|
||||||
telejson "^3.2.0"
|
telejson "^3.2.0"
|
||||||
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/channel-postmessage@5.3.6":
|
"@storybook/channel-postmessage@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.6.tgz#fca25bd26ad3365901e2e7941e9d39d9fa92a816"
|
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.7.tgz#cf481b98424018f8e91150602f091efea46391cc"
|
||||||
integrity sha512-mCRc4vkIKIylu0V2T6fmTDnpIT9Gp2nEFKgG0Q7QnUlITAYdM0mhrm/5jDH1BmpbFhAvaX2EBI1GYnuS/bEa0Q==
|
integrity sha512-JuRrV+3MaNSmt5Ojsfd+Z6TJvCOZBeo7uNfA+ZueATe+So/Z9wC/Hy+0oypQ2diTL2Pas4G3uFIRRl5jKUsCZA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/channels" "5.3.6"
|
"@storybook/channels" "5.3.7"
|
||||||
"@storybook/client-logger" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
telejson "^3.2.0"
|
telejson "^3.2.0"
|
||||||
@ -2349,13 +2338,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/channels@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.5.tgz#8c9959aa8d8281d6416605f276f85082ceee8afb"
|
|
||||||
integrity sha512-er5H7xklnQEuY1E+Ai20ROgsIIu0vSVL3TgvHUGBn5x4gjJnZay86l5qYwknXHMDZdiZjLjIzTez1KRPT/vtnQ==
|
|
||||||
dependencies:
|
|
||||||
core-js "^3.0.1"
|
|
||||||
|
|
||||||
"@storybook/channels@5.3.6":
|
"@storybook/channels@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.6.tgz#ed4a504fb64829d6d1bdb2ee3d48b70a33847b73"
|
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.6.tgz#ed4a504fb64829d6d1bdb2ee3d48b70a33847b73"
|
||||||
@ -2363,38 +2345,23 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/client-api@5.3.5":
|
"@storybook/channels@5.3.7":
|
||||||
version "5.3.5"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.5.tgz#4388e85f99b63c128989b82dcb7be60fe515b14c"
|
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.7.tgz#19a47c11cda72f98d7d1dc05e78c1e40bdc2bbdf"
|
||||||
integrity sha512-tRw2gPi8IVEhQw6G26ppyudd/ThDk2KJbzWHDru8Tbl8f75Ir2Z1PMmRe5XVhy689NYYT/fBfuhOlignjkrlWw==
|
integrity sha512-HYD9y6+mxBkypBd8az/MJj4qNkrrP+MbTTbwizhoz0NsYCVCb7Ydj7+lI1dpi1HGSjiYJjwKGInoFk4Ubtr7aQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.5"
|
|
||||||
"@storybook/channel-postmessage" "5.3.5"
|
|
||||||
"@storybook/channels" "5.3.5"
|
|
||||||
"@storybook/client-logger" "5.3.5"
|
|
||||||
"@storybook/core-events" "5.3.5"
|
|
||||||
"@storybook/csf" "0.0.1"
|
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
eventemitter3 "^4.0.0"
|
|
||||||
global "^4.3.2"
|
|
||||||
is-plain-object "^3.0.0"
|
|
||||||
lodash "^4.17.15"
|
|
||||||
memoizerific "^1.11.3"
|
|
||||||
qs "^6.6.0"
|
|
||||||
stable "^0.1.8"
|
|
||||||
ts-dedent "^1.1.0"
|
|
||||||
util-deprecate "^1.0.2"
|
|
||||||
|
|
||||||
"@storybook/client-api@5.3.6":
|
"@storybook/client-api@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.6.tgz#458141e85f8e564a2819b51b062bac2618821b6a"
|
resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.7.tgz#3a13d2b0c9bbc20af448121011b304c10e355644"
|
||||||
integrity sha512-bp6MMsjprb7R1lrX4491WDaKKUItvzkh/GXU19GEOPdf490w8+dqZHisoNvVoMr6fACdiMwagxdN/+ZPHxd+Rg==
|
integrity sha512-cmoOYCVK6F7EceHHeo0oK61ic0LST96DWbb8KICL1c+8I+sI0fGLobSsBbOCzDgzz2gqPAQoxxpF+T4kLyLFcQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.6"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/channel-postmessage" "5.3.6"
|
"@storybook/channel-postmessage" "5.3.7"
|
||||||
"@storybook/channels" "5.3.6"
|
"@storybook/channels" "5.3.7"
|
||||||
"@storybook/client-logger" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
"@storybook/core-events" "5.3.6"
|
"@storybook/core-events" "5.3.7"
|
||||||
"@storybook/csf" "0.0.1"
|
"@storybook/csf" "0.0.1"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
eventemitter3 "^4.0.0"
|
eventemitter3 "^4.0.0"
|
||||||
@ -2414,13 +2381,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/client-logger@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.5.tgz#6709098482b69d248df6908f6b25f172def62ca9"
|
|
||||||
integrity sha512-KBLSZCELjaktkDVuPw6qe+P1V4CPev/JyYsCkaGwkVUVudFJd0pZQ2tNHWLdEXpwn95k2OFoG3oLtzox5LptlA==
|
|
||||||
dependencies:
|
|
||||||
core-js "^3.0.1"
|
|
||||||
|
|
||||||
"@storybook/client-logger@5.3.6":
|
"@storybook/client-logger@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.6.tgz#d37ac813701e8a3cc1e25b6ec017808142a421a0"
|
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.6.tgz#d37ac813701e8a3cc1e25b6ec017808142a421a0"
|
||||||
@ -2428,6 +2388,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
|
"@storybook/client-logger@5.3.7":
|
||||||
|
version "5.3.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.7.tgz#ee258a8ba0121b579c719b878e3635d6ff020abd"
|
||||||
|
integrity sha512-DeacBEGXsvB6ytRjLabwGCQX6OzL2+aaTOCMcuENnMqb7qdTV2G56NodLo3i5gHoLhlvsh109hSkLhFIFHtYWQ==
|
||||||
|
dependencies:
|
||||||
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/components@5.2.8":
|
"@storybook/components@5.2.8":
|
||||||
version "5.2.8"
|
version "5.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.2.8.tgz#f5d4a06ba4ba8c700b2d962deae182105b72fb99"
|
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.2.8.tgz#f5d4a06ba4ba8c700b2d962deae182105b72fb99"
|
||||||
@ -2453,33 +2420,6 @@
|
|||||||
react-textarea-autosize "^7.1.0"
|
react-textarea-autosize "^7.1.0"
|
||||||
simplebar-react "^1.0.0-alpha.6"
|
simplebar-react "^1.0.0-alpha.6"
|
||||||
|
|
||||||
"@storybook/components@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.5.tgz#3b2e93ed140c351775f43f4c8e4947144feb3a05"
|
|
||||||
integrity sha512-B8z5GwL5LL9lCwCTuJ1Amod6QJC1FfRfnTZYxUgRxG1EfiYsejoFeB2tOKlIy/EaX8Lmm3XE47A9I1FhBWvCHw==
|
|
||||||
dependencies:
|
|
||||||
"@storybook/client-logger" "5.3.5"
|
|
||||||
"@storybook/theming" "5.3.5"
|
|
||||||
"@types/react-syntax-highlighter" "11.0.2"
|
|
||||||
"@types/react-textarea-autosize" "^4.3.3"
|
|
||||||
core-js "^3.0.1"
|
|
||||||
global "^4.3.2"
|
|
||||||
lodash "^4.17.15"
|
|
||||||
markdown-to-jsx "^6.9.1"
|
|
||||||
memoizerific "^1.11.3"
|
|
||||||
polished "^3.3.1"
|
|
||||||
popper.js "^1.14.7"
|
|
||||||
prop-types "^15.7.2"
|
|
||||||
react "^16.8.3"
|
|
||||||
react-dom "^16.8.3"
|
|
||||||
react-focus-lock "^2.1.0"
|
|
||||||
react-helmet-async "^1.0.2"
|
|
||||||
react-popper-tooltip "^2.8.3"
|
|
||||||
react-syntax-highlighter "^11.0.2"
|
|
||||||
react-textarea-autosize "^7.1.0"
|
|
||||||
simplebar-react "^1.0.0-alpha.6"
|
|
||||||
ts-dedent "^1.1.0"
|
|
||||||
|
|
||||||
"@storybook/components@5.3.6":
|
"@storybook/components@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.6.tgz#6fe38ac9ba62c982842bfcb06690c3f4fef8be06"
|
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.6.tgz#6fe38ac9ba62c982842bfcb06690c3f4fef8be06"
|
||||||
@ -2507,6 +2447,33 @@
|
|||||||
simplebar-react "^1.0.0-alpha.6"
|
simplebar-react "^1.0.0-alpha.6"
|
||||||
ts-dedent "^1.1.0"
|
ts-dedent "^1.1.0"
|
||||||
|
|
||||||
|
"@storybook/components@5.3.7":
|
||||||
|
version "5.3.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.7.tgz#8b7361fef02f042c5bad979b4d6886863d3b6a31"
|
||||||
|
integrity sha512-WTHdoxMLVczlcPjQWjmpOo+mLqpZGSSl9ACPZacQp3w1WitswI4tmmrLc76YCCidDE+OGAtqFYD9C9LtKe7ZSA==
|
||||||
|
dependencies:
|
||||||
|
"@storybook/client-logger" "5.3.7"
|
||||||
|
"@storybook/theming" "5.3.7"
|
||||||
|
"@types/react-syntax-highlighter" "11.0.2"
|
||||||
|
"@types/react-textarea-autosize" "^4.3.3"
|
||||||
|
core-js "^3.0.1"
|
||||||
|
global "^4.3.2"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
markdown-to-jsx "^6.9.1"
|
||||||
|
memoizerific "^1.11.3"
|
||||||
|
polished "^3.3.1"
|
||||||
|
popper.js "^1.14.7"
|
||||||
|
prop-types "^15.7.2"
|
||||||
|
react "^16.8.3"
|
||||||
|
react-dom "^16.8.3"
|
||||||
|
react-focus-lock "^2.1.0"
|
||||||
|
react-helmet-async "^1.0.2"
|
||||||
|
react-popper-tooltip "^2.8.3"
|
||||||
|
react-syntax-highlighter "^11.0.2"
|
||||||
|
react-textarea-autosize "^7.1.0"
|
||||||
|
simplebar-react "^1.0.0-alpha.6"
|
||||||
|
ts-dedent "^1.1.0"
|
||||||
|
|
||||||
"@storybook/core-events@5.2.8":
|
"@storybook/core-events@5.2.8":
|
||||||
version "5.2.8"
|
version "5.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.2.8.tgz#93fc458ea0820ff1409d268b0fe51abba200f5a4"
|
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.2.8.tgz#93fc458ea0820ff1409d268b0fe51abba200f5a4"
|
||||||
@ -2514,13 +2481,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/core-events@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.5.tgz#ec09846ec21a130906014837bdd755cc1e4eb9e0"
|
|
||||||
integrity sha512-+nXv/yh6RiVQXO0OzkdclDmHrYUS42ora5xyeoEmWc6z6i46wi8KG4XQSrWQ+gHi+ORY6poGIFYMNlk78fmb9g==
|
|
||||||
dependencies:
|
|
||||||
core-js "^3.0.1"
|
|
||||||
|
|
||||||
"@storybook/core-events@5.3.6":
|
"@storybook/core-events@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.6.tgz#41760f8a61958cfa2a468084460da08339c74d9b"
|
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.6.tgz#41760f8a61958cfa2a468084460da08339c74d9b"
|
||||||
@ -2528,26 +2488,33 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
|
|
||||||
"@storybook/core@5.3.6":
|
"@storybook/core-events@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.3.6.tgz#689073a6d92a4dbeaa23013356e1f411edcde84f"
|
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.7.tgz#9297277ae5868b87d3cc36f08415da1579cdb8df"
|
||||||
integrity sha512-0ROrZi4VlX48/bBMywy94Er5kzktiyYttiL0A7V90PB8U6cRQE73ec8lWKlgz7uSLqBt9jHc00AWIQbNeHNRxw==
|
integrity sha512-wDHznUy6BU+ML0EnovDWBow7s7rH1ng26xoHIWSl2VhjARJiVSGVROvwgj5DctEny8gmkZkByOiEVZ+0PYA/hw==
|
||||||
|
dependencies:
|
||||||
|
core-js "^3.0.1"
|
||||||
|
|
||||||
|
"@storybook/core@5.3.7":
|
||||||
|
version "5.3.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.3.7.tgz#6196661c12709e6acffaa42baea1a891bed50706"
|
||||||
|
integrity sha512-DEmG5UeXm4BJUvdtCN9WBHRSeQ2lnbEuiqxB9SIbsitleCcdnX2aFrMfyoTHUZNqnbnefJXUMnGT0wvwm7yGDA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/plugin-proposal-class-properties" "^7.7.0"
|
"@babel/plugin-proposal-class-properties" "^7.7.0"
|
||||||
"@babel/plugin-proposal-object-rest-spread" "^7.6.2"
|
"@babel/plugin-proposal-object-rest-spread" "^7.6.2"
|
||||||
"@babel/plugin-syntax-dynamic-import" "^7.2.0"
|
"@babel/plugin-syntax-dynamic-import" "^7.2.0"
|
||||||
"@babel/plugin-transform-react-constant-elements" "^7.2.0"
|
"@babel/plugin-transform-react-constant-elements" "^7.2.0"
|
||||||
"@babel/preset-env" "^7.4.5"
|
"@babel/preset-env" "^7.4.5"
|
||||||
"@storybook/addons" "5.3.6"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/channel-postmessage" "5.3.6"
|
"@storybook/channel-postmessage" "5.3.7"
|
||||||
"@storybook/client-api" "5.3.6"
|
"@storybook/client-api" "5.3.7"
|
||||||
"@storybook/client-logger" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
"@storybook/core-events" "5.3.6"
|
"@storybook/core-events" "5.3.7"
|
||||||
"@storybook/csf" "0.0.1"
|
"@storybook/csf" "0.0.1"
|
||||||
"@storybook/node-logger" "5.3.6"
|
"@storybook/node-logger" "5.3.7"
|
||||||
"@storybook/router" "5.3.6"
|
"@storybook/router" "5.3.7"
|
||||||
"@storybook/theming" "5.3.6"
|
"@storybook/theming" "5.3.7"
|
||||||
"@storybook/ui" "5.3.6"
|
"@storybook/ui" "5.3.7"
|
||||||
airbnb-js-shims "^2.2.1"
|
airbnb-js-shims "^2.2.1"
|
||||||
ansi-to-html "^0.6.11"
|
ansi-to-html "^0.6.11"
|
||||||
autoprefixer "^9.7.2"
|
autoprefixer "^9.7.2"
|
||||||
@ -2614,11 +2581,12 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.15"
|
lodash "^4.17.15"
|
||||||
|
|
||||||
"@storybook/node-logger@5.3.6":
|
"@storybook/node-logger@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.3.6.tgz#6fd62d46ba6972e332bf5da290f87fae971645e2"
|
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.3.7.tgz#cdbd6560c8f2067cc8993bfe21f024c195789793"
|
||||||
integrity sha512-NqymsJCArX1TIAe6Hs5hS5PGI57Yrz7UqyRtPMiOoNhWVkAyFip+hGbHbA3Qe4dQCirBK0F9tSZ96Xy5wvVRNg==
|
integrity sha512-l59EoDorDkwEX7KOtBmNapsuoX3huWAFj1cyOS41mqoXhlpuIWoOQSiKHRlFA3/6g+p1NSbF5+Wr4k6xsIkUww==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@types/npmlog" "^4.1.2"
|
||||||
chalk "^3.0.0"
|
chalk "^3.0.0"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
npmlog "^4.1.2"
|
npmlog "^4.1.2"
|
||||||
@ -2638,10 +2606,10 @@
|
|||||||
memoizerific "^1.11.3"
|
memoizerific "^1.11.3"
|
||||||
qs "^6.6.0"
|
qs "^6.6.0"
|
||||||
|
|
||||||
"@storybook/router@5.3.5":
|
"@storybook/router@5.3.6":
|
||||||
version "5.3.5"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.5.tgz#fd75cc3c3f5c9dd3cb815158d50934338389449f"
|
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.6.tgz#0e2dc80070b88d550303e43c333ffdf52d1cae1b"
|
||||||
integrity sha512-XiLMybUhccm8mkO9KKec95wNNUgWnRpeO4f2q2RH8ii41HP2f3jd6SgDrBHdjEaNVeoeNvl1N3XbaBM9h/MYOA==
|
integrity sha512-g3gri0j2VYM0YFyERL8KGMwYbkASneOm6MZdasS6EWXdE6+piONNC5lTPk03v5Js8LJA8LPTjyNlUwfK3plJWw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@reach/router" "^1.2.1"
|
"@reach/router" "^1.2.1"
|
||||||
"@storybook/csf" "0.0.1"
|
"@storybook/csf" "0.0.1"
|
||||||
@ -2653,10 +2621,10 @@
|
|||||||
qs "^6.6.0"
|
qs "^6.6.0"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/router@5.3.6":
|
"@storybook/router@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.6.tgz#0e2dc80070b88d550303e43c333ffdf52d1cae1b"
|
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.7.tgz#64e06a319ada9e783029a2d3e3c6a6ddf9b5a1ad"
|
||||||
integrity sha512-g3gri0j2VYM0YFyERL8KGMwYbkASneOm6MZdasS6EWXdE6+piONNC5lTPk03v5Js8LJA8LPTjyNlUwfK3plJWw==
|
integrity sha512-o9DZLe+TvFR1hLvRflUODw+XUvIgU87gh5xMBhuzglx3akywc/sPqM+ORBaOtAb169wpV2hvpjolteVPi5+W8Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@reach/router" "^1.2.1"
|
"@reach/router" "^1.2.1"
|
||||||
"@storybook/csf" "0.0.1"
|
"@storybook/csf" "0.0.1"
|
||||||
@ -2686,24 +2654,6 @@
|
|||||||
prop-types "^15.7.2"
|
prop-types "^15.7.2"
|
||||||
resolve-from "^5.0.0"
|
resolve-from "^5.0.0"
|
||||||
|
|
||||||
"@storybook/theming@5.3.5":
|
|
||||||
version "5.3.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.5.tgz#b53f87357c92aa85f149e33651fe85ad86b3fdf6"
|
|
||||||
integrity sha512-7L26KJn1tNIMrH+Lu6Y2Uiyk/q9QBQO+uFrOg6x8sNj0YY5ENU+pgA6EG8XF8itHZbw88iJvJ1da+mY406I4+g==
|
|
||||||
dependencies:
|
|
||||||
"@emotion/core" "^10.0.20"
|
|
||||||
"@emotion/styled" "^10.0.17"
|
|
||||||
"@storybook/client-logger" "5.3.5"
|
|
||||||
core-js "^3.0.1"
|
|
||||||
deep-object-diff "^1.1.0"
|
|
||||||
emotion-theming "^10.0.19"
|
|
||||||
global "^4.3.2"
|
|
||||||
memoizerific "^1.11.3"
|
|
||||||
polished "^3.3.1"
|
|
||||||
prop-types "^15.7.2"
|
|
||||||
resolve-from "^5.0.0"
|
|
||||||
ts-dedent "^1.1.0"
|
|
||||||
|
|
||||||
"@storybook/theming@5.3.6":
|
"@storybook/theming@5.3.6":
|
||||||
version "5.3.6"
|
version "5.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.6.tgz#e37f5cbfbadb888e462d60c6db7cd6bc976a4767"
|
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.6.tgz#e37f5cbfbadb888e462d60c6db7cd6bc976a4767"
|
||||||
@ -2722,20 +2672,38 @@
|
|||||||
resolve-from "^5.0.0"
|
resolve-from "^5.0.0"
|
||||||
ts-dedent "^1.1.0"
|
ts-dedent "^1.1.0"
|
||||||
|
|
||||||
"@storybook/ui@5.3.6":
|
"@storybook/theming@5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.3.6.tgz#43f72ad1adf95e9b50b83f812373d5853706f72a"
|
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.7.tgz#90ba738f3324f70d88ab412528a8240e9936093d"
|
||||||
integrity sha512-yYzS4zZPa3Uoc4O/IYO7GdKrkJWAuEpcrRy1FNxpSxboXm1HMomgK1Iv1+Sptoy85lRJ79d9qGzi1r/Pt1FjcQ==
|
integrity sha512-n73uvJrurBQAl1+FHBw8pNUjEnOQKfxRezbZJPZbhJNULSJ7EiPJKyAHvZyx82sUoTY4r8eGgEotU47jWKBLlA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@emotion/core" "^10.0.20"
|
"@emotion/core" "^10.0.20"
|
||||||
"@storybook/addons" "5.3.6"
|
"@emotion/styled" "^10.0.17"
|
||||||
"@storybook/api" "5.3.6"
|
"@storybook/client-logger" "5.3.7"
|
||||||
"@storybook/channels" "5.3.6"
|
core-js "^3.0.1"
|
||||||
"@storybook/client-logger" "5.3.6"
|
deep-object-diff "^1.1.0"
|
||||||
"@storybook/components" "5.3.6"
|
emotion-theming "^10.0.19"
|
||||||
"@storybook/core-events" "5.3.6"
|
global "^4.3.2"
|
||||||
"@storybook/router" "5.3.6"
|
memoizerific "^1.11.3"
|
||||||
"@storybook/theming" "5.3.6"
|
polished "^3.3.1"
|
||||||
|
prop-types "^15.7.2"
|
||||||
|
resolve-from "^5.0.0"
|
||||||
|
ts-dedent "^1.1.0"
|
||||||
|
|
||||||
|
"@storybook/ui@5.3.7":
|
||||||
|
version "5.3.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.3.7.tgz#f46c9322301ee67121e0a9c3f1bc0d81de7d0888"
|
||||||
|
integrity sha512-9yVMEcf0CF6yM9QbJ2HXqeQG3iXoW1I6B/MU/1AFytruNASeMRHU+0KEq2vgF6nXcA8X80J4I5c2KY742M6Qjw==
|
||||||
|
dependencies:
|
||||||
|
"@emotion/core" "^10.0.20"
|
||||||
|
"@storybook/addons" "5.3.7"
|
||||||
|
"@storybook/api" "5.3.7"
|
||||||
|
"@storybook/channels" "5.3.7"
|
||||||
|
"@storybook/client-logger" "5.3.7"
|
||||||
|
"@storybook/components" "5.3.7"
|
||||||
|
"@storybook/core-events" "5.3.7"
|
||||||
|
"@storybook/router" "5.3.7"
|
||||||
|
"@storybook/theming" "5.3.7"
|
||||||
copy-to-clipboard "^3.0.8"
|
copy-to-clipboard "^3.0.8"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
core-js-pure "^3.0.1"
|
core-js-pure "^3.0.1"
|
||||||
@ -2762,13 +2730,13 @@
|
|||||||
telejson "^3.2.0"
|
telejson "^3.2.0"
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
"@storybook/vue@~5.3.6":
|
"@storybook/vue@~5.3.7":
|
||||||
version "5.3.6"
|
version "5.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-5.3.6.tgz#f8cbb52594a51d5f0f4d3088572cc4b39168184c"
|
resolved "https://registry.yarnpkg.com/@storybook/vue/-/vue-5.3.7.tgz#11a7a92b9fa769008ebf1ca7e96c0f96778a478a"
|
||||||
integrity sha512-Mzyf9n9GRKeEviuXkb8Ab7m0FrQCOek8lV2QJDbKNKGiW6J9QNKeU9a1RIdy80vGifZpp2IDhShNJWBsDfkPIw==
|
integrity sha512-M9R6jjjbW7odUgeK2bk4OxMFkPRgC8z2dd4iuU4/wxXjZGAJiVcEosfXRORJqCfR3XV99OcljgzEsNbZ5YJE/w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@storybook/addons" "5.3.6"
|
"@storybook/addons" "5.3.7"
|
||||||
"@storybook/core" "5.3.6"
|
"@storybook/core" "5.3.7"
|
||||||
"@types/webpack-env" "^1.13.9"
|
"@types/webpack-env" "^1.13.9"
|
||||||
core-js "^3.0.1"
|
core-js "^3.0.1"
|
||||||
global "^4.3.2"
|
global "^4.3.2"
|
||||||
@ -3044,6 +3012,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.7.tgz#2173f79d7a61d97d3aad2feeaac7ac69a3df39af"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.7.tgz#2173f79d7a61d97d3aad2feeaac7ac69a3df39af"
|
||||||
integrity sha512-YbPXbaynBTe0pVExPhL76TsWnxSPeFAvImIsmylpBWn/yfw+lHy+Q68aawvZHsgskT44ZAoeE67GM5f+Brekew==
|
integrity sha512-YbPXbaynBTe0pVExPhL76TsWnxSPeFAvImIsmylpBWn/yfw+lHy+Q68aawvZHsgskT44ZAoeE67GM5f+Brekew==
|
||||||
|
|
||||||
|
"@types/npmlog@^4.1.2":
|
||||||
|
version "4.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.2.tgz#d070fe6a6b78755d1092a3dc492d34c3d8f871c4"
|
||||||
|
integrity sha512-4QQmOF5KlwfxJ5IGXFIudkeLCdMABz03RcUXu+LCb24zmln8QW6aDjuGl4d4XPVLf2j+FnjelHTP7dvceAFbhA==
|
||||||
|
|
||||||
"@types/object-assign@^4.0.30":
|
"@types/object-assign@^4.0.30":
|
||||||
version "4.0.30"
|
version "4.0.30"
|
||||||
resolved "https://registry.yarnpkg.com/@types/object-assign/-/object-assign-4.0.30.tgz#8949371d5a99f4381ee0f1df0a9b7a187e07e652"
|
resolved "https://registry.yarnpkg.com/@types/object-assign/-/object-assign-4.0.30.tgz#8949371d5a99f4381ee0f1df0a9b7a187e07e652"
|
||||||
@ -3304,18 +3277,18 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
eslint-config-prettier "^6.0.0"
|
eslint-config-prettier "^6.0.0"
|
||||||
|
|
||||||
"@vue/server-test-utils@~1.0.0-beta.30":
|
"@vue/server-test-utils@~1.0.0-beta.31":
|
||||||
version "1.0.0-beta.30"
|
version "1.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@vue/server-test-utils/-/server-test-utils-1.0.0-beta.30.tgz#960a6383de81ba5ff763bdd6e961b9443e98fa82"
|
resolved "https://registry.yarnpkg.com/@vue/server-test-utils/-/server-test-utils-1.0.0-beta.31.tgz#d91960ca2e3521d518c95d9a103b9011de967704"
|
||||||
integrity sha512-H5vABB3uWbr+JlpN9pA7OpepYsHSmocbIHJQA00Xz0s4Qqmg4jX93GArO4KVC7zs/QS12w3mXfmMlYV8w7DwEg==
|
integrity sha512-9X1wIwZNaNTts3pd+v7wgCycF9So2DAvagRTCwAqw/IcKTLF/ZL40jGL2DZKIiwSDGgaq4Teq/9IJ6UncG9C6Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/cheerio" "^0.22.10"
|
"@types/cheerio" "^0.22.10"
|
||||||
cheerio "^1.0.0-rc.2"
|
cheerio "^1.0.0-rc.2"
|
||||||
|
|
||||||
"@vue/test-utils@~1.0.0-beta.30":
|
"@vue/test-utils@~1.0.0-beta.31":
|
||||||
version "1.0.0-beta.30"
|
version "1.0.0-beta.31"
|
||||||
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.30.tgz#d5f26d1e2411fdb7fa7fdedb61b4b4ea4194c49d"
|
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.31.tgz#580d6e45f07452e497d69807d80986e713949b73"
|
||||||
integrity sha512-Wyvcha9fNk8+kzTDwb3xWGjPkCPzHSYSwKP6MplrPTG/auhqoad7JqUEceZLc6u7AU4km2pPQ8/m9s0RgCZ0NA==
|
integrity sha512-IlhSx5hyEVnbvDZ3P98R1jNmy88QAd/y66Upn4EcvxSD5D4hwOutl3dIdfmSTSXs4b9DIMDnEVjX7t00cvOnvg==
|
||||||
dependencies:
|
dependencies:
|
||||||
dom-event-types "^1.0.0"
|
dom-event-types "^1.0.0"
|
||||||
lodash "^4.17.15"
|
lodash "^4.17.15"
|
||||||
@ -12827,10 +12800,10 @@ polished@^3.3.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.4.5"
|
"@babel/runtime" "^7.4.5"
|
||||||
|
|
||||||
popper.js@^1.14.4, popper.js@^1.14.7, popper.js@^1.15.0:
|
popper.js@^1.14.4, popper.js@^1.14.7, popper.js@^1.16.0:
|
||||||
version "1.15.0"
|
version "1.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2"
|
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.0.tgz#2e1816bcbbaa518ea6c2e15a466f4cb9c6e2fbb3"
|
||||||
integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==
|
integrity sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==
|
||||||
|
|
||||||
posix-character-classes@^0.1.0:
|
posix-character-classes@^0.1.0:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
@ -16955,13 +16928,13 @@ uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2:
|
|||||||
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==
|
||||||
|
|
||||||
v-tooltip@~2.0.2:
|
v-tooltip@~2.0.3:
|
||||||
version "2.0.2"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/v-tooltip/-/v-tooltip-2.0.2.tgz#8610d9eece2cc44fd66c12ef2f12eec6435cab9b"
|
resolved "https://registry.yarnpkg.com/v-tooltip/-/v-tooltip-2.0.3.tgz#34fd64096656f032b1616567bf62f6165c57d529"
|
||||||
integrity sha512-xQ+qzOFfywkLdjHknRPgMMupQNS8yJtf9Utd5Dxiu/0n4HtrxqsgDtN2MLZ0LKbburtSAQgyypuE/snM8bBZhw==
|
integrity sha512-KZZY3s+dcijzZmV2qoDH4rYmjMZ9YKGBVoUznZKQX0e3c2GjpJm3Sldzz8HHH2Ud87JqhZPB4+4gyKZ6m98cKQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.11"
|
lodash "^4.17.15"
|
||||||
popper.js "^1.15.0"
|
popper.js "^1.16.0"
|
||||||
vue-resize "^0.4.5"
|
vue-resize "^0.4.5"
|
||||||
|
|
||||||
v8-compile-cache@^2.0.3:
|
v8-compile-cache@^2.0.3:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user