From 54be22db5301de476476bab7efa7133a970c80aa Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sat, 12 Aug 2017 15:36:36 +0300 Subject: [PATCH 01/28] Link testing with data, index structure (pain) --- .storybook/addons.js | 4 + .storybook/storyshots.testjs | 5 + .../__tests__/__mocks__/index.mock.js | 2 +- .../__tests__/__mocks__/router.mock.js | 17 ++ .../__snapshots__/index.test.js.snap | 57 ------- .../LinkList/__tests__/index.stories.js | 33 ++++ components/LinkList/__tests__/index.test.js | 61 ++++--- components/LinkList/__tests__/utils.js | 8 + components/LinkList/index.stories.js | 6 - components/Theme.js | 2 +- containers/App.js | 25 +-- jest.config.js | 10 ++ libraries/installOfflinePlugin.js | 17 ++ libraries/themes/eightbit.js | 17 ++ libraries/themes/index.js | 18 ++ libraries/themes/inverted.js | 14 ++ libraries/{theme.js => themes/main.js} | 33 +--- package.json | 21 +-- stories/index.js | 19 --- yarn.lock | 154 +++++++++++++++--- 20 files changed, 330 insertions(+), 193 deletions(-) create mode 100644 .storybook/storyshots.testjs create mode 100644 components/LinkList/__tests__/__mocks__/router.mock.js delete mode 100644 components/LinkList/__tests__/__snapshots__/index.test.js.snap create mode 100644 components/LinkList/__tests__/index.stories.js create mode 100644 components/LinkList/__tests__/utils.js delete mode 100644 components/LinkList/index.stories.js create mode 100644 jest.config.js create mode 100644 libraries/installOfflinePlugin.js create mode 100644 libraries/themes/eightbit.js create mode 100644 libraries/themes/index.js create mode 100644 libraries/themes/inverted.js rename libraries/{theme.js => themes/main.js} (55%) delete mode 100644 stories/index.js diff --git a/.storybook/addons.js b/.storybook/addons.js index 967b2053..81827eba 100644 --- a/.storybook/addons.js +++ b/.storybook/addons.js @@ -2,3 +2,7 @@ import '@storybook/addon-actions/register'; import '@storybook/addon-links/register'; +import '@storybook/addon-events/register'; +import '@storybook/addon-notes/register'; +import '@storybook/addon-options/register'; +import '@storybook/addon-knobs/register'; diff --git a/.storybook/storyshots.testjs b/.storybook/storyshots.testjs new file mode 100644 index 00000000..642488fb --- /dev/null +++ b/.storybook/storyshots.testjs @@ -0,0 +1,5 @@ +import initStoryshots from '@storybook/addon-storyshots'; + +initStoryshots({ + storyKindRegex:/^((?!.*?DontTest).)*$/ +}); diff --git a/components/LinkList/__tests__/__mocks__/index.mock.js b/components/LinkList/__tests__/__mocks__/index.mock.js index 4f6b3c83..4d1bc799 100644 --- a/components/LinkList/__tests__/__mocks__/index.mock.js +++ b/components/LinkList/__tests__/__mocks__/index.mock.js @@ -1,5 +1,5 @@ export const defaultProps = { - pathname: 'signin', + pathname: '/', authenticated: false, logout: () => {} } diff --git a/components/LinkList/__tests__/__mocks__/router.mock.js b/components/LinkList/__tests__/__mocks__/router.mock.js new file mode 100644 index 00000000..680f8e19 --- /dev/null +++ b/components/LinkList/__tests__/__mocks__/router.mock.js @@ -0,0 +1,17 @@ +// mock router +// use this +// import NextRouter from 'next/router' +// const mockedNextRouter = { +// push: () => {/* console.log('next/router push') */}, +// prefetch: () => {/* console.log('next/router prefetch') */} +// }; +// NextRouter.router = mockedNextRouter; + +// or this +import { Router } from '~/routes' +const mockedRouter = { + pushRoute: () => {/* console.log('~/routes pushRoute') */}, + prefetch: () => {/* console.log('~/routes prefetch') */} +}; +Router.router = mockedRouter; + diff --git a/components/LinkList/__tests__/__snapshots__/index.test.js.snap b/components/LinkList/__tests__/__snapshots__/index.test.js.snap deleted file mode 100644 index 7c7eab14..00000000 --- a/components/LinkList/__tests__/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,57 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` should render with default props 1`] = ` - -`; diff --git a/components/LinkList/__tests__/index.stories.js b/components/LinkList/__tests__/index.stories.js new file mode 100644 index 00000000..60504e4a --- /dev/null +++ b/components/LinkList/__tests__/index.stories.js @@ -0,0 +1,33 @@ +import React from 'react'; + +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { withKnobs, text, boolean, select } from '@storybook/addon-knobs'; + +import './__mocks__/router.mock'; +import LinkList from '../'; +import { themeDecorator } from './utils'; + +storiesOf('LinkList', module) + .addDecorator(storyFn => { + const themes = ['main', 'eightbit', 'inverted']; + const defaultTheme = themes[0]; + const name = select('Theme', themes, defaultTheme); + + return themeDecorator(name)(storyFn()); + }) + .addDecorator(withKnobs) + .add('authenticated', () => + + ) + .add('nonauthenticated', () => + + ); diff --git a/components/LinkList/__tests__/index.test.js b/components/LinkList/__tests__/index.test.js index a7014bbf..1c6b86ca 100644 --- a/components/LinkList/__tests__/index.test.js +++ b/components/LinkList/__tests__/index.test.js @@ -1,37 +1,50 @@ -import { shallow } from 'enzyme'; -import { shallowToJson } from 'enzyme-to-json'; +import { mount } from 'enzyme'; import React from 'react'; -import LinkList from '../'; +import './__mocks__/router.mock'; import { defaultProps } from './__mocks__/index.mock'; +import LinkList from '../'; +import { themeDecorator } from './utils'; -describe('', () => { - it('should render with default props', () => { - const wrapper = shallow(); - expect(shallowToJson(wrapper)).toMatchSnapshot(); - }); +// NOTE: dont work +// const shallowWithMainTheme = (child, options) => { +// const mainThemeDecorator = themeDecorator('main'); +// const wrapper = shallow(mainThemeDecorator(child), options); +// const instance = wrapper.root.instance(); +// return wrapper.shallow({ context: instance.getChildContext() }); +// }; +// const shallowWithMainTheme = (child, options) => { +// const mainThemeDecorator = themeDecorator('main'); +// return shallow(mainThemeDecorator(child), options); +// }; + +const mountWithMainTheme = (child, options) => { + const mainThemeDecorator = themeDecorator('main'); + return mount(mainThemeDecorator(child), options); +}; +describe('', () => { it('when not authenticated', () => { - const wrapper = shallow( - - ); - const html = wrapper.html(); + const child = ; + const wrapper = mountWithMainTheme(child); + const text = wrapper.text(); - expect(html).toEqual(expect.stringContaining('Main Page')); - expect(html).toEqual(expect.stringContaining('Create')); - expect(html).toEqual(expect.stringContaining('SignIn')); - expect(html).toEqual(expect.stringContaining('SignUp')); - expect(html).not.toEqual(expect.stringContaining('LogOut')); + expect(text).toEqual(expect.stringContaining('Main Page')); + expect(text).toEqual(expect.stringContaining('Create')); + expect(text).toEqual(expect.stringContaining('SignIn')); + expect(text).toEqual(expect.stringContaining('SignUp')); + expect(text).not.toEqual(expect.stringContaining('LogOut')); }); it('when authenticated', () => { - const wrapper = shallow(); - const html = wrapper.html(); + const child = ; + const wrapper = mountWithMainTheme(child); + const text = wrapper.text(); - expect(html).toEqual(expect.stringContaining('Main Page')); - expect(html).toEqual(expect.stringContaining('Create')); - expect(html).not.toEqual(expect.stringContaining('SignIn')); - expect(html).not.toEqual(expect.stringContaining('SignUp')); - expect(html).toEqual(expect.stringContaining('LogOut')); + expect(text).toEqual(expect.stringContaining('Main Page')); + expect(text).toEqual(expect.stringContaining('Create')); + expect(text).not.toEqual(expect.stringContaining('SignIn')); + expect(text).not.toEqual(expect.stringContaining('SignUp')); + expect(text).toEqual(expect.stringContaining('LogOut')); }); }); diff --git a/components/LinkList/__tests__/utils.js b/components/LinkList/__tests__/utils.js new file mode 100644 index 00000000..77f62ec0 --- /dev/null +++ b/components/LinkList/__tests__/utils.js @@ -0,0 +1,8 @@ +import { ThemeProvider } from 'styled-components'; +import getTheme from '~/libraries/themes'; + +// eslint-disable-next-line import/prefer-default-export +export const themeDecorator = name => child => + + {child} + ; diff --git a/components/LinkList/index.stories.js b/components/LinkList/index.stories.js deleted file mode 100644 index fbebeaf1..00000000 --- a/components/LinkList/index.stories.js +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react'; - -import { storiesOf } from '@storybook/react'; -import LinkList from '.'; - -storiesOf('Menu', module).add('LinkList', () => ); diff --git a/components/Theme.js b/components/Theme.js index 490b77c7..e7084d81 100644 --- a/components/Theme.js +++ b/components/Theme.js @@ -5,7 +5,7 @@ export const App = styled.div` color: ${props => props.theme.colors.text}; `; -export const A = styled.a`color: ${props => props.theme.colors.main};`; +export const A = styled.a`color: ${props => props.theme.colors.main}};`; export const P = styled.p` font-size: ${props => props.theme.font.sizes.normal}; diff --git a/containers/App.js b/containers/App.js index ca9d26af..1dd8e355 100644 --- a/containers/App.js +++ b/containers/App.js @@ -1,31 +1,14 @@ import PropTypes from 'prop-types'; import { ThemeProvider, injectGlobal } from 'styled-components'; -import color from 'color'; -import themeList from '../libraries/theme'; +import getTheme from '../libraries/themes'; +import installOfflinePlugin from '../libraries/installOfflinePlugin'; import { App as ThemedApp } from '../components/Theme'; -let offlineInstalled = false; - const App = ({ children, theme }) => { - const themeName = !themeList[theme] ? 'main' : theme; - if (!themeList[themeName].helper) themeList[themeName].helper = color; - - if (process.env.OFFLINE_SUPPORT && process.browser && !offlineInstalled) { - const OfflinePlugin = require('offline-plugin/runtime'); // eslint-disable-line global-require - - OfflinePlugin.install({ - onUpdateReady() { - OfflinePlugin.applyUpdate(); - }, - onUpdated() { - window.location.reload(); - } - }); - offlineInstalled = true; - } + installOfflinePlugin(); return ( - + {children} diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..57a3861d --- /dev/null +++ b/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + coverageDirectory: './coverage/', + collectCoverage: false, + moduleFileExtensions: ['js'], + testRegex: '\\.test\\.js$', + testPathIgnorePatterns: [ + '/(build|docs|node_modules)/', + '/__mocks__/' + ] +}; diff --git a/libraries/installOfflinePlugin.js b/libraries/installOfflinePlugin.js new file mode 100644 index 00000000..151def66 --- /dev/null +++ b/libraries/installOfflinePlugin.js @@ -0,0 +1,17 @@ +let offlineInstalled = false; + +export default function installOfflinePlugin() { + if (process.env.OFFLINE_SUPPORT && process.browser && !offlineInstalled) { + const OfflinePlugin = require('offline-plugin/runtime'); // eslint-disable-line global-require + + OfflinePlugin.install({ + onUpdateReady() { + OfflinePlugin.applyUpdate(); + }, + onUpdated() { + window.location.reload(); + } + }); + offlineInstalled = true; + } +} diff --git a/libraries/themes/eightbit.js b/libraries/themes/eightbit.js new file mode 100644 index 00000000..0d7194f2 --- /dev/null +++ b/libraries/themes/eightbit.js @@ -0,0 +1,17 @@ +import { mergeObjects } from '../helpers'; +import main from './main'; + +export default mergeObjects(main, { + colors: { + main: '#40337f', + success: '#1bcb01', + error: '#722640', + background: '#000000', + text: '#ffffff' + }, + font: { + family: { + normal: 'Consolas, monaco, monospace' + } + } +}); diff --git a/libraries/themes/index.js b/libraries/themes/index.js new file mode 100644 index 00000000..6d44579d --- /dev/null +++ b/libraries/themes/index.js @@ -0,0 +1,18 @@ +import color from 'color'; + +import main from './main'; +import inverted from './inverted'; +import eightbit from './eightbit'; + +const themeList = { + main, + inverted, + eightbit +}; + +export default function getTheme(name) { + const theme = themeList[name]; + if (!theme) throw new Error(`Wrong theme name: ${name}`); + if (!theme.helper) theme.helper = color; + return theme; +} diff --git a/libraries/themes/inverted.js b/libraries/themes/inverted.js new file mode 100644 index 00000000..3dd71888 --- /dev/null +++ b/libraries/themes/inverted.js @@ -0,0 +1,14 @@ +import { mergeObjects } from '../helpers'; +import main from './main'; + +export default mergeObjects(main, { + colors: { + main: '#DD4526', + success: '#A347A3', + warn: '#003F98', + error: '#26ACB0', + background: '#000000', + text: '#ffffff', + textAlt: '#000000' + } +}); diff --git a/libraries/theme.js b/libraries/themes/main.js similarity index 55% rename from libraries/theme.js rename to libraries/themes/main.js index bb6abb75..462d64be 100644 --- a/libraries/theme.js +++ b/libraries/themes/main.js @@ -1,11 +1,4 @@ -import { mergeObjects } from './helpers'; - -const themeList = {}; - -themeList.extend = (themename, newsetting) => - mergeObjects(themeList[themename], newsetting); - -themeList.main = { +export default { font: { sizes: { normal: '14px', @@ -43,27 +36,3 @@ themeList.main = { textAlt: '#ffffff' } }; - -themeList.inverted = themeList.extend('main', { - colors: { - background: '#000000', - text: '#ffffff' - } -}); - -themeList.eightbit = themeList.extend('inverted', { - colors: { - main: '#40337f', - success: '#1bcb01', - error: '#722640', - background: '#000000', - text: '#ffffff' - }, - font: { - family: { - normal: 'Consolas, monaco, monospace' - } - } -}); - -export default themeList; diff --git a/package.json b/package.json index 6ca56567..6bf336e6 100644 --- a/package.json +++ b/package.json @@ -33,15 +33,6 @@ "git add" ] }, - "jest": { - "moduleFileExtensions": [ - "js" - ], - "testPathIgnorePatterns": [ - "/(build|docs|node_modules)/", - "/__mocks__/" - ] - }, "scripts": { "build": "next build", "dev": "npm run lint && node server.js", @@ -98,6 +89,13 @@ "styled-components": "2.1.2" }, "devDependencies": { + "@storybook/addon-centered": "3.2.0", + "@storybook/addon-events": "^3.2.0", + "@storybook/addon-knobs": "^3.2.0", + "@storybook/addon-notes": "^3.2.0", + "@storybook/addon-options": "^3.2.3", + "@storybook/addon-storyshots": "3.2.3", + "@storybook/react": "3.2.3", "babel-eslint": "7.2.3", "babel-plugin-inline-import-graphql-ast": "2.0.0", "babel-plugin-root-import": "5.1.0", @@ -110,7 +108,7 @@ "eslint-import-resolver-babel-plugin-root-import": "https://github.com/bingqichen/eslint-import-resolver-babel-plugin-root-import", "eslint-loader": "1.9.0", "eslint-plugin-graphql": "1.3.0", - "eslint-plugin-import": "^2.7.0", + "eslint-plugin-import": "2.7.0", "eslint-plugin-jest": "20.0.3", "eslint-plugin-jsx-a11y": "5.1.1", "eslint-plugin-prettier": "2.1.2", @@ -133,7 +131,6 @@ "react-test-renderer": "15.6.1", "release": "1.3.3", "shelljs": "0.7.8", - "webpack-bundle-analyzer": "2.9.0", - "@storybook/react": "^3.2.3" + "webpack-bundle-analyzer": "2.9.0" } } diff --git a/stories/index.js b/stories/index.js deleted file mode 100644 index 6df146e3..00000000 --- a/stories/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; -import { linkTo } from '@storybook/addon-links'; - -import { Button, Welcome } from '@storybook/react/demo'; - -storiesOf('Welcome', module).add('to Storybook', () => - -); - -storiesOf('Button', module) - .add('with text', () => - - ) - .add('with some emoji', () => - - ); diff --git a/yarn.lock b/yarn.lock index 9feb3540..35187ebe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,12 +45,69 @@ react-inspector "^2.1.1" uuid "^3.1.0" +"@storybook/addon-centered@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-centered/-/addon-centered-3.2.0.tgz#5c62b2a61990b814cbf7427500310311407a7fa7" + +"@storybook/addon-events@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-3.2.0.tgz#685c241529abb0c4005c57ad08fe3329b27f954f" + dependencies: + "@storybook/addons" "^3.2.0" + babel-runtime "^6.23.0" + format-json "^1.0.3" + prop-types "^15.5.10" + react-textarea-autosize "^4.3.0" + uuid "^3.1.0" + +"@storybook/addon-knobs@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.2.0.tgz#675b6648034996b1c2aa57fd6d318155d7e511bc" + dependencies: + "@storybook/addons" "^3.2.0" + babel-runtime "^6.23.0" + deep-equal "^1.0.1" + global "^4.3.2" + insert-css "^1.0.0" + lodash.debounce "^4.0.8" + moment "^2.18.1" + prop-types "^15.5.10" + react-color "^2.11.4" + react-datetime "^2.8.10" + react-textarea-autosize "^4.3.0" + util-deprecate "^1.0.2" + "@storybook/addon-links@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.0.tgz#28c73d1fd7fa37591139f3fb16e60a43113ad643" dependencies: "@storybook/addons" "^3.2.0" +"@storybook/addon-notes@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-3.2.0.tgz#e7b6720e260fab11c75a3799ee5d68d1b3496f2c" + dependencies: + "@storybook/addons" "^3.2.0" + babel-runtime "^6.23.0" + util-deprecate "^1.0.2" + optionalDependencies: + "@types/react" "^15.0.24" + +"@storybook/addon-options@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.2.3.tgz#ea3740d289d429ce767e9699bf3a647dd741592d" + dependencies: + "@storybook/addons" "^3.2.0" + +"@storybook/addon-storyshots@3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-3.2.3.tgz#75e24ba5b4428f3619a37c0d4280d682a642b6a7" + dependencies: + babel-runtime "^6.23.0" + global "^4.3.2" + prop-types "^15.5.10" + read-pkg-up "^2.0.0" + "@storybook/addons@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.0.tgz#e1446cc5613af179701673276267cee71859bf41" @@ -76,7 +133,7 @@ fuse.js "^3.0.1" prop-types "^15.5.9" -"@storybook/react@^3.2.3": +"@storybook/react@3.2.3": version "3.2.3" resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.3.tgz#4e5aff80b61328288dcf9e3a6b2a2890eab880be" dependencies: @@ -172,6 +229,14 @@ version "8.0.20" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.20.tgz#65c7375255c24b184c215a5d0b63247c32f01c91" +"@types/react@>=15": + version "16.0.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.2.tgz#0b31a73cdde6272b719e5b05a7df6d1e2654a804" + +"@types/react@^15.0.24": + version "15.6.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-15.6.1.tgz#497f7228762da4432e335957cb34fe9b40f150ae" + abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -789,8 +854,8 @@ babel-plugin-module-resolver@2.6.2: resolve "^1.3.2" babel-plugin-react-docgen@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.6.0.tgz#9be36121b094da7a1a3ba7911a9e8ea4b0f44da0" + version "1.7.0" + resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-1.7.0.tgz#87e72d3d54b182a30706b740bb4d116f59aadc80" dependencies: babel-types "^6.24.1" lodash "4.x.x" @@ -1789,14 +1854,10 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000715" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000715.tgz#0b9b5c795950dfbaf301a8806bafe87f126da8ca" -caniuse-lite@^1.0.30000697: +caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000712: version "1.0.30000715" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000715.tgz#c327f5e6d907ebcec62cde598c3bf0dd793fb9a0" -caniuse-lite@^1.0.30000712: - version "1.0.30000713" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000713.tgz#33957ecb4a2154a5d40a60d13d8bf1cfa0881a8a" - capitalize@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-1.0.0.tgz#dc802c580aee101929020d2ca14b4ca8a0ae44be" @@ -2295,7 +2356,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.2, create-react-class@^15.6.0: +create-react-class@^15.5.2, create-react-class@^15.5.x, create-react-class@^15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" dependencies: @@ -2939,8 +3000,8 @@ es-to-primitive@^1.1.1: is-symbol "^1.0.1" es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.26" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.26.tgz#51b2128a531b70c4f6764093a73cbebb82186372" + version "0.10.27" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.27.tgz#bf926b058c62b1cb5de1a887930673b6aa6d9a66" dependencies: es6-iterator "2" es6-symbol "~3.1" @@ -3100,7 +3161,7 @@ eslint-plugin-graphql@1.3.0: graphql-config "^1.0.0" lodash "^4.11.1" -eslint-plugin-import@^2.7.0: +eslint-plugin-import@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" dependencies: @@ -3327,7 +3388,7 @@ exenv@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" -exenv@^1.2.1: +exenv@^1.2.0, exenv@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" @@ -3682,6 +3743,10 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +format-json@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/format-json/-/format-json-1.0.3.tgz#268e3d3e169792ff49bb5b030f22c87ca1c2cd9f" + forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" @@ -4669,6 +4734,10 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" +insert-css@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-1.1.0.tgz#4a3f7a3e783877381bb8471a6452d1d27315db9e" + interactive@^0.1.9: version "0.1.9" resolved "https://registry.yarnpkg.com/interactive/-/interactive-0.1.9.tgz#6dd3e2f9a00341863bc7dd84afce9d191b6f9e8e" @@ -5732,7 +5801,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@4.x.x, lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: +lodash@4.x.x, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -5810,6 +5879,10 @@ marked@0.3.6, marked@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" +material-colors@^1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.5.tgz#5292593e6754cb1bcc2b98030e4e0d6a3afc9ea1" + math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" @@ -5956,7 +6029,7 @@ mobx@^2.3.4: version "2.7.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" -moment@2.18.1, moment@^2.11.2: +moment@2.18.1, moment@^2.11.2, moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -7333,6 +7406,16 @@ react-apollo@1.4.11: object-assign "^4.0.1" prop-types "^15.5.8" +react-color@^2.11.4: + version "2.13.4" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.13.4.tgz#43f1cc5e0b63ac37c9bb192a3bdce65b151f6c35" + dependencies: + lodash "^4.0.1" + material-colors "^1.2.1" + prop-types "^15.5.4" + reactcss "^1.2.0" + tinycolor2 "^1.1.2" + react-css-themr@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/react-css-themr/-/react-css-themr-2.1.2.tgz#e017514e471c232f43a754a55b49d81faf5dafb8" @@ -7340,6 +7423,15 @@ react-css-themr@^2.1.2: hoist-non-react-statics "^1.2.0" invariant "^2.2.1" +react-datetime@^2.8.10: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-datetime/-/react-datetime-2.9.0.tgz#9ec80060cbb8e5c5d8f98f0acebb6f4712ce449a" + dependencies: + "@types/react" ">=15" + object-assign "^3.0.0" + prop-types "^15.5.7" + react-onclickoutside "^5.9.0" + react-deep-force-update@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.0.tgz#1c5f36ea96bcbf411605ec063f36c568ea4df86c" @@ -7446,13 +7538,19 @@ react-modal@^1.6.5, react-modal@^1.7.7: react-dom-factories "^1.0.0" react-modal@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.2.2.tgz#4bbf98bc506e61c446c9f57329c7a488ea7d504b" + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.2.3.tgz#e22882961bbc5729a706b515dc20556fa0aa6ac8" dependencies: - exenv "1.2.0" + exenv "^1.2.0" prop-types "^15.5.10" react-dom-factories "^1.0.0" +react-onclickoutside@^5.9.0: + version "5.11.1" + resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-5.11.1.tgz#00314e52567cf55faba94cabbacd119619070623" + dependencies: + create-react-class "^15.5.x" + react-proxy@^3.0.0-alpha.0: version "3.0.0-alpha.1" resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07" @@ -7511,6 +7609,12 @@ react-test-renderer@15.6.1: fbjs "^0.8.9" object-assign "^4.1.0" +react-textarea-autosize@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-4.3.2.tgz#962a52c68caceae408c18acecec29049b81e42fa" + dependencies: + prop-types "^15.5.8" + react-toolbox@^2.0.0-beta.7: version "2.0.0-beta.12" resolved "https://registry.yarnpkg.com/react-toolbox/-/react-toolbox-2.0.0-beta.12.tgz#1d9dd7cc41e3b35dabdce5eb100a8068eee88c45" @@ -7562,6 +7666,12 @@ react@15.6.1, react@^15.4.2: object-assign "^4.1.0" prop-types "^15.5.10" +reactcss@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.2.tgz#41b0ef43e01d54880357c34b11ac1531209350ef" + dependencies: + lodash "^4.0.1" + read-all-stream@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" @@ -8026,8 +8136,8 @@ rx-lite@^3.1.2: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" rxjs@^5.0.0-beta.11, rxjs@^5.0.3: - version "5.4.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.2.tgz#2a3236fcbf03df57bae06fd6972fd99e5c08fcf7" + version "5.4.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" dependencies: symbol-observable "^1.0.1" @@ -8752,6 +8862,10 @@ tiny-emitter@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.1.tgz#e65919d91e488e2a78f7ebe827a56c6b188d51af" +tinycolor2@^1.1.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" + tmp@^0.0.31: version "0.0.31" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" From cd2e17b0ab5d2eaa3178fc3e2b60f951674a687a Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sat, 12 Aug 2017 16:36:24 +0300 Subject: [PATCH 02/28] storyshots works --- .../__snapshots__/storyshots.test.js.snap | 125 ++++++++++ .../{storyshots.testjs => storyshots.test.js} | 0 components/LinkList/__tests__/index.test.js | 12 - jest.config.js | 2 +- package.json | 16 +- yarn.lock | 221 +++++++----------- 6 files changed, 217 insertions(+), 159 deletions(-) create mode 100644 .storybook/__snapshots__/storyshots.test.js.snap rename .storybook/{storyshots.testjs => storyshots.test.js} (100%) diff --git a/.storybook/__snapshots__/storyshots.test.js.snap b/.storybook/__snapshots__/storyshots.test.js.snap new file mode 100644 index 00000000..9161a800 --- /dev/null +++ b/.storybook/__snapshots__/storyshots.test.js.snap @@ -0,0 +1,125 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Storyshots LinkList authenticated 1`] = ` + +`; + +exports[`Storyshots LinkList nonauthenticated 1`] = ` + +`; diff --git a/.storybook/storyshots.testjs b/.storybook/storyshots.test.js similarity index 100% rename from .storybook/storyshots.testjs rename to .storybook/storyshots.test.js diff --git a/components/LinkList/__tests__/index.test.js b/components/LinkList/__tests__/index.test.js index 1c6b86ca..ea80e4ea 100644 --- a/components/LinkList/__tests__/index.test.js +++ b/components/LinkList/__tests__/index.test.js @@ -6,18 +6,6 @@ import { defaultProps } from './__mocks__/index.mock'; import LinkList from '../'; import { themeDecorator } from './utils'; -// NOTE: dont work -// const shallowWithMainTheme = (child, options) => { -// const mainThemeDecorator = themeDecorator('main'); -// const wrapper = shallow(mainThemeDecorator(child), options); -// const instance = wrapper.root.instance(); -// return wrapper.shallow({ context: instance.getChildContext() }); -// }; -// const shallowWithMainTheme = (child, options) => { -// const mainThemeDecorator = themeDecorator('main'); -// return shallow(mainThemeDecorator(child), options); -// }; - const mountWithMainTheme = (child, options) => { const mainThemeDecorator = themeDecorator('main'); return mount(mainThemeDecorator(child), options); diff --git a/jest.config.js b/jest.config.js index 57a3861d..a2883ee8 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,7 @@ module.exports = { coverageDirectory: './coverage/', collectCoverage: false, - moduleFileExtensions: ['js'], + moduleFileExtensions: ['js', 'json'], testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', diff --git a/package.json b/package.json index 6bf336e6..e411af64 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "offline-plugin": "4.8.3", "prop-types": "15.5.10", "react": "15.6.1", - "react-apollo": "1.4.11", + "react-apollo": "1.4.12", "react-dom": "15.6.1", "react-helmet": "5.1.3", "react-redux": "5.0.6", @@ -90,10 +90,10 @@ }, "devDependencies": { "@storybook/addon-centered": "3.2.0", - "@storybook/addon-events": "^3.2.0", - "@storybook/addon-knobs": "^3.2.0", - "@storybook/addon-notes": "^3.2.0", - "@storybook/addon-options": "^3.2.3", + "@storybook/addon-events": "3.2.0", + "@storybook/addon-knobs": "3.2.0", + "@storybook/addon-notes": "3.2.0", + "@storybook/addon-options": "3.2.3", "@storybook/addon-storyshots": "3.2.3", "@storybook/react": "3.2.3", "babel-eslint": "7.2.3", @@ -102,17 +102,17 @@ "cli-clear": "1.0.4", "enzyme": "2.9.1", "enzyme-to-json": "1.5.1", - "eslint": "3.19.0", + "eslint": "4.4.1", "eslint-config-airbnb": "15.1.0", "eslint-config-prettier": "2.3.0", - "eslint-import-resolver-babel-plugin-root-import": "https://github.com/bingqichen/eslint-import-resolver-babel-plugin-root-import", + "eslint-import-resolver-babel-plugin-root-import": "0.0.11", "eslint-loader": "1.9.0", "eslint-plugin-graphql": "1.3.0", "eslint-plugin-import": "2.7.0", "eslint-plugin-jest": "20.0.3", "eslint-plugin-jsx-a11y": "5.1.1", "eslint-plugin-prettier": "2.1.2", - "eslint-plugin-react": "7.1.0", + "eslint-plugin-react": "7.2.0", "eslint-watch": "3.1.2", "figlet": "1.2.0", "graphql-cli": "1.0.0-beta.4", diff --git a/yarn.lock b/yarn.lock index 35187ebe..e3b36ccc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,7 +49,7 @@ version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-centered/-/addon-centered-3.2.0.tgz#5c62b2a61990b814cbf7427500310311407a7fa7" -"@storybook/addon-events@^3.2.0": +"@storybook/addon-events@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-3.2.0.tgz#685c241529abb0c4005c57ad08fe3329b27f954f" dependencies: @@ -60,7 +60,7 @@ react-textarea-autosize "^4.3.0" uuid "^3.1.0" -"@storybook/addon-knobs@^3.2.0": +"@storybook/addon-knobs@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.2.0.tgz#675b6648034996b1c2aa57fd6d318155d7e511bc" dependencies: @@ -83,7 +83,7 @@ dependencies: "@storybook/addons" "^3.2.0" -"@storybook/addon-notes@^3.2.0": +"@storybook/addon-notes@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-3.2.0.tgz#e7b6720e260fab11c75a3799ee5d68d1b3496f2c" dependencies: @@ -93,7 +93,7 @@ optionalDependencies: "@types/react" "^15.0.24" -"@storybook/addon-options@^3.2.3": +"@storybook/addon-options@3.2.3": version "3.2.3" resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.2.3.tgz#ea3740d289d429ce767e9699bf3a647dd741592d" dependencies: @@ -323,7 +323,7 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.0.0, ajv@^5.1.5: +ajv@^5.0.0, ajv@^5.1.5, ajv@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" dependencies: @@ -354,7 +354,7 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-escapes@^1.0.0, ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.0.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -609,7 +609,7 @@ axobject-query@^0.1.0: dependencies: ast-types-flow "0.0.7" -babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.11.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -2000,7 +2000,7 @@ cli-clear@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/cli-clear/-/cli-clear-1.0.4.tgz#42cf3052f25b7068386fb7dbaee82d534b64c899" -cli-cursor@^1.0.1, cli-cursor@^1.0.2: +cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" dependencies: @@ -2182,7 +2182,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.7, concat-stream@^1.5.2: +concat-stream@^1.4.7, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -2364,7 +2364,7 @@ create-react-class@^15.5.2, create-react-class@^15.5.x, create-react-class@^15.6 loose-envify "^1.3.1" object-assign "^4.1.1" -cross-spawn@5.1.0, cross-spawn@^5.0.1: +cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -3113,9 +3113,9 @@ eslint-config-prettier@2.3.0: dependencies: get-stdin "^5.0.1" -"eslint-import-resolver-babel-plugin-root-import@https://github.com/bingqichen/eslint-import-resolver-babel-plugin-root-import": +eslint-import-resolver-babel-plugin-root-import@0.0.11: version "0.0.11" - resolved "https://github.com/bingqichen/eslint-import-resolver-babel-plugin-root-import#8ec192984cb15ca598232f5260c4df02acd6d3e8" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-plugin-root-import/-/eslint-import-resolver-babel-plugin-root-import-0.0.11.tgz#c66fb4fb0f6c5aa5a45092f2ef161e9abf880367" dependencies: babel-plugin-root-import "^5.1.0" eslint-import-resolver-node "^0.2.1" @@ -3199,18 +3199,25 @@ eslint-plugin-prettier@2.1.2: fast-diff "^1.1.1" jest-docblock "^20.0.1" -eslint-plugin-react@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz#27770acf39f5fd49cd0af4083ce58104eb390d4c" +eslint-plugin-react@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.0.tgz#25c77a4ec307e3eebb248ea3350960e372ab6406" dependencies: doctrine "^2.0.0" has "^1.0.1" - jsx-ast-utils "^1.4.1" + jsx-ast-utils "^2.0.0" eslint-restricted-globals@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + eslint-watch@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-watch/-/eslint-watch-3.1.2.tgz#b93b3eca08915f113dc900994f880db1364de4b3" @@ -3227,47 +3234,48 @@ eslint-watch@3.1.2: text-table "^0.2.0" unicons "0.0.3" -eslint@3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" +eslint@4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.4.1.tgz#99cd7eafcffca2ff99a5c8f5f2a474d6364b4bd3" dependencies: - babel-code-frame "^6.16.0" + ajv "^5.2.0" + babel-code-frame "^6.22.0" chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^2.6.8" doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" + eslint-scope "^3.7.1" + espree "^3.5.0" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" + inquirer "^3.0.6" is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify "^1.0.1" levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" strip-json-comments "~2.0.1" - table "^3.7.8" + table "^4.0.1" text-table "~0.2.0" - user-home "^2.0.0" -espree@^3.4.0: +espree@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" dependencies: @@ -3565,7 +3573,7 @@ figlet@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" -figures@^1.3.5, figures@^1.7.0: +figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: @@ -3823,6 +3831,10 @@ function.prototype.name@^1.0.0, function.prototype.name@^1.0.3: function-bind "^1.1.0" is-callable "^1.1.3" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + fuse.js@^3.0.1: version "3.0.5" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.0.5.tgz#b58d85878802321de94461654947b93af1086727" @@ -3844,16 +3856,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - generic-names@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.2.tgz#e25b7feceb5b5a8f28f5f972a7ccfe57e562adcd" @@ -3999,7 +4001,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -4033,7 +4035,7 @@ global@^4.3.0, global@^4.3.2: min-document "^2.19.0" process "~0.5.1" -globals@^9.0.0, globals@^9.14.0: +globals@^9.0.0, globals@^9.17.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -4626,7 +4628,7 @@ ignore-by-default@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" -ignore@^3.2.0: +ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -4697,7 +4699,7 @@ inline-style-prefixer@^3.0.6: bowser "^1.6.0" css-in-js-utils "^1.0.3" -inquirer@3.2.1, inquirer@^3.2.0: +inquirer@3.2.1, inquirer@^3.0.6, inquirer@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175" dependencies: @@ -4716,24 +4718,6 @@ inquirer@3.2.1, inquirer@^3.2.0: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - insert-css@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-1.1.0.tgz#4a3f7a3e783877381bb8471a6452d1d27315db9e" @@ -4868,15 +4852,6 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-my-json-valid@^2.10.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -4935,10 +4910,6 @@ is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -5324,7 +5295,7 @@ js-tokens@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0, js-yaml@^3.9.0: +js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.9.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" dependencies: @@ -5394,7 +5365,7 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -5422,10 +5393,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -5435,10 +5402,16 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^1.4.0, jsx-ast-utils@^1.4.1: +jsx-ast-utils@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" +jsx-ast-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.0.tgz#ec06a3d60cf307e5e119dac7bad81e89f096f0f8" + dependencies: + array-includes "^3.0.3" + junk@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/junk/-/junk-1.0.3.tgz#87be63488649cbdca6f53ab39bec9ccd2347f592" @@ -6037,10 +6010,6 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -6701,7 +6670,7 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: +path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" @@ -6812,9 +6781,9 @@ pluralize@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-6.0.0.tgz#d9b51afad97d3d51075cc1ddba9b132cacccb7ba" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pluralize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" podda@^1.2.2: version "1.2.2" @@ -7184,9 +7153,9 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" promise-polyfill@^6.0.1: version "6.0.2" @@ -7390,9 +7359,9 @@ react-addons-test-utils@15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" -react-apollo@1.4.11: - version "1.4.11" - resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.11.tgz#afa0605ce8d52cf8b04bca416d709ff44ce212fc" +react-apollo@1.4.12: + version "1.4.12" + resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.12.tgz#0cacbdd335acec4c1079feb48047df1c43f77bdf" dependencies: apollo-client "^1.4.0" graphql-anywhere "^3.0.0" @@ -7748,14 +7717,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - recast@^0.12.6: version "0.12.6" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.6.tgz#4b0fb82feb1d10b3bd62d34943426d9b3ed30d4c" @@ -8030,7 +7991,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.2: +require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -8109,12 +8070,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -8131,10 +8086,6 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - rxjs@^5.0.0-beta.11, rxjs@^5.0.3: version "5.4.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" @@ -8290,7 +8241,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@0.7.8, shelljs@^0.7.5, shelljs@^0.7.8: +shelljs@0.7.8, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -8736,9 +8687,9 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" +table@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -9114,12 +9065,6 @@ url@0.11.0, url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" From 78ef6fba4aa2d10e3fb9e10e76dd7ecdde3f98b3 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sat, 12 Aug 2017 16:38:42 +0300 Subject: [PATCH 03/28] jest on each commit --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e411af64..9df9e47f 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ "lint-staged": { "*.js": [ "eslint --fix", - "git add" + "git add", + "test" ] }, "scripts": { From 54358a911fe8c0eacee53776d037948fc51f7996 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sat, 12 Aug 2017 16:41:40 +0300 Subject: [PATCH 04/28] jest on each commit, root imports everywhere --- containers/App.js | 6 +++--- containers/CreatePost/index.js | 2 +- containers/Header/index.js | 2 +- containers/PostList/index.js | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/containers/App.js b/containers/App.js index 1dd8e355..8e88bc1f 100644 --- a/containers/App.js +++ b/containers/App.js @@ -1,8 +1,8 @@ import PropTypes from 'prop-types'; import { ThemeProvider, injectGlobal } from 'styled-components'; -import getTheme from '../libraries/themes'; -import installOfflinePlugin from '../libraries/installOfflinePlugin'; -import { App as ThemedApp } from '../components/Theme'; +import getTheme from '~/libraries/themes'; +import installOfflinePlugin from '~/libraries/installOfflinePlugin'; +import { App as ThemedApp } from '~/components/Theme'; const App = ({ children, theme }) => { installOfflinePlugin(); diff --git a/containers/CreatePost/index.js b/containers/CreatePost/index.js index f81a366c..d8c88e4f 100644 --- a/containers/CreatePost/index.js +++ b/containers/CreatePost/index.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { Router } from '~/routes'; import * as S from './styles'; -import { Router } from '../../routes'; import connect from './data'; class CreateForm extends React.Component { diff --git a/containers/Header/index.js b/containers/Header/index.js index 86787316..7c964947 100644 --- a/containers/Header/index.js +++ b/containers/Header/index.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import LinkList from '../../components/LinkList'; +import LinkList from '~/components/LinkList'; import * as S from './styles'; import connect from './data'; diff --git a/containers/PostList/index.js b/containers/PostList/index.js index 0eec8adc..f8057b35 100644 --- a/containers/PostList/index.js +++ b/containers/PostList/index.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; -import { Link } from '../../routes'; -import PostUpvoter from '../PostUpvoter'; +import { Link } from '~/routes'; +import PostUpvoter from '~/containers/PostUpvoter'; import * as S from './styles'; import connect from './data'; From 3ef12f8fb4ea45dfc35bd79326d777f4f099e936 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 00:16:09 +0300 Subject: [PATCH 05/28] refoldering --- .babelrc | 2 +- .eslintrc | 59 - .eslintrc.yaml | 39 + .graphqlconfig | 2 +- .storybook/addons.js | 8 - .storybook/storyshots.test.js | 5 - .stylelintrc | 5 + .yarnclean | 3 + .../__snapshots__/storyshots.test.js.snap | 0 app/.storybook/addons.js | 8 + app/.storybook/storyshots.test.js | 6 + .../components}/AuthFields/index.js | 20 +- .../components}/AuthFields/styles.js | 8 +- .../components}/AuthFields/validation.js | 22 +- .../__tests__/__mocks__/index.mock.js | 4 +- .../__tests__/__mocks__/router.mock.js | 11 +- .../LinkList/__tests__/index.stories.js | 24 +- .../LinkList/__tests__/index.test.js | 38 + .../components}/LinkList/__tests__/utils.js | 6 +- .../components}/LinkList/index.js | 12 +- .../components}/LinkList/styles.js | 6 +- {components => app/components}/Theme.js | 12 +- .../containers}/CreatePost/createPost.gql | 0 .../containers}/CreatePost/data.js | 12 +- .../containers}/CreatePost/index.js | 32 +- .../containers}/CreatePost/styles.js | 8 +- {containers => app/containers}/Header/data.js | 10 +- .../containers}/Header/index.js | 16 +- app/containers/Header/styles.js | 4 + {containers => app/containers/Layout}/App.js | 24 +- .../containers/Layout/index.js | 16 +- .../containers}/PostInfo/data.js | 8 +- .../containers}/PostInfo/getPost.gql | 0 .../containers}/PostInfo/index.js | 26 +- .../containers}/PostInfo/styles.js | 8 +- .../containers}/PostList/allPosts.gql | 0 .../containers}/PostList/data.js | 14 +- .../containers}/PostList/index.js | 22 +- .../containers}/PostList/styles.js | 18 +- .../containers}/PostUpvoter/data.js | 8 +- .../containers}/PostUpvoter/index.js | 16 +- .../containers}/PostUpvoter/styles.js | 4 +- .../containers}/PostUpvoter/upvotePost.gql | 0 app/containers/SignInForm/data.js | 28 + .../containers}/SignInForm/index.js | 62 +- .../containers}/SignInForm/signinUser.gql | 0 .../containers}/SignUpForm/data.js | 20 +- .../containers}/SignUpForm/index.js | 64 +- .../containers}/SignUpForm/signupUser.gql | 0 {libraries => app/lib}/apolloClient.js | 34 +- {libraries => app/lib}/helpers.js | 24 +- app/lib/installOfflinePlugin.js | 17 + {libraries => app/lib}/middleware.js | 8 +- app/lib/persist.js | 21 + {libraries => app/lib}/redirect.js | 10 +- {libraries => app/lib}/reducer.js | 6 +- {libraries => app/lib}/reduxStore.js | 38 +- {libraries => app/lib}/validations.js | 8 +- {libraries => app/lib}/withData.js | 44 +- routes.js => app/routes.js | 12 +- {libraries => app}/stores/auth.js | 42 +- {libraries => app}/themes/eightbit.js | 6 +- app/themes/index.js | 18 + {libraries => app}/themes/inverted.js | 6 +- {libraries => app}/themes/main.js | 2 +- components/LinkList/__tests__/index.test.js | 38 - containers/Header/styles.js | 4 - containers/SignInForm/data.js | 28 - docs/FAQ.md | 2 +- docs/Styling.md | 6 +- helper_scripts/CL_commands/__helpers.js | 95 +- helper_scripts/CL_commands/create_page.js | 58 +- helper_scripts/CL_commands/create_route.js | 46 +- helper_scripts/CL_commands/setup.js | 74 +- helper_scripts/templates/page.hbs | 4 +- jest.config.js | 4 +- libraries/graphql_schemas/schema.graphql | 1740 --- libraries/installOfflinePlugin.js | 17 - libraries/persist.js | 21 - libraries/themes/index.js | 18 - next.config.js | 30 +- package.json | 44 +- pages/_document.js | 24 +- pages/create.js | 12 +- pages/details.js | 12 +- pages/index.js | 12 +- pages/signin.js | 12 +- pages/signup.js | 12 +- schema.json | 10067 ++++++++++++++++ server.js => server/index.js | 120 +- server/logger.js | 18 +- yarn.lock | 406 +- 92 files changed, 11238 insertions(+), 2702 deletions(-) delete mode 100644 .eslintrc create mode 100644 .eslintrc.yaml delete mode 100644 .storybook/addons.js delete mode 100644 .storybook/storyshots.test.js create mode 100644 .stylelintrc rename {.storybook => app/.storybook}/__snapshots__/storyshots.test.js.snap (100%) create mode 100644 app/.storybook/addons.js create mode 100644 app/.storybook/storyshots.test.js rename {components => app/components}/AuthFields/index.js (83%) rename {components => app/components}/AuthFields/styles.js (78%) rename {components => app/components}/AuthFields/validation.js (55%) rename {components => app/components}/LinkList/__tests__/__mocks__/index.mock.js (78%) rename {components => app/components}/LinkList/__tests__/__mocks__/router.mock.js (65%) rename {components => app/components}/LinkList/__tests__/index.stories.js (54%) create mode 100644 app/components/LinkList/__tests__/index.test.js rename {components => app/components}/LinkList/__tests__/utils.js (58%) rename {components => app/components}/LinkList/index.js (88%) rename {components => app/components}/LinkList/styles.js (88%) rename {components => app/components}/Theme.js (93%) rename {containers => app/containers}/CreatePost/createPost.gql (100%) rename {containers => app/containers}/CreatePost/data.js (69%) rename {containers => app/containers}/CreatePost/index.js (53%) rename {containers => app/containers}/CreatePost/styles.js (68%) rename {containers => app/containers}/Header/data.js (69%) rename {containers => app/containers}/Header/index.js (67%) create mode 100644 app/containers/Header/styles.js rename {containers => app/containers/Layout}/App.js (61%) rename containers/Default.js => app/containers/Layout/index.js (70%) rename {containers => app/containers}/PostInfo/data.js (62%) rename {containers => app/containers}/PostInfo/getPost.gql (100%) rename {containers => app/containers}/PostInfo/index.js (73%) rename {containers => app/containers}/PostInfo/styles.js (66%) rename {containers => app/containers}/PostList/allPosts.gql (100%) rename {containers => app/containers}/PostList/data.js (75%) rename {containers => app/containers}/PostList/index.js (77%) rename {containers => app/containers}/PostList/styles.js (81%) rename {containers => app/containers}/PostUpvoter/data.js (74%) rename {containers => app/containers}/PostUpvoter/index.js (59%) rename {containers => app/containers}/PostUpvoter/styles.js (87%) rename {containers => app/containers}/PostUpvoter/upvotePost.gql (100%) create mode 100644 app/containers/SignInForm/data.js rename {containers => app/containers}/SignInForm/index.js (63%) rename {containers => app/containers}/SignInForm/signinUser.gql (100%) rename {containers => app/containers}/SignUpForm/data.js (51%) rename {containers => app/containers}/SignUpForm/index.js (66%) rename {containers => app/containers}/SignUpForm/signupUser.gql (100%) rename {libraries => app/lib}/apolloClient.js (68%) rename {libraries => app/lib}/helpers.js (63%) create mode 100644 app/lib/installOfflinePlugin.js rename {libraries => app/lib}/middleware.js (69%) create mode 100644 app/lib/persist.js rename {libraries => app/lib}/redirect.js (56%) rename {libraries => app/lib}/reducer.js (55%) rename {libraries => app/lib}/reduxStore.js (50%) rename {libraries => app/lib}/validations.js (66%) rename {libraries => app/lib}/withData.js (62%) rename routes.js => app/routes.js (69%) rename {libraries => app}/stores/auth.js (51%) rename {libraries => app}/themes/eightbit.js (76%) create mode 100644 app/themes/index.js rename {libraries => app}/themes/inverted.js (74%) rename {libraries => app}/themes/main.js (99%) delete mode 100644 components/LinkList/__tests__/index.test.js delete mode 100644 containers/Header/styles.js delete mode 100644 containers/SignInForm/data.js delete mode 100644 libraries/graphql_schemas/schema.graphql delete mode 100644 libraries/installOfflinePlugin.js delete mode 100644 libraries/persist.js delete mode 100644 libraries/themes/index.js create mode 100644 schema.json rename server.js => server/index.js (56%) diff --git a/.babelrc b/.babelrc index 5cd645ff..348371fe 100644 --- a/.babelrc +++ b/.babelrc @@ -23,7 +23,7 @@ }], "babel-plugin-inline-import-graphql-ast", ["babel-plugin-root-import", { - "rootPathSuffix": "./" + "rootPathSuffix": "./app" }] ] } diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 55308bcf..00000000 --- a/.eslintrc +++ /dev/null @@ -1,59 +0,0 @@ -{ - "parser": "babel-eslint", - "env": { - "browser": true, - "node": true, - "es6": true, - "jest": true - }, - "extends": [ - "airbnb", - "prettier", - "prettier/react", - "plugin:jest/recommended", - "plugin:import/warnings" - ], - "plugins": [ - "prettier", - "graphql", - "jest", - "import" - ], - "settings": { - "import/resolver": { - "babel-plugin-root-import": {} - } - }, - "globals": { - "document": true, - "window": true, - "process": true, - "fetch": false, - "ANALYTICS_TRACKING_ID": false, - "AUTH0_CLIENT_ID": false, - "AUTH0_DOMAIN": false, - "GRAPHQL_ENDPOINT": false, - "NEWSLETTER_FORM_ACTION": false, - "NEWSLETTER_FORM_INPUT_NAME": false, - "ON_PRODUCTION": true - }, - "rules": { - "react/forbid-prop-types": 0, - "react/jsx-filename-extension": 0, - "react/react-in-jsx-scope": 0, - "class-methods-use-this": 0, - "no-unused-expressions": ["error", { "allowTaggedTemplates": true }], - "no-underscore-dangle": ["error", { - "allow": ["__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"] - }], - "react/no-unused-prop-types": 0, - "consistent-return": 0, - "import/no-extraneous-dependencies": 0, - "prettier/prettier": ["error", { - "singleQuote": true - }], - "graphql/template-strings": ['error', { - env: 'literal' - }] - } -} diff --git a/.eslintrc.yaml b/.eslintrc.yaml new file mode 100644 index 00000000..598646a1 --- /dev/null +++ b/.eslintrc.yaml @@ -0,0 +1,39 @@ +--- +parser: babel-eslint +env: + browser: true + node: true + es6: true + jest: true +extends: +- standard +- standard-jsx +- prettier +- prettier/react +- plugin:jest/recommended +- plugin:import/errors +plugins: +- graphql +- jest +- import +settings: + import/resolver: + babel-plugin-root-import: {} +globals: + ANALYTICS_TRACKING_ID: false + AUTH0_CLIENT_ID: false + AUTH0_DOMAIN: false + GRAPHQL_ENDPOINT: false + NEWSLETTER_FORM_ACTION: false + NEWSLETTER_FORM_INPUT_NAME: false + ON_PRODUCTION: true +rules: + semi: + - error + - never + quotes: + - error + - single + graphql/template-strings: + - error + - env: literal diff --git a/.graphqlconfig b/.graphqlconfig index 01d29223..88fb88e1 100644 --- a/.graphqlconfig +++ b/.graphqlconfig @@ -1,5 +1,5 @@ { - "schemaPath": "./libraries/graphql_schemas/schema.graphql", + "schemaPath": "schema.json", "extensions": { "endpoints": { "default": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn" diff --git a/.storybook/addons.js b/.storybook/addons.js deleted file mode 100644 index 81827eba..00000000 --- a/.storybook/addons.js +++ /dev/null @@ -1,8 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */ - -import '@storybook/addon-actions/register'; -import '@storybook/addon-links/register'; -import '@storybook/addon-events/register'; -import '@storybook/addon-notes/register'; -import '@storybook/addon-options/register'; -import '@storybook/addon-knobs/register'; diff --git a/.storybook/storyshots.test.js b/.storybook/storyshots.test.js deleted file mode 100644 index 642488fb..00000000 --- a/.storybook/storyshots.test.js +++ /dev/null @@ -1,5 +0,0 @@ -import initStoryshots from '@storybook/addon-storyshots'; - -initStoryshots({ - storyKindRegex:/^((?!.*?DontTest).)*$/ -}); diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..4daff24d --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,5 @@ +{ + "processors": ["stylelint-processor-styled-components"], + "extends": "stylelint-config-standard", + "syntax": "scss" +} diff --git a/.yarnclean b/.yarnclean index 25bdd148..e299a2c1 100644 --- a/.yarnclean +++ b/.yarnclean @@ -40,3 +40,6 @@ Gruntfile.js # misc *.gz *.md + +# fix issue with yarn cleaning assets, https://github.com/gotwarlost/istanbul/issues/743 +!istanbul-reports/lib/html/assets diff --git a/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap similarity index 100% rename from .storybook/__snapshots__/storyshots.test.js.snap rename to app/.storybook/__snapshots__/storyshots.test.js.snap diff --git a/app/.storybook/addons.js b/app/.storybook/addons.js new file mode 100644 index 00000000..a9e82249 --- /dev/null +++ b/app/.storybook/addons.js @@ -0,0 +1,8 @@ +/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */ + +import "@storybook/addon-actions/register"; +import "@storybook/addon-links/register"; +import "@storybook/addon-events/register"; +import "@storybook/addon-notes/register"; +import "@storybook/addon-options/register"; +import "@storybook/addon-knobs/register"; diff --git a/app/.storybook/storyshots.test.js b/app/.storybook/storyshots.test.js new file mode 100644 index 00000000..718e074a --- /dev/null +++ b/app/.storybook/storyshots.test.js @@ -0,0 +1,6 @@ +import initStoryshots from "@storybook/addon-storyshots"; + +initStoryshots({ + configPath: "app/.storybook", + storyKindRegex: /^((?!.*?DontTest).)*$/ +}); diff --git a/components/AuthFields/index.js b/app/components/AuthFields/index.js similarity index 83% rename from components/AuthFields/index.js rename to app/components/AuthFields/index.js index 36cbf4e3..3513fc89 100644 --- a/components/AuthFields/index.js +++ b/app/components/AuthFields/index.js @@ -1,6 +1,6 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Main, SubmitButton } from './styles'; +import React from 'react' +import PropTypes from 'prop-types' +import { Main, SubmitButton } from './styles' const AuthFields = props => { const { @@ -11,7 +11,7 @@ const AuthFields = props => { handleSubmit, touched, errors - } = props; + } = props const mapFields = fields.map(field =>
{ {errors[field.attr.name]}
} - ); + ) const authMethod = - (selectFields === 'signinFields' && 'Sign In') || 'Sign Up'; + (selectFields === 'signinFields' && 'Sign In') || 'Sign Up' return (

@@ -46,8 +46,8 @@ const AuthFields = props => {

- ); -}; + ) +} AuthFields.propTypes = { selectFields: PropTypes.string.isRequired, @@ -57,6 +57,6 @@ AuthFields.propTypes = { handleSubmit: PropTypes.func.isRequired, touched: PropTypes.bool.isRequired, errors: PropTypes.object.isRequired -}; +} -export default AuthFields; +export default AuthFields diff --git a/components/AuthFields/styles.js b/app/components/AuthFields/styles.js similarity index 78% rename from components/AuthFields/styles.js rename to app/components/AuthFields/styles.js index 9e2598d6..52716847 100644 --- a/components/AuthFields/styles.js +++ b/app/components/AuthFields/styles.js @@ -1,5 +1,5 @@ -import styled from 'styled-components'; -import * as T from '~/components/Theme'; +import styled from 'styled-components' +import * as T from '~/components/Theme' export const Main = styled.div` border-bottom: 1px solid #ececec; @@ -14,8 +14,8 @@ export const Main = styled.div` display: block; margin-bottom: 10px; } -`; +` export const SubmitButton = T.Button.extend` opacity: ${({ touched }) => (touched ? 1 : 0.5)}; -`; +` diff --git a/components/AuthFields/validation.js b/app/components/AuthFields/validation.js similarity index 55% rename from components/AuthFields/validation.js rename to app/components/AuthFields/validation.js index 60a16c7a..d7e6df1b 100644 --- a/components/AuthFields/validation.js +++ b/app/components/AuthFields/validation.js @@ -1,29 +1,29 @@ -import { isStringEmpty, isEmail } from '~/libraries/validations'; +import { isStringEmpty, isEmail } from '~/lib/validations' export default values => { - const errorsBuffer = {}; + const errorsBuffer = {} Object.entries(values).forEach(([key, value]) => { if (isStringEmpty(value)) { - errorsBuffer[key] = 'Required'; - return; + errorsBuffer[key] = 'Required' + return } if (key === 'email' && !isEmail(value)) { - errorsBuffer[key] = 'Invalid email address'; - return; + errorsBuffer[key] = 'Invalid email address' + return } if (key === 'password' && values.password.length <= 3) { - errorsBuffer[key] = 'Must be at least 4 characters'; + errorsBuffer[key] = 'Must be at least 4 characters' } - }); + }) // can be false or object - const errors = Object.keys(errorsBuffer).length > 0 ? errorsBuffer : false; + const errors = Object.keys(errorsBuffer).length > 0 ? errorsBuffer : false return { errors, touched: true - }; -}; + } +} diff --git a/components/LinkList/__tests__/__mocks__/index.mock.js b/app/components/LinkList/__tests__/__mocks__/index.mock.js similarity index 78% rename from components/LinkList/__tests__/__mocks__/index.mock.js rename to app/components/LinkList/__tests__/__mocks__/index.mock.js index 4d1bc799..6f4f76ba 100644 --- a/components/LinkList/__tests__/__mocks__/index.mock.js +++ b/app/components/LinkList/__tests__/__mocks__/index.mock.js @@ -1,5 +1,5 @@ export const defaultProps = { - pathname: '/', + pathname: "/", authenticated: false, logout: () => {} -} +}; diff --git a/components/LinkList/__tests__/__mocks__/router.mock.js b/app/components/LinkList/__tests__/__mocks__/router.mock.js similarity index 65% rename from components/LinkList/__tests__/__mocks__/router.mock.js rename to app/components/LinkList/__tests__/__mocks__/router.mock.js index 680f8e19..e81283fa 100644 --- a/components/LinkList/__tests__/__mocks__/router.mock.js +++ b/app/components/LinkList/__tests__/__mocks__/router.mock.js @@ -8,10 +8,13 @@ // NextRouter.router = mockedNextRouter; // or this -import { Router } from '~/routes' +import { Router } from "~/routes"; const mockedRouter = { - pushRoute: () => {/* console.log('~/routes pushRoute') */}, - prefetch: () => {/* console.log('~/routes prefetch') */} + pushRoute: () => { + /* console.log('~/routes pushRoute') */ + }, + prefetch: () => { + /* console.log('~/routes prefetch') */ + } }; Router.router = mockedRouter; - diff --git a/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js similarity index 54% rename from components/LinkList/__tests__/index.stories.js rename to app/components/LinkList/__tests__/index.stories.js index 60504e4a..cf0435db 100644 --- a/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -1,20 +1,20 @@ -import React from 'react'; +import React from 'react' -import { storiesOf } from '@storybook/react'; -import { action } from '@storybook/addon-actions'; -import { withKnobs, text, boolean, select } from '@storybook/addon-knobs'; +import { storiesOf } from '@storybook/react' +import { action } from '@storybook/addon-actions' +import { withKnobs, text, boolean, select } from '@storybook/addon-knobs' -import './__mocks__/router.mock'; -import LinkList from '../'; -import { themeDecorator } from './utils'; +import './__mocks__/router.mock' +import LinkList from '../' +import { themeDecorator } from './utils' storiesOf('LinkList', module) .addDecorator(storyFn => { - const themes = ['main', 'eightbit', 'inverted']; - const defaultTheme = themes[0]; - const name = select('Theme', themes, defaultTheme); + const themes = ['main', 'eightbit', 'inverted'] + const defaultTheme = themes[0] + const name = select('Theme', themes, defaultTheme) - return themeDecorator(name)(storyFn()); + return themeDecorator(name)(storyFn()) }) .addDecorator(withKnobs) .add('authenticated', () => @@ -30,4 +30,4 @@ storiesOf('LinkList', module) authenticated={boolean('Authenticated', false)} logout={action('logout')} /> - ); + ) diff --git a/app/components/LinkList/__tests__/index.test.js b/app/components/LinkList/__tests__/index.test.js new file mode 100644 index 00000000..3e265640 --- /dev/null +++ b/app/components/LinkList/__tests__/index.test.js @@ -0,0 +1,38 @@ +import { mount } from 'enzyme' +import React from 'react' + +import './__mocks__/router.mock' +import { defaultProps } from './__mocks__/index.mock' +import LinkList from '../' +import { themeDecorator } from './utils' + +const mountWithMainTheme = (child, options) => { + const mainThemeDecorator = themeDecorator('main') + return mount(mainThemeDecorator(child), options) +} + +describe('', () => { + it('when not authenticated', () => { + const child = + const wrapper = mountWithMainTheme(child) + const text = wrapper.text() + + expect(text).toEqual(expect.stringContaining('Main Page')) + expect(text).toEqual(expect.stringContaining('Create')) + expect(text).toEqual(expect.stringContaining('SignIn')) + expect(text).toEqual(expect.stringContaining('SignUp')) + expect(text).not.toEqual(expect.stringContaining('LogOut')) + }) + + it('when authenticated', () => { + const child = + const wrapper = mountWithMainTheme(child) + const text = wrapper.text() + + expect(text).toEqual(expect.stringContaining('Main Page')) + expect(text).toEqual(expect.stringContaining('Create')) + expect(text).not.toEqual(expect.stringContaining('SignIn')) + expect(text).not.toEqual(expect.stringContaining('SignUp')) + expect(text).toEqual(expect.stringContaining('LogOut')) + }) +}) diff --git a/components/LinkList/__tests__/utils.js b/app/components/LinkList/__tests__/utils.js similarity index 58% rename from components/LinkList/__tests__/utils.js rename to app/components/LinkList/__tests__/utils.js index 77f62ec0..f00645e8 100644 --- a/components/LinkList/__tests__/utils.js +++ b/app/components/LinkList/__tests__/utils.js @@ -1,8 +1,8 @@ -import { ThemeProvider } from 'styled-components'; -import getTheme from '~/libraries/themes'; +import { ThemeProvider } from 'styled-components' +import getTheme from '~/themes' // eslint-disable-next-line import/prefer-default-export export const themeDecorator = name => child => {child} - ; +
diff --git a/components/LinkList/index.js b/app/components/LinkList/index.js similarity index 88% rename from components/LinkList/index.js rename to app/components/LinkList/index.js index 7e70d575..f339dd0d 100644 --- a/components/LinkList/index.js +++ b/app/components/LinkList/index.js @@ -1,6 +1,6 @@ -import PropTypes from 'prop-types'; -import { Link } from '../../routes'; -import * as S from './styles'; +import PropTypes from 'prop-types' +import { Link } from '../../routes' +import * as S from './styles' const LinkList = ({ pathname, authenticated, logout }) => ; + LinkList.propTypes = { pathname: PropTypes.string.isRequired, authenticated: PropTypes.bool.isRequired, logout: PropTypes.func.isRequired -}; +} -export default LinkList; +export default LinkList diff --git a/components/LinkList/styles.js b/app/components/LinkList/styles.js similarity index 88% rename from components/LinkList/styles.js rename to app/components/LinkList/styles.js index 58c5d7d3..32f66790 100644 --- a/components/LinkList/styles.js +++ b/app/components/LinkList/styles.js @@ -1,4 +1,4 @@ -import * as T from '~/components/Theme'; +import * as T from '~/components/Theme' export const A = T.A.extend` font-size: 14px; @@ -6,11 +6,11 @@ export const A = T.A.extend` text-decoration: none; cursor: pointer; text-decoration: ${({ active }) => (active ? 'underline' : 'none')}; -`; +` export const LogOutButton = T.Button.extend` display: inline-block; margin-right: 15px; cursor: pointer; text-decoration: ${({ active }) => (active ? 'underline' : 'none')}; -`; +` diff --git a/components/Theme.js b/app/components/Theme.js similarity index 93% rename from components/Theme.js rename to app/components/Theme.js index e7084d81..d3e36881 100644 --- a/components/Theme.js +++ b/app/components/Theme.js @@ -1,21 +1,21 @@ -import styled from 'styled-components'; +import styled from 'styled-components' export const App = styled.div` background-color: ${props => props.theme.colors.background}; color: ${props => props.theme.colors.text}; -`; +` -export const A = styled.a`color: ${props => props.theme.colors.main}};`; +export const A = styled.a`color: ${props => props.theme.colors.main}};` export const P = styled.p` font-size: ${props => props.theme.font.sizes.normal}; line-height: ${props => props.theme.font.sizes.bigger}; -`; +` export const Article = styled.article` margin: ${props => props.theme.alignment.horizontalcenter}; max-width: 650px; -`; +` export const Button = styled.button` align-items: center; @@ -32,4 +32,4 @@ export const Button = styled.button` &:focus { outline: none; } -`; +` diff --git a/containers/CreatePost/createPost.gql b/app/containers/CreatePost/createPost.gql similarity index 100% rename from containers/CreatePost/createPost.gql rename to app/containers/CreatePost/createPost.gql diff --git a/containers/CreatePost/data.js b/app/containers/CreatePost/data.js similarity index 69% rename from containers/CreatePost/data.js rename to app/containers/CreatePost/data.js index 847025f5..6d4bce24 100644 --- a/containers/CreatePost/data.js +++ b/app/containers/CreatePost/data.js @@ -1,5 +1,5 @@ -import { graphql } from 'react-apollo'; -import createPostGql from './createPost.gql'; +import { graphql } from 'react-apollo' +import createPostGql from './createPost.gql' export const withMutation = graphql(createPostGql, { props: ({ mutate }) => ({ @@ -9,16 +9,16 @@ export const withMutation = graphql(createPostGql, { variables: { title, url }, updateQueries: { allPosts: (previousResult, { mutationResult }) => { - const newPost = mutationResult.data.createPost; + const newPost = mutationResult.data.createPost return Object.assign({}, previousResult, { // Append the new post allPosts: [newPost, ...previousResult.allPosts] - }); + }) } } }) } }) -}); +}) -export default comp => withMutation(comp); +export default comp => withMutation(comp) diff --git a/containers/CreatePost/index.js b/app/containers/CreatePost/index.js similarity index 53% rename from containers/CreatePost/index.js rename to app/containers/CreatePost/index.js index d8c88e4f..8ef4dbaf 100644 --- a/containers/CreatePost/index.js +++ b/app/containers/CreatePost/index.js @@ -1,8 +1,8 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { Router } from '~/routes'; -import * as S from './styles'; -import connect from './data'; +import React from 'react' +import PropTypes from 'prop-types' +import { Router } from '~/routes' +import * as S from './styles' +import connect from './data' class CreateForm extends React.Component { static propTypes = { @@ -12,29 +12,29 @@ class CreateForm extends React.Component { }; handleSubmit = e => { - e.preventDefault(); + e.preventDefault() - const title = e.target.elements.title.value; - let url = e.target.elements.url.value; + const title = e.target.elements.title.value + let url = e.target.elements.url.value if (title === '' || url === '') { // eslint-disable-next-line no-alert - window.alert('Both fields are required.'); - return false; + window.alert('Both fields are required.') + return false } // prepend http if missing from url if (!url.match(/^[a-zA-Z]+:\/\//)) { - url = `http://${url}`; + url = `http://${url}` } - this.props.mutations.createPost(title, url); + this.props.mutations.createPost(title, url) // reset form - e.target.elements.title.value = ''; - e.target.elements.url.value = ''; + e.target.elements.title.value = '' + e.target.elements.url.value = '' - Router.pushRoute('/'); + Router.pushRoute('/') }; render = () => @@ -46,4 +46,4 @@ class CreateForm extends React.Component { ; } -export default connect(CreateForm); +export default connect(CreateForm) diff --git a/containers/CreatePost/styles.js b/app/containers/CreatePost/styles.js similarity index 68% rename from containers/CreatePost/styles.js rename to app/containers/CreatePost/styles.js index b2683361..31c4f329 100644 --- a/containers/CreatePost/styles.js +++ b/app/containers/CreatePost/styles.js @@ -1,5 +1,5 @@ -import styled from 'styled-components'; -import { Button } from '~/components/Theme'; +import styled from 'styled-components' +import { Button } from '~/components/Theme' // eslint-disable-next-line import/prefer-default-export export const Form = styled.form` @@ -14,5 +14,5 @@ export const Form = styled.form` display: block; margin-bottom: 10px; } -`; -export { Button as SubmitButton }; +` +export { Button as SubmitButton } diff --git a/containers/Header/data.js b/app/containers/Header/data.js similarity index 69% rename from containers/Header/data.js rename to app/containers/Header/data.js index 8bf55cdd..2935fffc 100644 --- a/containers/Header/data.js +++ b/app/containers/Header/data.js @@ -1,14 +1,14 @@ -import { connect } from 'react-redux'; -import { dispatchers } from '~/libraries/stores/auth'; +import { connect } from 'react-redux' +import { dispatchers } from '~/stores/auth' const mapStateToProps = state => ({ authenticated: state.auth.authenticated -}); +}) const mapDispatchToProps = dispatch => ({ actions: { logout: () => dispatch(dispatchers.signOut()) } -}); +}) -export default comp => connect(mapStateToProps, mapDispatchToProps)(comp); +export default comp => connect(mapStateToProps, mapDispatchToProps)(comp) diff --git a/containers/Header/index.js b/app/containers/Header/index.js similarity index 67% rename from containers/Header/index.js rename to app/containers/Header/index.js index 7c964947..34621a7c 100644 --- a/containers/Header/index.js +++ b/app/containers/Header/index.js @@ -1,7 +1,7 @@ -import PropTypes from 'prop-types'; -import LinkList from '~/components/LinkList'; -import * as S from './styles'; -import connect from './data'; +import PropTypes from 'prop-types' +import LinkList from '~/components/LinkList' +import * as S from './styles' +import connect from './data' const Header = ({ pathname, authenticated, actions: { logout } }) => @@ -10,11 +10,11 @@ const Header = ({ pathname, authenticated, actions: { logout } }) => authenticated={authenticated} logout={logout} /> - ; + Header.defaultProps = { authenticated: false -}; +} Header.propTypes = { pathname: PropTypes.string.isRequired, @@ -22,6 +22,6 @@ Header.propTypes = { actions: PropTypes.shape({ logout: PropTypes.func.isRequired }).isRequired -}; +} -export default connect(Header); +export default connect(Header) diff --git a/app/containers/Header/styles.js b/app/containers/Header/styles.js new file mode 100644 index 00000000..387a9a53 --- /dev/null +++ b/app/containers/Header/styles.js @@ -0,0 +1,4 @@ +import styled from 'styled-components' + +// eslint-disable-next-line import/prefer-default-export +export const Header = styled.header`margin-bottom: 25px;` diff --git a/containers/App.js b/app/containers/Layout/App.js similarity index 61% rename from containers/App.js rename to app/containers/Layout/App.js index 8e88bc1f..c50958d8 100644 --- a/containers/App.js +++ b/app/containers/Layout/App.js @@ -1,11 +1,11 @@ -import PropTypes from 'prop-types'; -import { ThemeProvider, injectGlobal } from 'styled-components'; -import getTheme from '~/libraries/themes'; -import installOfflinePlugin from '~/libraries/installOfflinePlugin'; -import { App as ThemedApp } from '~/components/Theme'; +import PropTypes from 'prop-types' +import { ThemeProvider, injectGlobal } from 'styled-components' +import getTheme from '~/themes' +import installOfflinePlugin from '~/lib/installOfflinePlugin' +import { App as ThemedApp } from '~/components/Theme' const App = ({ children, theme }) => { - installOfflinePlugin(); + installOfflinePlugin() return ( @@ -13,17 +13,17 @@ const App = ({ children, theme }) => { {children} - ); -}; + ) +} App.defaultProps = { theme: 'main' -}; +} App.propTypes = { children: PropTypes.array.isRequired, theme: PropTypes.string -}; +} injectGlobal` * { @@ -33,6 +33,6 @@ injectGlobal` margin: 0; padding: 20px 40px; } -`; +` -export default App; +export default App diff --git a/containers/Default.js b/app/containers/Layout/index.js similarity index 70% rename from containers/Default.js rename to app/containers/Layout/index.js index bdf25630..0947c535 100644 --- a/containers/Default.js +++ b/app/containers/Layout/index.js @@ -1,7 +1,7 @@ -import { Helmet } from 'react-helmet'; -import PropTypes from 'prop-types'; -import App from './App'; -import Header from './Header'; +import { Helmet } from 'react-helmet' +import PropTypes from 'prop-types' +import App from './App' +import Header from '../Header' const Default = props => @@ -12,16 +12,16 @@ const Default = props =>
{props.children} - ; + Default.propTypes = { title: PropTypes.string, url: PropTypes.object.isRequired, children: PropTypes.element.isRequired -}; +} Default.defaultProps = { title: '' -}; +} -export default Default; +export default Default diff --git a/containers/PostInfo/data.js b/app/containers/PostInfo/data.js similarity index 62% rename from containers/PostInfo/data.js rename to app/containers/PostInfo/data.js index 2c381120..e11d997e 100644 --- a/containers/PostInfo/data.js +++ b/app/containers/PostInfo/data.js @@ -1,5 +1,5 @@ -import { graphql } from 'react-apollo'; -import getPostGql from './getPost.gql'; +import { graphql } from 'react-apollo' +import getPostGql from './getPost.gql' const withData = graphql(getPostGql, { options: ({ postId }) => ({ @@ -12,6 +12,6 @@ const withData = graphql(getPostGql, { Post, error }) -}); +}) -export default comp => withData(comp); +export default comp => withData(comp) diff --git a/containers/PostInfo/getPost.gql b/app/containers/PostInfo/getPost.gql similarity index 100% rename from containers/PostInfo/getPost.gql rename to app/containers/PostInfo/getPost.gql diff --git a/containers/PostInfo/index.js b/app/containers/PostInfo/index.js similarity index 73% rename from containers/PostInfo/index.js rename to app/containers/PostInfo/index.js index bf99770d..6c475025 100644 --- a/containers/PostInfo/index.js +++ b/app/containers/PostInfo/index.js @@ -1,7 +1,7 @@ -import moment from 'moment'; -import PropTypes from 'prop-types'; -import * as S from './styles'; -import connect from './data'; +import moment from 'moment' +import PropTypes from 'prop-types' +import * as S from './styles' +import connect from './data' const PostInfo = ({ loading, Post, error }) => { if (loading) { @@ -9,13 +9,13 @@ const PostInfo = ({ loading, Post, error }) => {

Loading...

- ); + ) } if (error) { - console.log(error); // eslint-disable-line no-console - window.alert('Load error, check console'); // eslint-disable-line no-alert - return; + console.log(error) // eslint-disable-line no-console + window.alert('Load error, check console') // eslint-disable-line no-alert + return } return ( @@ -39,8 +39,8 @@ const PostInfo = ({ loading, Post, error }) => {

- ); -}; + ) +} PostInfo.propTypes = { loading: PropTypes.bool.isRequired, @@ -48,11 +48,11 @@ PostInfo.propTypes = { error: PropTypes.object, postId: PropTypes.string.isRequired, postTitle: PropTypes.string.isRequired -}; +} PostInfo.defaultProps = { Post: null, error: null -}; +} -export default connect(PostInfo); +export default connect(PostInfo) diff --git a/containers/PostInfo/styles.js b/app/containers/PostInfo/styles.js similarity index 66% rename from containers/PostInfo/styles.js rename to app/containers/PostInfo/styles.js index 5eb1c364..5b7d076d 100644 --- a/containers/PostInfo/styles.js +++ b/app/containers/PostInfo/styles.js @@ -1,5 +1,5 @@ -import styled from 'styled-components'; -import { A } from '~/components/Theme'; +import styled from 'styled-components' +import { A } from '~/components/Theme' // eslint-disable-next-line import/prefer-default-export export const Section = styled.section` @@ -12,6 +12,6 @@ export const Section = styled.section` > p { font-size: 17px; } -`; +` -export { A }; +export { A } diff --git a/containers/PostList/allPosts.gql b/app/containers/PostList/allPosts.gql similarity index 100% rename from containers/PostList/allPosts.gql rename to app/containers/PostList/allPosts.gql diff --git a/containers/PostList/data.js b/app/containers/PostList/data.js similarity index 75% rename from containers/PostList/data.js rename to app/containers/PostList/data.js index f4d44e52..f8a94656 100644 --- a/containers/PostList/data.js +++ b/app/containers/PostList/data.js @@ -1,7 +1,7 @@ -import { graphql } from 'react-apollo'; -import allPostsGql from './allPosts.gql'; +import { graphql } from 'react-apollo' +import allPostsGql from './allPosts.gql' -const POSTS_PER_PAGE = 10; +const POSTS_PER_PAGE = 10 const withData = graphql(allPostsGql, { options: () => ({ @@ -19,15 +19,15 @@ const withData = graphql(allPostsGql, { }, updateQuery: (previousResult, { fetchMoreResult }) => { if (!fetchMoreResult) { - return previousResult; + return previousResult } return Object.assign({}, previousResult, { // Append the new posts results to the old one allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] - }); + }) } }) }) -}); +}) -export default comp => withData(comp); +export default comp => withData(comp) diff --git a/containers/PostList/index.js b/app/containers/PostList/index.js similarity index 77% rename from containers/PostList/index.js rename to app/containers/PostList/index.js index f8057b35..ccf1bad9 100644 --- a/containers/PostList/index.js +++ b/app/containers/PostList/index.js @@ -1,15 +1,15 @@ -import PropTypes from 'prop-types'; -import { Link } from '~/routes'; -import PostUpvoter from '~/containers/PostUpvoter'; -import * as S from './styles'; -import connect from './data'; +import PropTypes from 'prop-types' +import { Link } from '~/routes' +import PostUpvoter from '~/containers/PostUpvoter' +import * as S from './styles' +import connect from './data' const PostList = ({ data: { allPosts, loading, _allPostsMeta }, loadMorePosts }) => { if (allPosts && allPosts.length) { - const areMorePosts = allPosts.length < _allPostsMeta.count; + const areMorePosts = allPosts.length < _allPostsMeta.count return ( @@ -42,14 +42,14 @@ const PostList = ({ : ''} - ); + ) } - return Loading; -}; + return Loading +} PostList.propTypes = { data: PropTypes.object.isRequired, loadMorePosts: PropTypes.func.isRequired -}; +} -export default connect(PostList); +export default connect(PostList) diff --git a/containers/PostList/styles.js b/app/containers/PostList/styles.js similarity index 81% rename from containers/PostList/styles.js rename to app/containers/PostList/styles.js index f443369a..d53f1826 100644 --- a/containers/PostList/styles.js +++ b/app/containers/PostList/styles.js @@ -1,17 +1,17 @@ -import styled from 'styled-components'; -import * as T from '~/components/Theme'; +import styled from 'styled-components' +import * as T from '~/components/Theme' -export const Main = styled.section`padding-bottom: 20px;`; +export const Main = styled.section`padding-bottom: 20px;` export const Item = styled.li` display: block; margin-bottom: 10px; -`; +` export const Loading = styled.div` align-items: center; display: flex; -`; +` export const Title = T.A.extend` font-size: 14px; @@ -19,17 +19,17 @@ export const Title = T.A.extend` text-decoration: none; padding-bottom: 0; border: 0; -`; +` export const Index = styled.span` font-size: 14px; margin-right: 5px; -`; +` export const ItemList = styled.ul` margin: 0; padding: 0; -`; +` export const ShowMore = T.Button.extend` button:before { @@ -41,4 +41,4 @@ export const ShowMore = T.Button.extend` height: 0; margin-right: 5px; width: 0; - }`; + }` diff --git a/containers/PostUpvoter/data.js b/app/containers/PostUpvoter/data.js similarity index 74% rename from containers/PostUpvoter/data.js rename to app/containers/PostUpvoter/data.js index 5af46f40..7c00a8eb 100644 --- a/containers/PostUpvoter/data.js +++ b/app/containers/PostUpvoter/data.js @@ -1,5 +1,5 @@ -import { graphql } from 'react-apollo'; -import upvotePostGql from './upvotePost.gql'; +import { graphql } from 'react-apollo' +import upvotePostGql from './upvotePost.gql' const withMutation = graphql(upvotePostGql, { props: ({ ownProps, mutate }) => ({ @@ -16,6 +16,6 @@ const withMutation = graphql(upvotePostGql, { } }) }) -}); +}) -export default comp => withMutation(comp); +export default comp => withMutation(comp) diff --git a/containers/PostUpvoter/index.js b/app/containers/PostUpvoter/index.js similarity index 59% rename from containers/PostUpvoter/index.js rename to app/containers/PostUpvoter/index.js index 0df4b4b9..65cb3b2c 100644 --- a/containers/PostUpvoter/index.js +++ b/app/containers/PostUpvoter/index.js @@ -1,21 +1,21 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import connect from './data'; -import { UpvoteButton } from './styles'; +import React from 'react' +import PropTypes from 'prop-types' +import connect from './data' +import { UpvoteButton } from './styles' const PostUpvoter = ({ upvote, votes, id }) => upvote(id, votes + 1)}> {votes} - ; + PostUpvoter.propTypes = { upvote: PropTypes.func.isRequired, votes: PropTypes.number, id: PropTypes.string.isRequired -}; +} PostUpvoter.defaultProps = { votes: [] -}; +} -export default connect(PostUpvoter); +export default connect(PostUpvoter) diff --git a/containers/PostUpvoter/styles.js b/app/containers/PostUpvoter/styles.js similarity index 87% rename from containers/PostUpvoter/styles.js rename to app/containers/PostUpvoter/styles.js index 98d8c3c7..2507f46c 100644 --- a/containers/PostUpvoter/styles.js +++ b/app/containers/PostUpvoter/styles.js @@ -1,4 +1,4 @@ -import * as T from '~/components/Theme'; +import * as T from '~/components/Theme' // eslint-disable-next-line import/prefer-default-export export const UpvoteButton = T.Button.extend` @@ -15,4 +15,4 @@ export const UpvoteButton = T.Button.extend` content: "▲"; margin-right: 7px; } -`; +` diff --git a/containers/PostUpvoter/upvotePost.gql b/app/containers/PostUpvoter/upvotePost.gql similarity index 100% rename from containers/PostUpvoter/upvotePost.gql rename to app/containers/PostUpvoter/upvotePost.gql diff --git a/app/containers/SignInForm/data.js b/app/containers/SignInForm/data.js new file mode 100644 index 00000000..01a77e23 --- /dev/null +++ b/app/containers/SignInForm/data.js @@ -0,0 +1,28 @@ +import { connect } from 'react-redux' +import { graphql } from 'react-apollo' +import { dispatchers } from '~/stores/auth' +import signInGql from './signinUser.gql' + +const withMutation = graphql(signInGql, { + props: ({ mutate }) => ({ + mutations: { + signIn: ({ email, password }) => + mutate({ + variables: { email, password } + }) + } + }) +}) + +const mapDispatchToProps = dispatch => ({ + actions: { + signIn(token) { + dispatch(dispatchers.signIn(token)) + } + } +}) + +export default comp => { + const compWithApollo = withMutation(comp) + return connect(null, mapDispatchToProps)(compWithApollo) +} diff --git a/containers/SignInForm/index.js b/app/containers/SignInForm/index.js similarity index 63% rename from containers/SignInForm/index.js rename to app/containers/SignInForm/index.js index 2171ee7d..552f3dab 100644 --- a/containers/SignInForm/index.js +++ b/app/containers/SignInForm/index.js @@ -1,8 +1,8 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import AuthFields from '~/components/AuthFields'; -import validate from '~/components/AuthFields/validation'; -import connect from './data'; +import React from 'react' +import PropTypes from 'prop-types' +import AuthFields from '~/components/AuthFields' +import validate from '~/components/AuthFields/validation' +import connect from './data' class SignInForm extends React.Component { static propTypes = { @@ -22,11 +22,11 @@ class SignInForm extends React.Component { getServerErrors(err) { if (err.graphQLErrors) { - const obj = {}; - obj.message = err.graphQLErrors[0].message; + const obj = {} + obj.message = err.graphQLErrors[0].message this.setState({ serverErrors: obj - }); + }) } } @@ -36,63 +36,63 @@ class SignInForm extends React.Component { ]; handleTouch = () => { - this.setState({ touched: true }); + this.setState({ touched: true }) }; handleChange = e => { - const fieldValue = e.target.value; - const fieldName = e.target.name; - const obj = {}; - obj[fieldName] = fieldValue; - this.setState(obj); + const fieldValue = e.target.value + const fieldName = e.target.name + const obj = {} + obj[fieldName] = fieldValue + this.setState(obj) }; handleSubmit(e, valuesPack) { - e.preventDefault(); + e.preventDefault() // reset state this.setState({ errors: {}, serverErrors: {} - }); + }) - const handleValidate = validate(valuesPack); + const handleValidate = validate(valuesPack) if (handleValidate.touched) { - this.setState({ touched: handleValidate.touched }); + this.setState({ touched: handleValidate.touched }) } if (handleValidate.errors) { - return this.setState({ errors: handleValidate.errors }); + return this.setState({ errors: handleValidate.errors }) } this.props.mutations .signIn(valuesPack) .then(response => { if (response.data) { - this.props.actions.signIn(response.data.signinUser.token); + this.props.actions.signIn(response.data.signinUser.token) } }) .catch(err => { - this.getServerErrors(err); - }); + this.getServerErrors(err) + }) } render() { - const fields = this.formFields; + const fields = this.formFields // Packing all the necessary auth field states - const valuesPack = {}; + const valuesPack = {} fields.map(x => { - const y = x.attr.name; - valuesPack[y] = this.state[y]; - return valuesPack; - }); + const y = x.attr.name + valuesPack[y] = this.state[y] + return valuesPack + }) return (
{ - this.handleSubmit(e, valuesPack); + this.handleSubmit(e, valuesPack) }} handleChange={this.handleChange} fields={fields} @@ -107,8 +107,8 @@ class SignInForm extends React.Component { this.state.serverErrors.message}
- ); + ) } } -export default connect(SignInForm); +export default connect(SignInForm) diff --git a/containers/SignInForm/signinUser.gql b/app/containers/SignInForm/signinUser.gql similarity index 100% rename from containers/SignInForm/signinUser.gql rename to app/containers/SignInForm/signinUser.gql diff --git a/containers/SignUpForm/data.js b/app/containers/SignUpForm/data.js similarity index 51% rename from containers/SignUpForm/data.js rename to app/containers/SignUpForm/data.js index 8c2a2417..c757b6a8 100644 --- a/containers/SignUpForm/data.js +++ b/app/containers/SignUpForm/data.js @@ -1,7 +1,7 @@ -import { graphql } from 'react-apollo'; -import { connect } from 'react-redux'; -import { dispatchers } from '~/libraries/stores/auth'; -import createUserGql from './signupUser.gql'; +import { graphql } from 'react-apollo' +import { connect } from 'react-redux' +import { dispatchers } from '~/stores/auth' +import createUserGql from './signupUser.gql' const withMutation = graphql(createUserGql, { props: ({ mutate }) => ({ @@ -12,17 +12,17 @@ const withMutation = graphql(createUserGql, { }) } }) -}); +}) const mapDispatchToProps = dispatch => ({ actions: { signIn(token) { - dispatch(dispatchers.signIn(token)); + dispatch(dispatchers.signIn(token)) } } -}); +}) export default comp => { - const compWithApollo = withMutation(comp); - return connect(null, mapDispatchToProps)(compWithApollo); -}; + const compWithApollo = withMutation(comp) + return connect(null, mapDispatchToProps)(compWithApollo) +} diff --git a/containers/SignUpForm/index.js b/app/containers/SignUpForm/index.js similarity index 66% rename from containers/SignUpForm/index.js rename to app/containers/SignUpForm/index.js index 6a56a4d3..92fd4989 100644 --- a/containers/SignUpForm/index.js +++ b/app/containers/SignUpForm/index.js @@ -1,8 +1,8 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import AuthFields from '~/components/AuthFields'; -import validate from '~/components/AuthFields/validation'; -import connect from './data'; +import React from 'react' +import PropTypes from 'prop-types' +import AuthFields from '~/components/AuthFields' +import validate from '~/components/AuthFields/validation' +import connect from './data' class SignUpForm extends React.Component { static propTypes = { @@ -22,11 +22,11 @@ class SignUpForm extends React.Component { getServerErrors(err) { if (err.graphQLErrors) { - const obj = {}; - obj.message = err.graphQLErrors[0].message; + const obj = {} + obj.message = err.graphQLErrors[0].message this.setState({ serverErrors: obj - }); + }) } } @@ -38,67 +38,67 @@ class SignUpForm extends React.Component { ]; handleTouch = () => { - this.setState({ touched: true }); + this.setState({ touched: true }) }; handleChange = e => { - const fieldValue = e.target.value; - const fieldName = e.target.name; - const obj = {}; - obj[fieldName] = fieldValue; - this.setState(obj); + const fieldValue = e.target.value + const fieldName = e.target.name + const obj = {} + obj[fieldName] = fieldValue + this.setState(obj) }; handleSubmit(e, valuesPack) { - e.preventDefault(); + e.preventDefault() // reset state this.setState({ errors: {}, serverErrors: {} - }); + }) - const handleValidate = validate(valuesPack); + const handleValidate = validate(valuesPack) if (handleValidate.touched) { - this.setState({ touched: handleValidate.touched }); + this.setState({ touched: handleValidate.touched }) } if (handleValidate.errors) { - return this.setState({ errors: handleValidate.errors }); + return this.setState({ errors: handleValidate.errors }) } this.props.mutations .signUp(valuesPack) .then(response => { if (response.data.signinUser) { - this.props.actions.signIn(response.data.signinUser.token); + this.props.actions.signIn(response.data.signinUser.token) } else { this.setState({ errors: response.data.createUser.errors - }); + }) } }) .catch(err => { - this.getServerErrors(err); - }); + this.getServerErrors(err) + }) } render() { - const fields = this.formFields; + const fields = this.formFields // Packing all the necessary auth field states - const valuesPack = {}; + const valuesPack = {} fields.map(x => { - const y = x.attr.name; - valuesPack[y] = this.state[y]; - return valuesPack; - }); + const y = x.attr.name + valuesPack[y] = this.state[y] + return valuesPack + }) return (
{ - this.handleSubmit(e, valuesPack); + this.handleSubmit(e, valuesPack) }} handleChange={this.handleChange} fields={fields} @@ -113,8 +113,8 @@ class SignUpForm extends React.Component { this.state.serverErrors.message}
- ); + ) } } -export default connect(SignUpForm); +export default connect(SignUpForm) diff --git a/containers/SignUpForm/signupUser.gql b/app/containers/SignUpForm/signupUser.gql similarity index 100% rename from containers/SignUpForm/signupUser.gql rename to app/containers/SignUpForm/signupUser.gql diff --git a/libraries/apolloClient.js b/app/lib/apolloClient.js similarity index 68% rename from libraries/apolloClient.js rename to app/lib/apolloClient.js index 9fca175f..3aae348b 100644 --- a/libraries/apolloClient.js +++ b/app/lib/apolloClient.js @@ -1,5 +1,5 @@ -import ApolloClient, { createNetworkInterface } from 'apollo-client'; -import persist from './persist'; +import ApolloClient, { createNetworkInterface } from 'apollo-client' +import persist from './persist' const initNetworkInterface = token => { const networkInterface = createNetworkInterface({ @@ -7,28 +7,28 @@ const initNetworkInterface = token => { opts: { credentials: 'same-origin' } - }); + }) networkInterface.use([ { applyMiddleware(req, next) { if (!req.options.headers) { - req.options.headers = {}; + req.options.headers = {} } (async () => { // eslint-disable-next-line no-param-reassign - token = token || (await persist.willGetAccessToken()); - req.options.headers.authorization = token ? `Bearer ${token}` : null; - next(); - })(); + token = token || (await persist.willGetAccessToken()) + req.options.headers.authorization = token ? `Bearer ${token}` : null + next() + })() } } - ]); + ]) - return networkInterface; -}; + return networkInterface +} -let apolloClient = null; +let apolloClient = null const createClient = (headers, token) => new ApolloClient({ @@ -36,14 +36,14 @@ const createClient = (headers, token) => ssrForceFetchDelay: 100, headers, networkInterface: initNetworkInterface(token) - }); + }) export default (headers, token) => { if (!process.browser) { - return createClient(headers, token); + return createClient(headers, token) } if (!apolloClient) { - apolloClient = createClient(headers, token); + apolloClient = createClient(headers, token) } - return apolloClient; -}; + return apolloClient +} diff --git a/libraries/helpers.js b/app/lib/helpers.js similarity index 63% rename from libraries/helpers.js rename to app/lib/helpers.js index 15cfa8c3..b8ac0131 100644 --- a/libraries/helpers.js +++ b/app/lib/helpers.js @@ -1,40 +1,40 @@ /* eslint-disable no-restricted-syntax */ -export default () => {}; +export default () => {} export function dump(obj) { - let out = ''; + let out = '' for (const key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { - out += `${key}: ${obj[key]}\n`; + out += `${key}: ${obj[key]}\n` } } - return out; + return out } export function mergeObjects(...args) { - const dst = {}; - let src; - let p; - const aargs = [].splice.call(args, 0); + const dst = {} + let src + let p + const aargs = [].splice.call(args, 0) while (aargs.length > 0) { - src = aargs.splice(0, 1)[0]; + src = aargs.splice(0, 1)[0] if (toString.call(src) === '[object Object]') { for (p in src) { if (Object.prototype.hasOwnProperty.call(src, p)) { if (toString.call(src[p]) === '[object Object]') { - dst[p] = mergeObjects(dst[p] || {}, src[p]); + dst[p] = mergeObjects(dst[p] || {}, src[p]) } else { - dst[p] = src[p]; + dst[p] = src[p] } } } } } - return dst; + return dst } /* eslint-enable no-restricted-syntax */ diff --git a/app/lib/installOfflinePlugin.js b/app/lib/installOfflinePlugin.js new file mode 100644 index 00000000..b7f401e1 --- /dev/null +++ b/app/lib/installOfflinePlugin.js @@ -0,0 +1,17 @@ +let offlineInstalled = false + +export default function installOfflinePlugin() { + if (process.env.OFFLINE_SUPPORT && process.browser && !offlineInstalled) { + const OfflinePlugin = require('offline-plugin/runtime') // eslint-disable-line global-require + + OfflinePlugin.install({ + onUpdateReady() { + OfflinePlugin.applyUpdate() + }, + onUpdated() { + window.location.reload() + } + }) + offlineInstalled = true + } +} diff --git a/libraries/middleware.js b/app/lib/middleware.js similarity index 69% rename from libraries/middleware.js rename to app/lib/middleware.js index f1a96a04..f46a006c 100644 --- a/libraries/middleware.js +++ b/app/lib/middleware.js @@ -1,7 +1,7 @@ -import { applyMiddleware, compose } from 'redux'; +import { applyMiddleware, compose } from 'redux' export default function createMiddleware(clientMiddleware) { - const middleware = applyMiddleware(clientMiddleware); + const middleware = applyMiddleware(clientMiddleware) const composeEnhancers = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__( @@ -9,7 +9,7 @@ export default function createMiddleware(clientMiddleware) { // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize... } ) - : compose; + : compose - return composeEnhancers(middleware); + return composeEnhancers(middleware) } diff --git a/app/lib/persist.js b/app/lib/persist.js new file mode 100644 index 00000000..e96cbd44 --- /dev/null +++ b/app/lib/persist.js @@ -0,0 +1,21 @@ +const cookies = require('js-cookie') + +class persist { + static get ACCESS_TOKEN_KEY() { + return 'accessToken' + } + + static async willGetAccessToken() { + return cookies.get(persist.ACCESS_TOKEN_KEY) + } + + static async willSetAccessToken(value) { + return cookies.set(persist.ACCESS_TOKEN_KEY, value) + } + + static async willRemoveAccessToken() { + return cookies.remove(persist.ACCESS_TOKEN_KEY) + } +} + +module.exports = persist diff --git a/libraries/redirect.js b/app/lib/redirect.js similarity index 56% rename from libraries/redirect.js rename to app/lib/redirect.js index 0412782a..1f7d5339 100644 --- a/libraries/redirect.js +++ b/app/lib/redirect.js @@ -1,13 +1,13 @@ -import Router from 'next/router'; +import Router from 'next/router' export default (context, target) => { if (context.res) { // server // 303: "See other" - context.res.writeHead(303, { Location: target }); - context.res.end(); + context.res.writeHead(303, { Location: target }) + context.res.end() } else { // In the browser, we just pretend like this never even happened ;) - Router.replace(target); + Router.replace(target) } -}; +} diff --git a/libraries/reducer.js b/app/lib/reducer.js similarity index 55% rename from libraries/reducer.js rename to app/lib/reducer.js index 811bdba4..5a93d415 100644 --- a/libraries/reducer.js +++ b/app/lib/reducer.js @@ -1,9 +1,9 @@ -import { combineReducers } from 'redux'; -import { reducer as authReducer } from './stores/auth'; +import { combineReducers } from 'redux' +import { reducer as authReducer } from '~/stores/auth' export default function getReducer(client) { return combineReducers({ apollo: client.reducer(), auth: authReducer - }); + }) } diff --git a/libraries/reduxStore.js b/app/lib/reduxStore.js similarity index 50% rename from libraries/reduxStore.js rename to app/lib/reduxStore.js index 778424d8..616da284 100644 --- a/libraries/reduxStore.js +++ b/app/lib/reduxStore.js @@ -1,41 +1,41 @@ -import { createStore } from 'redux'; -import { dispatchers } from './stores/auth'; -import getReducer from './reducer'; -import createMiddleware from './middleware'; -import persist from './persist'; +import { createStore } from 'redux' +import { dispatchers } from '~/stores/auth' +import getReducer from './reducer' +import createMiddleware from './middleware' +import persist from './persist' -let reduxStore = null; +let reduxStore = null export default (apolloClient, initialState, token) => { - let store; + let store if (!process.browser || !reduxStore) { - const middleware = createMiddleware(apolloClient.middleware()); - store = createStore(getReducer(apolloClient), initialState, middleware); + const middleware = createMiddleware(apolloClient.middleware()) + store = createStore(getReducer(apolloClient), initialState, middleware) - let tokenInStore = store.getState().auth.token; + let tokenInStore = store.getState().auth.token if (!tokenInStore) { (async () => { tokenInStore = - token || (await Promise.resolve(persist.willGetAccessToken())); + token || (await Promise.resolve(persist.willGetAccessToken())) if (typeof token === 'string' && !token.includes('Error')) { if (token.length) { - store.dispatch(dispatchers.signIn(token)); + store.dispatch(dispatchers.signIn(token)) } else { - store.dispatch(dispatchers.signOut()); + store.dispatch(dispatchers.signOut()) } } else { - store.dispatch(dispatchers.signOut()); + store.dispatch(dispatchers.signOut()) } - })(); + })() } if (!process.browser) { - return store; + return store } - reduxStore = store; + reduxStore = store } - return reduxStore; -}; + return reduxStore +} diff --git a/libraries/validations.js b/app/lib/validations.js similarity index 66% rename from libraries/validations.js rename to app/lib/validations.js index b19f3b41..ce65b10c 100644 --- a/libraries/validations.js +++ b/app/lib/validations.js @@ -1,14 +1,14 @@ /* eslint-disable no-useless-escape */ -export default () => {}; +export default () => {} export function isStringEmpty(text) { - return !text || text === '' || text.trim() === ''; + return !text || text === '' || text.trim() === '' } export function isEmail(email) { - const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; - return re.test(email); + const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(email) } /* eslint-enable no-useless-escape */ diff --git a/libraries/withData.js b/app/lib/withData.js similarity index 62% rename from libraries/withData.js rename to app/lib/withData.js index 828d3c9c..57f7591d 100644 --- a/libraries/withData.js +++ b/app/lib/withData.js @@ -1,11 +1,11 @@ -import { ApolloProvider, getDataFromTree } from 'react-apollo'; -import React from 'react'; -import PropTypes from 'prop-types'; -import 'isomorphic-fetch'; -import cookies from 'next-cookies'; -import apolloClient from './apolloClient'; -import reduxStore from './reduxStore'; -import persist from './persist'; +import { ApolloProvider, getDataFromTree } from 'react-apollo' +import React from 'react' +import PropTypes from 'prop-types' +import 'isomorphic-fetch' +import cookies from 'next-cookies' +import apolloClient from './apolloClient' +import reduxStore from './reduxStore' +import persist from './persist' export default Component => class extends React.Component { @@ -16,28 +16,28 @@ export default Component => }); static async getInitialProps(ctx) { - const headers = ctx.req ? ctx.req.headers : {}; - const token = cookies(ctx)[persist.ACCESS_TOKEN_KEY]; + const headers = ctx.req ? ctx.req.headers : {} + const token = cookies(ctx)[persist.ACCESS_TOKEN_KEY] - const client = apolloClient(headers, token); - const store = reduxStore(client, client.initialState, token); + const client = apolloClient(headers, token) + const store = reduxStore(client, client.initialState, token) const props = { url: { query: ctx.query, pathname: ctx.pathname }, ...(await (Component.getInitialProps ? Component.getInitialProps(ctx) : {})) - }; + } if (!process.browser) { const app = ( - ); - await getDataFromTree(app); + ) + await getDataFromTree(app) } - const state = store.getState(); + const state = store.getState() return { initialState: { ...state, @@ -47,14 +47,14 @@ export default Component => }, headers, ...props - }; + } } constructor(props) { - super(props); + super(props) - this.apolloClient = apolloClient(this.props.headers); - this.reduxStore = reduxStore(this.apolloClient, this.props.initialState); + this.apolloClient = apolloClient(this.props.headers) + this.reduxStore = reduxStore(this.apolloClient, this.props.initialState) } render() { @@ -62,6 +62,6 @@ export default Component => - ); + ) } - }; + } diff --git a/routes.js b/app/routes.js similarity index 69% rename from routes.js rename to app/routes.js index 79af7493..e9146937 100644 --- a/routes.js +++ b/app/routes.js @@ -1,4 +1,4 @@ -const routes = require('next-routes')(); +const routes = require('next-routes')() // // Because of awesome Next.js, You don't need to add routes for all pages. @@ -13,13 +13,13 @@ const routes = require('next-routes')(); // // ------------ ROUTES --------------- -routes.add('details', '/details/:postId/:postTitle'); -routes.add('create', '/create_post'); -routes.add('signin', '/sign_in'); -routes.add('signup', '/sign_up'); +routes.add('details', '/details/:postId/:postTitle') +routes.add('create', '/create_post') +routes.add('signin', '/sign_in') +routes.add('signup', '/sign_up') // ------------ ROUTES --------------- // // -module.exports = routes; +module.exports = routes diff --git a/libraries/stores/auth.js b/app/stores/auth.js similarity index 51% rename from libraries/stores/auth.js rename to app/stores/auth.js index 06273555..f3731701 100644 --- a/libraries/stores/auth.js +++ b/app/stores/auth.js @@ -1,16 +1,16 @@ -import persist from '../persist'; +import persist from '~/lib/persist' // Constants -export const AUTH_SIGNIN = 'AUTH/SIGNIN'; -export const AUTH_SIGNOUT = 'AUTH/SIGNOUT'; -export const AUTH_SERVERERROR = 'AUTH/SERVERERROR'; +export const AUTH_SIGNIN = 'AUTH/SIGNIN' +export const AUTH_SIGNOUT = 'AUTH/SIGNOUT' +export const AUTH_SERVERERROR = 'AUTH/SERVERERROR' // Initial State const initialState = { authenticated: false, token: null, error: null -}; +} // Reducer const reducer = (state = initialState, action) => { @@ -21,33 +21,33 @@ const reducer = (state = initialState, action) => { authenticated: true, token: action.token, error: null - }; + } case AUTH_SIGNOUT: - return { ...state, authenticated: false, token: null, error: null }; + return { ...state, authenticated: false, token: null, error: null } case AUTH_SERVERERROR: - return { ...state, authenticated: false, error: action.error }; + return { ...state, authenticated: false, error: action.error } default: - return state; + return state } -}; +} // Action creators -const actionCreators = {}; +const actionCreators = {} -actionCreators.signIn = token => ({ type: AUTH_SIGNIN, token }); -actionCreators.signOut = () => ({ type: AUTH_SIGNOUT }); +actionCreators.signIn = token => ({ type: AUTH_SIGNIN, token }) +actionCreators.signOut = () => ({ type: AUTH_SIGNOUT }) // Discpatchers -const dispatchers = {}; +const dispatchers = {} dispatchers.signIn = token => { - persist.willSetAccessToken(token); - return actionCreators.signIn(token); -}; + persist.willSetAccessToken(token) + return actionCreators.signIn(token) +} dispatchers.signOut = () => { - persist.willRemoveAccessToken(); - return actionCreators.signOut(); -}; + persist.willRemoveAccessToken() + return actionCreators.signOut() +} -export { actionCreators, reducer, dispatchers }; +export { actionCreators, reducer, dispatchers } diff --git a/libraries/themes/eightbit.js b/app/themes/eightbit.js similarity index 76% rename from libraries/themes/eightbit.js rename to app/themes/eightbit.js index 0d7194f2..d8848439 100644 --- a/libraries/themes/eightbit.js +++ b/app/themes/eightbit.js @@ -1,5 +1,5 @@ -import { mergeObjects } from '../helpers'; -import main from './main'; +import { mergeObjects } from '~/lib/helpers' +import main from './main' export default mergeObjects(main, { colors: { @@ -14,4 +14,4 @@ export default mergeObjects(main, { normal: 'Consolas, monaco, monospace' } } -}); +}) diff --git a/app/themes/index.js b/app/themes/index.js new file mode 100644 index 00000000..262e8f8f --- /dev/null +++ b/app/themes/index.js @@ -0,0 +1,18 @@ +import color from 'color' + +import main from './main' +import inverted from './inverted' +import eightbit from './eightbit' + +const themeList = { + main, + inverted, + eightbit +} + +export default function getTheme(name) { + const theme = themeList[name] + if (!theme) throw new Error(`Wrong theme name: ${name}`) + if (!theme.helper) theme.helper = color + return theme +} diff --git a/libraries/themes/inverted.js b/app/themes/inverted.js similarity index 74% rename from libraries/themes/inverted.js rename to app/themes/inverted.js index 3dd71888..432f3381 100644 --- a/libraries/themes/inverted.js +++ b/app/themes/inverted.js @@ -1,5 +1,5 @@ -import { mergeObjects } from '../helpers'; -import main from './main'; +import { mergeObjects } from '~/lib/helpers' +import main from './main' export default mergeObjects(main, { colors: { @@ -11,4 +11,4 @@ export default mergeObjects(main, { text: '#ffffff', textAlt: '#000000' } -}); +}) diff --git a/libraries/themes/main.js b/app/themes/main.js similarity index 99% rename from libraries/themes/main.js rename to app/themes/main.js index 462d64be..2e320fc5 100644 --- a/libraries/themes/main.js +++ b/app/themes/main.js @@ -35,4 +35,4 @@ export default { text: '#000000', textAlt: '#ffffff' } -}; +} diff --git a/components/LinkList/__tests__/index.test.js b/components/LinkList/__tests__/index.test.js deleted file mode 100644 index ea80e4ea..00000000 --- a/components/LinkList/__tests__/index.test.js +++ /dev/null @@ -1,38 +0,0 @@ -import { mount } from 'enzyme'; -import React from 'react'; - -import './__mocks__/router.mock'; -import { defaultProps } from './__mocks__/index.mock'; -import LinkList from '../'; -import { themeDecorator } from './utils'; - -const mountWithMainTheme = (child, options) => { - const mainThemeDecorator = themeDecorator('main'); - return mount(mainThemeDecorator(child), options); -}; - -describe('', () => { - it('when not authenticated', () => { - const child = ; - const wrapper = mountWithMainTheme(child); - const text = wrapper.text(); - - expect(text).toEqual(expect.stringContaining('Main Page')); - expect(text).toEqual(expect.stringContaining('Create')); - expect(text).toEqual(expect.stringContaining('SignIn')); - expect(text).toEqual(expect.stringContaining('SignUp')); - expect(text).not.toEqual(expect.stringContaining('LogOut')); - }); - - it('when authenticated', () => { - const child = ; - const wrapper = mountWithMainTheme(child); - const text = wrapper.text(); - - expect(text).toEqual(expect.stringContaining('Main Page')); - expect(text).toEqual(expect.stringContaining('Create')); - expect(text).not.toEqual(expect.stringContaining('SignIn')); - expect(text).not.toEqual(expect.stringContaining('SignUp')); - expect(text).toEqual(expect.stringContaining('LogOut')); - }); -}); diff --git a/containers/Header/styles.js b/containers/Header/styles.js deleted file mode 100644 index ab59d125..00000000 --- a/containers/Header/styles.js +++ /dev/null @@ -1,4 +0,0 @@ -import styled from 'styled-components'; - -// eslint-disable-next-line import/prefer-default-export -export const Header = styled.header`margin-bottom: 25px;`; diff --git a/containers/SignInForm/data.js b/containers/SignInForm/data.js deleted file mode 100644 index 5c2a92e6..00000000 --- a/containers/SignInForm/data.js +++ /dev/null @@ -1,28 +0,0 @@ -import { connect } from 'react-redux'; -import { graphql } from 'react-apollo'; -import { dispatchers } from '~/libraries/stores/auth'; -import signInGql from './signinUser.gql'; - -const withMutation = graphql(signInGql, { - props: ({ mutate }) => ({ - mutations: { - signIn: ({ email, password }) => - mutate({ - variables: { email, password } - }) - } - }) -}); - -const mapDispatchToProps = dispatch => ({ - actions: { - signIn(token) { - dispatch(dispatchers.signIn(token)); - } - } -}); - -export default comp => { - const compWithApollo = withMutation(comp); - return connect(null, mapDispatchToProps)(compWithApollo); -}; diff --git a/docs/FAQ.md b/docs/FAQ.md index 3118ce3f..1a1ca79c 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -6,7 +6,7 @@ - _I have graphQL endpoint for my project. How can I use it?_ - Just change the URL on [/libraries/apolloClient.js]([/libraries/apolloClient.js) line:8 + Just change the URL on [/lib/apolloClient.js]([/lib/apolloClient.js) line:8 - _What is GraphQL?_ diff --git a/docs/Styling.md b/docs/Styling.md index 66dddbdd..64e9ffc1 100644 --- a/docs/Styling.md +++ b/docs/Styling.md @@ -6,7 +6,7 @@ RAN! is using theme system of wondrous [Styled Components](https://www.styled-components.com/) library for styling app (css-in-js). [Click here for details](https://www.styled-components.com/docs/advanced#theming) -There is basic theme component ([/libraries/theme.js](/libraries/theme.js)) on RAN!. You can access all theme props by using ```props.theme``` on your styling. Also there is helper for color manupulation as you can access that by using ```props.theme.helper```. On this prop, RAN! is using [color.js](https://github.com/Qix-/color) that has support for most important color manipulation functions. +There is basic theme component ([/lib/theme.js](/lib/theme.js)) on RAN!. You can access all theme props by using ```props.theme``` on your styling. Also there is helper for color manupulation as you can access that by using ```props.theme.helper```. On this prop, RAN! is using [color.js](https://github.com/Qix-/color) that has support for most important color manipulation functions. For now, there are three themes (***main***, ***inverted***, ***eightbit***) but You can add how many you want! @@ -25,7 +25,7 @@ To change the theme on all pages, You can set theme name on [/components/App.js] #### Create New Theme -There are two options for this. Firstly, You can create new theme object on [/libraries/theme.js](/libraries/theme.js). +There are two options for this. Firstly, You can create new theme object on [/lib/theme.js](/lib/theme.js). ```js themeList.NEWTHEMENAME = { @@ -43,7 +43,7 @@ themeList.NEWTHEMENAME = { ``` -or you can extend any theme that you have on [/libraries/theme.js](/libraries/theme.js). +or you can extend any theme that you have on [/lib/theme.js](/lib/theme.js). ```js themeList.NEWTHEMENAME = themeList.extend('main', { diff --git a/helper_scripts/CL_commands/__helpers.js b/helper_scripts/CL_commands/__helpers.js index a3525ee2..e1e238cd 100644 --- a/helper_scripts/CL_commands/__helpers.js +++ b/helper_scripts/CL_commands/__helpers.js @@ -1,11 +1,11 @@ -const figlet = require('figlet'); -const chalk = require('chalk'); -const path = require('path'); -const fs = require('fs'); -const handlebars = require('handlebars'); -const routes = require('../../routes'); +const figlet = require('figlet') +const chalk = require('chalk') +const path = require('path') +const fs = require('fs') +const handlebars = require('handlebars') +const routes = require('../../app/routes') -const modules = {}; +const modules = {} modules.config = { appDir: './', @@ -14,7 +14,7 @@ modules.config = { templatesDir: './helper_scripts/templates', routeFile: './routes.js', serverFile: './server.js' -}; +} modules.writeRan = function writeRan(callback) { chalk.yellow( @@ -24,67 +24,72 @@ modules.writeRan = function writeRan(callback) { verticalLayout: 'full' }, (err, data) => { - process.stdout.write('\n'); - process.stdout.write(data); - process.stdout.write('\n'); - if (callback) callback(); + if (err) { + console.log('Something went wrong...') + console.dir(err) + return + } + process.stdout.write('\n') + process.stdout.write(data) + process.stdout.write('\n') + if (callback) callback() } ) - ); -}; + ) +} modules.isUsedOnDir = function isUsedOnDir(startPath, filter) { if (!fs.existsSync(startPath)) { - return false; + return false } - const files = fs.readdirSync(startPath); - let isFound = false; + const files = fs.readdirSync(startPath) + let isFound = false for (let i = 0; i < files.length; i += 1) { - const filename = path.join(startPath, files[i]); - const stat = fs.lstatSync(filename); + const filename = path.join(startPath, files[i]) + const stat = fs.lstatSync(filename) if (stat.isDirectory()) { - isUsedOnDir(filename, filter); // recurse + isUsedOnDir(filename, filter) // recurse } else if (filename.indexOf(filter) >= 0) { - isFound = true; + isFound = true } } - return isFound; -}; + return isFound +} modules.getFilesOnDir = function getFilesOnDir(startPath) { if (!fs.existsSync(startPath)) { - return []; + return [] } - const files = fs.readdirSync(startPath); - const isFound = []; + const files = fs.readdirSync(startPath) + const isFound = [] for (let i = 0; i < files.length; i += 1) { - const filename = path.join(startPath, files[i]); - const stat = fs.lstatSync(filename); + const filename = path.join(startPath, files[i]) + const stat = fs.lstatSync(filename) if (stat.isDirectory()) { - isFound.concat(getFilesOnDir(filename)); // recurse + isFound.concat(getFilesOnDir(filename)) // recurse } else { - const pagename = files[i].replace('.js', ''); - if (pagename !== '_document') isFound.push(pagename); + const pagename = files[i].replace('.js', '') + if (pagename !== '_document') isFound.push(pagename) } } - return isFound; -}; + return isFound +} modules.isUsedOnRoutes = function isUsedOnRoutes(url) { - let isFound = false; + let isFound = false routes.default.forEach(route => { if (route.prettyUrl({}).indexOf(url) !== -1) { - isFound = true; + isFound = true } - }); - return isFound; -}; + }) + return isFound +} modules.getTempfromHandlebar = function getTempfromHandlebar( tempPath, @@ -92,12 +97,12 @@ modules.getTempfromHandlebar = function getTempfromHandlebar( callback ) { fs.readFile(tempPath, 'utf-8', (err, source) => { - if (err) throw err; - const template = handlebars.compile(source); - const exportCode = template(data); + if (err) throw err + const template = handlebars.compile(source) + const exportCode = template(data) - callback(exportCode); - }); -}; + callback(exportCode) + }) +} -module.exports = modules; +module.exports = modules diff --git a/helper_scripts/CL_commands/create_page.js b/helper_scripts/CL_commands/create_page.js index 53a1334b..285fcc42 100644 --- a/helper_scripts/CL_commands/create_page.js +++ b/helper_scripts/CL_commands/create_page.js @@ -1,21 +1,21 @@ #!/usr/bin/env node -const inquirer = require('inquirer'); -const fs = require('fs'); -const helper = require('./__helpers'); +const inquirer = require('inquirer') +const fs = require('fs') +const helper = require('./__helpers') -process.stdin.resume(); -process.stdin.setEncoding('utf8'); +process.stdin.resume() +process.stdin.setEncoding('utf8') function afterPageCreation(filename, prettyurl = null) { - process.stdout.write('\n'); - process.stdout.write(`New Page ${filename} is created and ready!`); - process.stdout.write('\n'); + process.stdout.write('\n') + process.stdout.write(`New Page ${filename} is created and ready!`) + process.stdout.write('\n') if (prettyurl) { process.stdout.write( 'Please add the code below to "./routes.js" file to use pretty URL' - ); - process.stdout.write('\n'); + ) + process.stdout.write('\n') helper.getTempfromHandlebar( `${helper.config.templatesDir}/route.hbs`, { @@ -23,13 +23,13 @@ function afterPageCreation(filename, prettyurl = null) { prettyurl }, code => { - process.stdout.write('\n'); - process.stdout.write(code); - process.stdout.write('\n'); - process.stdout.write('\n'); - process.exit(0); + process.stdout.write('\n') + process.stdout.write(code) + process.stdout.write('\n') + process.stdout.write('\n') + process.exit(0) } - ); + ) } } @@ -47,11 +47,11 @@ function askQuestions() { value.indexOf('.js') > 0 ? value : `${value}.js` ) ) { - return "It's already added. Please enter new page name."; + return 'It\'s already added. Please enter new page name.' } - return true; + return true } - return 'It cannot be empty. Please enter it correctly...'; + return 'It cannot be empty. Please enter it correctly...' } }, { @@ -69,14 +69,14 @@ function askQuestions() { validate(value) { if (value.length) { if (helper.isUsedOnRoutes(value)) { - return "It's already added. Please enter new URL."; + return 'It\'s already added. Please enter new URL.' } - return true; + return true } - return 'It cannot be empty. Please enter it correctly...'; + return 'It cannot be empty. Please enter it correctly...' } } - ]; + ] inquirer.prompt(questions).then(({ filename, prettyurl = null }) => { helper.getTempfromHandlebar( @@ -91,14 +91,14 @@ function askQuestions() { code, { flag: 'wx' }, _err => { - if (_err) throw _err; + if (_err) throw _err - afterPageCreation(filename, prettyurl); + afterPageCreation(filename, prettyurl) } - ); + ) } - ); - }); + ) + }) } -helper.writeRan(askQuestions); +helper.writeRan(askQuestions) diff --git a/helper_scripts/CL_commands/create_route.js b/helper_scripts/CL_commands/create_route.js index 01355a75..9a3ec978 100644 --- a/helper_scripts/CL_commands/create_route.js +++ b/helper_scripts/CL_commands/create_route.js @@ -1,16 +1,16 @@ #!/usr/bin/env node -const inquirer = require('inquirer'); -const helper = require('./__helpers'); +const inquirer = require('inquirer') +const helper = require('./__helpers') -process.stdin.resume(); -process.stdin.setEncoding('utf8'); +process.stdin.resume() +process.stdin.setEncoding('utf8') function afterPageCreation(filename, prettyurl = null) { process.stdout.write( 'Please add the code below to "./routes.js" file to use pretty URL' - ); - process.stdout.write('\n'); + ) + process.stdout.write('\n') helper.getTempfromHandlebar( `${helper.config.templatesDir}/route.hbs`, { @@ -18,13 +18,13 @@ function afterPageCreation(filename, prettyurl = null) { prettyurl }, code => { - process.stdout.write('\n'); - process.stdout.write(code); - process.stdout.write('\n'); - process.stdout.write('\n'); - process.exit(0); + process.stdout.write('\n') + process.stdout.write(code) + process.stdout.write('\n') + process.stdout.write('\n') + process.exit(0) } - ); + ) } function askQuestions() { @@ -50,25 +50,25 @@ function askQuestions() { validate(value) { if (value.length) { if (helper.isUsedOnRoutes(value)) { - return "It's already added. Please enter new URL."; + return 'It\'s already added. Please enter new URL.' } - return true; + return true } - return 'It cannot be empty. Please enter it correctly...'; + return 'It cannot be empty. Please enter it correctly...' } } - ]; + ] inquirer.prompt(questions).then(({ filename, prettyurl = null }) => { if (prettyurl) { - afterPageCreation(filename, prettyurl); + afterPageCreation(filename, prettyurl) } else { - process.stdout.write('\n'); - process.stdout.write(`New route creation is cancelled...`); - process.stdout.write('\n'); - process.exit(0); + process.stdout.write('\n') + process.stdout.write('New route creation is cancelled...') + process.stdout.write('\n') + process.exit(0) } - }); + }) } -helper.writeRan(askQuestions); +helper.writeRan(askQuestions) diff --git a/helper_scripts/CL_commands/setup.js b/helper_scripts/CL_commands/setup.js index 814c0ee1..5dda65fb 100644 --- a/helper_scripts/CL_commands/setup.js +++ b/helper_scripts/CL_commands/setup.js @@ -2,53 +2,53 @@ /* eslint-disable import/no-unresolved */ -const shell = require('shelljs'); -const clear = require('cli-clear'); -const exec = require('child_process').exec; -const path = require('path'); -const fs = require('fs'); -const helper = require('./__helpers'); +const shell = require('shelljs') +const clear = require('cli-clear') +const exec = require('child_process').exec +const path = require('path') +const fs = require('fs') +const helper = require('./__helpers') -clear(); -process.stdin.resume(); -process.stdin.setEncoding('utf8'); +clear() +process.stdin.resume() +process.stdin.setEncoding('utf8') /** * Initializes git again */ function initGit(callback) { - exec('git init && git add . && git commit -m "Initial commit"', callback); + exec('git init && git add . && git commit -m "Initial commit"', callback) } /** * Deletes a file in the current directory */ function deleteFileInCurrentDir(file, callback) { - fs.unlink(path.join(__dirname, file), callback); + fs.unlink(path.join(__dirname, file), callback) } /** * Callback function after installing dependencies */ function installDepsCallback(error) { - process.stdout.write('\n\n'); + process.stdout.write('\n\n') if (error) { - process.stderr.write(error); - process.stdout.write('\n'); - process.exit(1); + process.stderr.write(error) + process.stdout.write('\n') + process.exit(1) } deleteFileInCurrentDir('setup.js', () => { - process.stdout.write('Initialising new repository...'); + process.stdout.write('Initialising new repository...') initGit(() => { - clear(); - process.stdout.write('\n'); - process.stdout.write('\nRAN! is ready to go!'); - process.stdout.write('\n'); - process.stdout.write('\n'); - process.exit(0); - }); - }); + clear() + process.stdout.write('\n') + process.stdout.write('\nRAN! is ready to go!') + process.stdout.write('\n') + process.stdout.write('\n') + process.exit(0) + }) + }) } /** @@ -56,35 +56,35 @@ function installDepsCallback(error) { */ function installDeps() { exec('node --version', (err, stdout) => { - const nodeVersion = stdout && parseFloat(stdout.substring(1)); + const nodeVersion = stdout && parseFloat(stdout.substring(1)) if (nodeVersion < 7 || err) { installDepsCallback( err || 'Unsupported node.js version, make sure you have the latest version installed.' - ); + ) } else { - installDepsCallback(); + installDepsCallback() } - }); + }) } /** * Deletes the .git folder in dir */ function cleanRepo(callback) { - shell.rm('-rf', '.git/'); - callback(); + shell.rm('-rf', '.git/') + callback() } helper.writeRan(() => { - process.stdout.write('\n'); - process.stdout.write('Cleaning RAN! for preparing new project...'); - process.stdout.write('\n'); + process.stdout.write('\n') + process.stdout.write('Cleaning RAN! for preparing new project...') + process.stdout.write('\n') cleanRepo(() => { process.stdout.write( 'Installing dependencies... (This might take a while)' - ); - installDeps(); - }); -}); + ) + installDeps() + }) +}) diff --git a/helper_scripts/templates/page.hbs b/helper_scripts/templates/page.hbs index aa3a7c93..20cda259 100644 --- a/helper_scripts/templates/page.hbs +++ b/helper_scripts/templates/page.hbs @@ -1,7 +1,7 @@ import { Helmet } from 'react-helmet'; import App from '../components/App'; -import withData from '../libraries/withData'; -import { dump } from '../libraries/helpers'; +import withData from '../lib/withData'; +import { dump } from '../lib/helpers'; export default withData(props => diff --git a/jest.config.js b/jest.config.js index a2883ee8..237ee8db 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,10 +1,10 @@ module.exports = { coverageDirectory: './coverage/', - collectCoverage: false, + collectCoverage: true, moduleFileExtensions: ['js', 'json'], testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', '/__mocks__/' ] -}; +} diff --git a/libraries/graphql_schemas/schema.graphql b/libraries/graphql_schemas/schema.graphql deleted file mode 100644 index 4aa38121..00000000 --- a/libraries/graphql_schemas/schema.graphql +++ /dev/null @@ -1,1740 +0,0 @@ -# source: https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn -# timestamp: Wed Aug 09 2017 15:01:10 GMT+0300 (EEST) - -enum _ModelMutationType { - CREATED - UPDATED - DELETED -} - -# Meta information about the query. -type _QueryMeta { - count: Int! -} - -input AUTH_PROVIDER_EMAIL { - email: String! - password: String! -} - -input AuthProviderSignupData { - email: AUTH_PROVIDER_EMAIL -} - -# The `BigDecimal` scalar type represents signed fractional values with arbitrary precision. -scalar BigDecimal - -# The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent arbitrary big values. -scalar BigInt - -input CreateFile { - name: String! -} - -input CreatePost { - title: String! - url: String! - votes: Int -} - -input CreateUser { - firstName: String! - lastName: String! -} - -scalar DateTime - -type File implements Node { - contentType: String! - createdAt: DateTime - id: ID! - name: String! - secret: String! - size: Int! - updatedAt: DateTime - url: String! -} - -input FileFilter { - # Logical AND on all given filters. - AND: [FileFilter!] - - # Logical OR on all given filters. - OR: [FileFilter!] - contentType: String - - # All values that are not equal to given value. - contentType_not: String - - # All values that are contained in given list. - contentType_in: [String!] - - # All values that are not contained in given list. - contentType_not_in: [String!] - - # All values less than the given value. - contentType_lt: String - - # All values less than or equal the given value. - contentType_lte: String - - # All values greater than the given value. - contentType_gt: String - - # All values greater than or equal the given value. - contentType_gte: String - - # All values containing the given string. - contentType_contains: String - - # All values not containing the given string. - contentType_not_contains: String - - # All values starting with the given string. - contentType_starts_with: String - - # All values not starting with the given string. - contentType_not_starts_with: String - - # All values ending with the given string. - contentType_ends_with: String - - # All values not ending with the given string. - contentType_not_ends_with: String - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - name: String - - # All values that are not equal to given value. - name_not: String - - # All values that are contained in given list. - name_in: [String!] - - # All values that are not contained in given list. - name_not_in: [String!] - - # All values less than the given value. - name_lt: String - - # All values less than or equal the given value. - name_lte: String - - # All values greater than the given value. - name_gt: String - - # All values greater than or equal the given value. - name_gte: String - - # All values containing the given string. - name_contains: String - - # All values not containing the given string. - name_not_contains: String - - # All values starting with the given string. - name_starts_with: String - - # All values not starting with the given string. - name_not_starts_with: String - - # All values ending with the given string. - name_ends_with: String - - # All values not ending with the given string. - name_not_ends_with: String - secret: String - - # All values that are not equal to given value. - secret_not: String - - # All values that are contained in given list. - secret_in: [String!] - - # All values that are not contained in given list. - secret_not_in: [String!] - - # All values less than the given value. - secret_lt: String - - # All values less than or equal the given value. - secret_lte: String - - # All values greater than the given value. - secret_gt: String - - # All values greater than or equal the given value. - secret_gte: String - - # All values containing the given string. - secret_contains: String - - # All values not containing the given string. - secret_not_contains: String - - # All values starting with the given string. - secret_starts_with: String - - # All values not starting with the given string. - secret_not_starts_with: String - - # All values ending with the given string. - secret_ends_with: String - - # All values not ending with the given string. - secret_not_ends_with: String - size: Int - - # All values that are not equal to given value. - size_not: Int - - # All values that are contained in given list. - size_in: [Int!] - - # All values that are not contained in given list. - size_not_in: [Int!] - - # All values less than the given value. - size_lt: Int - - # All values less than or equal the given value. - size_lte: Int - - # All values greater than the given value. - size_gt: Int - - # All values greater than or equal the given value. - size_gte: Int - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String -} - -enum FileOrderBy { - contentType_ASC - contentType_DESC - createdAt_ASC - createdAt_DESC - id_ASC - id_DESC - name_ASC - name_DESC - secret_ASC - secret_DESC - size_ASC - size_DESC - updatedAt_ASC - updatedAt_DESC - url_ASC - url_DESC -} - -type FilePreviousValues { - contentType: String! - createdAt: DateTime - id: ID! - name: String! - secret: String! - size: Int! - updatedAt: DateTime - url: String! -} - -input FileSubscriptionFilter { - # Logical AND on all given filters. - AND: [FileSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [FileSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: FileSubscriptionFilterNode -} - -input FileSubscriptionFilterNode { - contentType: String - - # All values that are not equal to given value. - contentType_not: String - - # All values that are contained in given list. - contentType_in: [String!] - - # All values that are not contained in given list. - contentType_not_in: [String!] - - # All values less than the given value. - contentType_lt: String - - # All values less than or equal the given value. - contentType_lte: String - - # All values greater than the given value. - contentType_gt: String - - # All values greater than or equal the given value. - contentType_gte: String - - # All values containing the given string. - contentType_contains: String - - # All values not containing the given string. - contentType_not_contains: String - - # All values starting with the given string. - contentType_starts_with: String - - # All values not starting with the given string. - contentType_not_starts_with: String - - # All values ending with the given string. - contentType_ends_with: String - - # All values not ending with the given string. - contentType_not_ends_with: String - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - name: String - - # All values that are not equal to given value. - name_not: String - - # All values that are contained in given list. - name_in: [String!] - - # All values that are not contained in given list. - name_not_in: [String!] - - # All values less than the given value. - name_lt: String - - # All values less than or equal the given value. - name_lte: String - - # All values greater than the given value. - name_gt: String - - # All values greater than or equal the given value. - name_gte: String - - # All values containing the given string. - name_contains: String - - # All values not containing the given string. - name_not_contains: String - - # All values starting with the given string. - name_starts_with: String - - # All values not starting with the given string. - name_not_starts_with: String - - # All values ending with the given string. - name_ends_with: String - - # All values not ending with the given string. - name_not_ends_with: String - secret: String - - # All values that are not equal to given value. - secret_not: String - - # All values that are contained in given list. - secret_in: [String!] - - # All values that are not contained in given list. - secret_not_in: [String!] - - # All values less than the given value. - secret_lt: String - - # All values less than or equal the given value. - secret_lte: String - - # All values greater than the given value. - secret_gt: String - - # All values greater than or equal the given value. - secret_gte: String - - # All values containing the given string. - secret_contains: String - - # All values not containing the given string. - secret_not_contains: String - - # All values starting with the given string. - secret_starts_with: String - - # All values not starting with the given string. - secret_not_starts_with: String - - # All values ending with the given string. - secret_ends_with: String - - # All values not ending with the given string. - secret_not_ends_with: String - size: Int - - # All values that are not equal to given value. - size_not: Int - - # All values that are contained in given list. - size_in: [Int!] - - # All values that are not contained in given list. - size_not_in: [Int!] - - # All values less than the given value. - size_lt: Int - - # All values less than or equal the given value. - size_lte: Int - - # All values greater than the given value. - size_gt: Int - - # All values greater than or equal the given value. - size_gte: Int - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String -} - -type FileSubscriptionPayload { - mutation: _ModelMutationType! - node: File - updatedFields: [String!] - previousValues: FilePreviousValues -} - -# The `Long` scalar type represents non-fractional signed whole numeric values. -# Long can represent values between -(2^63) and 2^63 - 1. -scalar Long - -type Mutation { - createFile(name: String!): File - createPost(title: String!, url: String!, votes: Int): Post - updateFile(id: ID!, name: String): File - updatePost(id: ID!, title: String, url: String, votes: Int): Post - updateUser(firstName: String, id: ID!, lastName: String): User - updateOrCreateFile(update: UpdateFile!, create: CreateFile!): File - updateOrCreatePost(update: UpdatePost!, create: CreatePost!): Post - updateOrCreateUser(update: UpdateUser!, create: CreateUser!): User - deleteFile(id: ID!): File - deletePost(id: ID!): Post - deleteUser(id: ID!): User - signinUser(email: AUTH_PROVIDER_EMAIL): SigninPayload! - createUser(firstName: String!, lastName: String!, authProvider: AuthProviderSignupData!): User -} - -# An object with an ID -interface Node { - # The id of the object. - id: ID! -} - -type Post implements Node { - createdAt: DateTime - id: ID! - title: String! - updatedAt: DateTime - url: String! - votes: Int -} - -input PostFilter { - # Logical AND on all given filters. - AND: [PostFilter!] - - # Logical OR on all given filters. - OR: [PostFilter!] - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - title: String - - # All values that are not equal to given value. - title_not: String - - # All values that are contained in given list. - title_in: [String!] - - # All values that are not contained in given list. - title_not_in: [String!] - - # All values less than the given value. - title_lt: String - - # All values less than or equal the given value. - title_lte: String - - # All values greater than the given value. - title_gt: String - - # All values greater than or equal the given value. - title_gte: String - - # All values containing the given string. - title_contains: String - - # All values not containing the given string. - title_not_contains: String - - # All values starting with the given string. - title_starts_with: String - - # All values not starting with the given string. - title_not_starts_with: String - - # All values ending with the given string. - title_ends_with: String - - # All values not ending with the given string. - title_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String - votes: Int - - # All values that are not equal to given value. - votes_not: Int - - # All values that are contained in given list. - votes_in: [Int!] - - # All values that are not contained in given list. - votes_not_in: [Int!] - - # All values less than the given value. - votes_lt: Int - - # All values less than or equal the given value. - votes_lte: Int - - # All values greater than the given value. - votes_gt: Int - - # All values greater than or equal the given value. - votes_gte: Int -} - -enum PostOrderBy { - createdAt_ASC - createdAt_DESC - id_ASC - id_DESC - title_ASC - title_DESC - updatedAt_ASC - updatedAt_DESC - url_ASC - url_DESC - votes_ASC - votes_DESC -} - -type PostPreviousValues { - createdAt: DateTime - id: ID! - title: String! - updatedAt: DateTime - url: String! - votes: Int -} - -input PostSubscriptionFilter { - # Logical AND on all given filters. - AND: [PostSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [PostSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: PostSubscriptionFilterNode -} - -input PostSubscriptionFilterNode { - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - title: String - - # All values that are not equal to given value. - title_not: String - - # All values that are contained in given list. - title_in: [String!] - - # All values that are not contained in given list. - title_not_in: [String!] - - # All values less than the given value. - title_lt: String - - # All values less than or equal the given value. - title_lte: String - - # All values greater than the given value. - title_gt: String - - # All values greater than or equal the given value. - title_gte: String - - # All values containing the given string. - title_contains: String - - # All values not containing the given string. - title_not_contains: String - - # All values starting with the given string. - title_starts_with: String - - # All values not starting with the given string. - title_not_starts_with: String - - # All values ending with the given string. - title_ends_with: String - - # All values not ending with the given string. - title_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String - votes: Int - - # All values that are not equal to given value. - votes_not: Int - - # All values that are contained in given list. - votes_in: [Int!] - - # All values that are not contained in given list. - votes_not_in: [Int!] - - # All values less than the given value. - votes_lt: Int - - # All values less than or equal the given value. - votes_lte: Int - - # All values greater than the given value. - votes_gt: Int - - # All values greater than or equal the given value. - votes_gte: Int -} - -type PostSubscriptionPayload { - mutation: _ModelMutationType! - node: Post - updatedFields: [String!] - previousValues: PostPreviousValues -} - -type Query { - allFiles(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [File!]! - allPosts(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [Post!]! - allUsers(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [User!]! - _allFilesMeta(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - _allPostsMeta(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - _allUsersMeta(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - File(id: ID, secret: String, url: String): File - Post(id: ID): Post - User(email: String, id: ID): User - user: User - - # Fetches an object given its ID - node( - # The ID of an object - id: ID! - ): Node -} - -# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null. -type SigninPayload { - token: String - user: User -} - -type Subscription { - File(filter: FileSubscriptionFilter): FileSubscriptionPayload - Post(filter: PostSubscriptionFilter): PostSubscriptionPayload - User(filter: UserSubscriptionFilter): UserSubscriptionPayload -} - -input UpdateFile { - id: ID! - name: String -} - -input UpdatePost { - id: ID! - title: String - url: String - votes: Int -} - -input UpdateUser { - firstName: String - id: ID! - lastName: String -} - -type User implements Node { - createdAt: DateTime - email: String - firstName: String! - id: ID! - lastName: String! - password: String - updatedAt: DateTime -} - -input UserFilter { - # Logical AND on all given filters. - AND: [UserFilter!] - - # Logical OR on all given filters. - OR: [UserFilter!] - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - email: String - - # All values that are not equal to given value. - email_not: String - - # All values that are contained in given list. - email_in: [String!] - - # All values that are not contained in given list. - email_not_in: [String!] - - # All values less than the given value. - email_lt: String - - # All values less than or equal the given value. - email_lte: String - - # All values greater than the given value. - email_gt: String - - # All values greater than or equal the given value. - email_gte: String - - # All values containing the given string. - email_contains: String - - # All values not containing the given string. - email_not_contains: String - - # All values starting with the given string. - email_starts_with: String - - # All values not starting with the given string. - email_not_starts_with: String - - # All values ending with the given string. - email_ends_with: String - - # All values not ending with the given string. - email_not_ends_with: String - firstName: String - - # All values that are not equal to given value. - firstName_not: String - - # All values that are contained in given list. - firstName_in: [String!] - - # All values that are not contained in given list. - firstName_not_in: [String!] - - # All values less than the given value. - firstName_lt: String - - # All values less than or equal the given value. - firstName_lte: String - - # All values greater than the given value. - firstName_gt: String - - # All values greater than or equal the given value. - firstName_gte: String - - # All values containing the given string. - firstName_contains: String - - # All values not containing the given string. - firstName_not_contains: String - - # All values starting with the given string. - firstName_starts_with: String - - # All values not starting with the given string. - firstName_not_starts_with: String - - # All values ending with the given string. - firstName_ends_with: String - - # All values not ending with the given string. - firstName_not_ends_with: String - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - lastName: String - - # All values that are not equal to given value. - lastName_not: String - - # All values that are contained in given list. - lastName_in: [String!] - - # All values that are not contained in given list. - lastName_not_in: [String!] - - # All values less than the given value. - lastName_lt: String - - # All values less than or equal the given value. - lastName_lte: String - - # All values greater than the given value. - lastName_gt: String - - # All values greater than or equal the given value. - lastName_gte: String - - # All values containing the given string. - lastName_contains: String - - # All values not containing the given string. - lastName_not_contains: String - - # All values starting with the given string. - lastName_starts_with: String - - # All values not starting with the given string. - lastName_not_starts_with: String - - # All values ending with the given string. - lastName_ends_with: String - - # All values not ending with the given string. - lastName_not_ends_with: String - password: String - - # All values that are not equal to given value. - password_not: String - - # All values that are contained in given list. - password_in: [String!] - - # All values that are not contained in given list. - password_not_in: [String!] - - # All values less than the given value. - password_lt: String - - # All values less than or equal the given value. - password_lte: String - - # All values greater than the given value. - password_gt: String - - # All values greater than or equal the given value. - password_gte: String - - # All values containing the given string. - password_contains: String - - # All values not containing the given string. - password_not_contains: String - - # All values starting with the given string. - password_starts_with: String - - # All values not starting with the given string. - password_not_starts_with: String - - # All values ending with the given string. - password_ends_with: String - - # All values not ending with the given string. - password_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime -} - -enum UserOrderBy { - createdAt_ASC - createdAt_DESC - email_ASC - email_DESC - firstName_ASC - firstName_DESC - id_ASC - id_DESC - lastName_ASC - lastName_DESC - password_ASC - password_DESC - updatedAt_ASC - updatedAt_DESC -} - -type UserPreviousValues { - createdAt: DateTime - email: String - firstName: String! - id: ID! - lastName: String! - password: String - updatedAt: DateTime -} - -input UserSubscriptionFilter { - # Logical AND on all given filters. - AND: [UserSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [UserSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: UserSubscriptionFilterNode -} - -input UserSubscriptionFilterNode { - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - email: String - - # All values that are not equal to given value. - email_not: String - - # All values that are contained in given list. - email_in: [String!] - - # All values that are not contained in given list. - email_not_in: [String!] - - # All values less than the given value. - email_lt: String - - # All values less than or equal the given value. - email_lte: String - - # All values greater than the given value. - email_gt: String - - # All values greater than or equal the given value. - email_gte: String - - # All values containing the given string. - email_contains: String - - # All values not containing the given string. - email_not_contains: String - - # All values starting with the given string. - email_starts_with: String - - # All values not starting with the given string. - email_not_starts_with: String - - # All values ending with the given string. - email_ends_with: String - - # All values not ending with the given string. - email_not_ends_with: String - firstName: String - - # All values that are not equal to given value. - firstName_not: String - - # All values that are contained in given list. - firstName_in: [String!] - - # All values that are not contained in given list. - firstName_not_in: [String!] - - # All values less than the given value. - firstName_lt: String - - # All values less than or equal the given value. - firstName_lte: String - - # All values greater than the given value. - firstName_gt: String - - # All values greater than or equal the given value. - firstName_gte: String - - # All values containing the given string. - firstName_contains: String - - # All values not containing the given string. - firstName_not_contains: String - - # All values starting with the given string. - firstName_starts_with: String - - # All values not starting with the given string. - firstName_not_starts_with: String - - # All values ending with the given string. - firstName_ends_with: String - - # All values not ending with the given string. - firstName_not_ends_with: String - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - lastName: String - - # All values that are not equal to given value. - lastName_not: String - - # All values that are contained in given list. - lastName_in: [String!] - - # All values that are not contained in given list. - lastName_not_in: [String!] - - # All values less than the given value. - lastName_lt: String - - # All values less than or equal the given value. - lastName_lte: String - - # All values greater than the given value. - lastName_gt: String - - # All values greater than or equal the given value. - lastName_gte: String - - # All values containing the given string. - lastName_contains: String - - # All values not containing the given string. - lastName_not_contains: String - - # All values starting with the given string. - lastName_starts_with: String - - # All values not starting with the given string. - lastName_not_starts_with: String - - # All values ending with the given string. - lastName_ends_with: String - - # All values not ending with the given string. - lastName_not_ends_with: String - password: String - - # All values that are not equal to given value. - password_not: String - - # All values that are contained in given list. - password_in: [String!] - - # All values that are not contained in given list. - password_not_in: [String!] - - # All values less than the given value. - password_lt: String - - # All values less than or equal the given value. - password_lte: String - - # All values greater than the given value. - password_gt: String - - # All values greater than or equal the given value. - password_gte: String - - # All values containing the given string. - password_contains: String - - # All values not containing the given string. - password_not_contains: String - - # All values starting with the given string. - password_starts_with: String - - # All values not starting with the given string. - password_not_starts_with: String - - # All values ending with the given string. - password_ends_with: String - - # All values not ending with the given string. - password_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime -} - -type UserSubscriptionPayload { - mutation: _ModelMutationType! - node: User - updatedFields: [String!] - previousValues: UserPreviousValues -} diff --git a/libraries/installOfflinePlugin.js b/libraries/installOfflinePlugin.js deleted file mode 100644 index 151def66..00000000 --- a/libraries/installOfflinePlugin.js +++ /dev/null @@ -1,17 +0,0 @@ -let offlineInstalled = false; - -export default function installOfflinePlugin() { - if (process.env.OFFLINE_SUPPORT && process.browser && !offlineInstalled) { - const OfflinePlugin = require('offline-plugin/runtime'); // eslint-disable-line global-require - - OfflinePlugin.install({ - onUpdateReady() { - OfflinePlugin.applyUpdate(); - }, - onUpdated() { - window.location.reload(); - } - }); - offlineInstalled = true; - } -} diff --git a/libraries/persist.js b/libraries/persist.js deleted file mode 100644 index 6c010da5..00000000 --- a/libraries/persist.js +++ /dev/null @@ -1,21 +0,0 @@ -const cookies = require('js-cookie'); - -class persist { - static get ACCESS_TOKEN_KEY() { - return 'accessToken'; - } - - static async willGetAccessToken() { - return cookies.get(persist.ACCESS_TOKEN_KEY); - } - - static async willSetAccessToken(value) { - return cookies.set(persist.ACCESS_TOKEN_KEY, value); - } - - static async willRemoveAccessToken() { - return cookies.remove(persist.ACCESS_TOKEN_KEY); - } -} - -module.exports = persist; diff --git a/libraries/themes/index.js b/libraries/themes/index.js deleted file mode 100644 index 6d44579d..00000000 --- a/libraries/themes/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import color from 'color'; - -import main from './main'; -import inverted from './inverted'; -import eightbit from './eightbit'; - -const themeList = { - main, - inverted, - eightbit -}; - -export default function getTheme(name) { - const theme = themeList[name]; - if (!theme) throw new Error(`Wrong theme name: ${name}`); - if (!theme.helper) theme.helper = color; - return theme; -} diff --git a/next.config.js b/next.config.js index d95724ce..bdf26632 100644 --- a/next.config.js +++ b/next.config.js @@ -1,13 +1,15 @@ -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); -const { IgnorePlugin } = require('webpack'); -const OfflinePlugin = require('offline-plugin'); +const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const { IgnorePlugin } = require('webpack') +const OfflinePlugin = require('offline-plugin') module.exports = { webpack: (config, { dev }) => { - const prod = !dev; + const prod = !dev - config.plugins.push(new IgnorePlugin(/^\.\/locale$/, /moment$/)); + config.plugins.push(new IgnorePlugin(/^\.\/locale$/, /moment$/)) + // run "eslint --fix" + // FIXME: not fixing gql and graphql files if (dev) { config.module.rules.push({ test: /\.(jsx?|gql|graphql)$/, @@ -17,7 +19,7 @@ module.exports = { options: { fix: true } - }); + }) } if (process.env.ANALYZE_BUILD) { @@ -27,7 +29,7 @@ module.exports = { analyzerPort: 8888, openAnalyzer: true }) - ); + ) } if (prod && process.env.OFFLINE_SUPPORT) { @@ -46,21 +48,21 @@ module.exports = { asset === 'BUILD_ID' || asset.indexOf('dist/') === 0 ) { - return null; + return null } if (asset[0] === '/') { - return asset; + return asset } if (asset.indexOf('bundles/pages/') === 0) { return `/_next/-/${asset .replace('bundles/pages', 'page') .replace('index.js', '') - .replace(/\.js$/, '')}`; + .replace(/\.js$/, '')}` } - return `/_next/-/${asset}`; + return `/_next/-/${asset}` }, autoUpdate: 1000 * 60 * 5, __tests: dev ? { ignoreRuntime: true } : {}, @@ -73,9 +75,9 @@ module.exports = { events: true } }) - ); + ) } - return config; + return config } -}; +} diff --git a/package.json b/package.json index 9df9e47f..85eb3ae5 100644 --- a/package.json +++ b/package.json @@ -29,22 +29,25 @@ "pre-commit": "lint-staged", "lint-staged": { "*.js": [ + "prettier --write", "eslint --fix", "git add", - "test" + "yarn run test -- --bail --findRelatedTests" ] }, "scripts": { "build": "next build", - "dev": "npm run lint && node server.js", - "dev:next": "npm run lint && next", - "start": "NODE_ENV=production node server.js", + "dev": "yarn run lint && node server/index.js", + "dev:next": "yarn run lint && next", + "start": "NODE_ENV=production node server/index.js", "start:next": "next start", - "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages components containers libraries server helper_scripts", - "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages components containers libraries server helper_scripts", - "analyze": "ANALYZE_BUILD=true npm run build", - "setup": "node ./helper_scripts/CL_commands/setup.js && npm run setup:after", - "setup:after": "npm run build", + "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", + "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", + "lint:css": "stylelint '**/*.js'", + "format": "prettier-eslint --write **/*.js", + "analyze": "ANALYZE_BUILD=true yarn run build", + "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", + "setup:after": "yarn run build", "create:page": "node ./helper_scripts/CL_commands/create_page.js", "create:route": "node ./helper_scripts/CL_commands/create_route.js", "lint-staged": "lint-staged", @@ -55,10 +58,10 @@ "graphql:update_schema": "graphql get-schema", "graphql:see_graph": "graphql voyager", "test": "NODE_ENV=test jest", - "test:watch": "npm run test -- --watch", - "test:update": "npm run test -- --u", + "test:watch": "yarn run test -- --watch", + "test:update": "yarn run test -- --u", "test:debug": "node --inspect ./node_modules/.bin/jest --runInBand --env jest-environment-node-debug", - "storybook": "start-storybook -p 6006", + "storybook": "start-storybook -p 6006 -c app/.storybook -s app/static", "build-storybook": "build-storybook" }, "dependencies": { @@ -104,16 +107,18 @@ "enzyme": "2.9.1", "enzyme-to-json": "1.5.1", "eslint": "4.4.1", - "eslint-config-airbnb": "15.1.0", - "eslint-config-prettier": "2.3.0", + "eslint-config-prettier": "^2.3.0", + "eslint-config-standard": "^10.2.1", + "eslint-config-standard-jsx": "^4.0.2", "eslint-import-resolver-babel-plugin-root-import": "0.0.11", "eslint-loader": "1.9.0", "eslint-plugin-graphql": "1.3.0", - "eslint-plugin-import": "2.7.0", + "eslint-plugin-import": "^2.7.0", "eslint-plugin-jest": "20.0.3", - "eslint-plugin-jsx-a11y": "5.1.1", - "eslint-plugin-prettier": "2.1.2", - "eslint-plugin-react": "7.2.0", + "eslint-plugin-node": "^5.1.1", + "eslint-plugin-promise": "^3.5.0", + "eslint-plugin-react": "^7.2.0", + "eslint-plugin-standard": "^3.0.1", "eslint-watch": "3.1.2", "figlet": "1.2.0", "graphql-cli": "1.0.0-beta.4", @@ -127,7 +132,8 @@ "ngrok": "2.2.17", "nodemon": "1.11.0", "pre-commit": "1.2.2", - "prettier": "1.5.3", + "prettier-eslint": "^6.4.2", + "prettier-eslint-cli": "^4.1.1", "react-addons-test-utils": "15.6.0", "react-test-renderer": "15.6.1", "release": "1.3.3", diff --git a/pages/_document.js b/pages/_document.js index 143316da..945ab8cf 100644 --- a/pages/_document.js +++ b/pages/_document.js @@ -1,18 +1,18 @@ -import Document, { Head, Main, NextScript } from 'next/document'; -import Helmet from 'react-helmet'; -import { ServerStyleSheet } from 'styled-components'; +import Document, { Head, Main, NextScript } from 'next/document' +import Helmet from 'react-helmet' +import { ServerStyleSheet } from 'styled-components' export default class MyDocument extends Document { static async getInitialProps(...args) { - const documentProps = await super.getInitialProps(...args); + const documentProps = await super.getInitialProps(...args) // see https://github.com/nfl/react-helmet#server-usage for more information // 'head' was occupied by 'renderPage().head', we cannot use it - return { ...documentProps, helmet: Helmet.rewind() }; + return { ...documentProps, helmet: Helmet.rewind() } } // should render on helmetHtmlAttrComponents() { - return this.props.helmet.htmlAttributes.toComponent(); + return this.props.helmet.htmlAttributes.toComponent() } // should render on @@ -24,15 +24,15 @@ export default class MyDocument extends Document { el => el.length > 0 || !(Object.keys(el).length === 0 && el.constructor === Object) - ); + ) - return keys.length ? keys : []; + return keys.length ? keys : [] } render() { - const sheet = new ServerStyleSheet(); - const main = sheet.collectStyles(
); - const styleTags = sheet.getStyleElement(); + const sheet = new ServerStyleSheet() + const main = sheet.collectStyles(
) + const styleTags = sheet.getStyleElement() return ( @@ -49,6 +49,6 @@ export default class MyDocument extends Document { - ); + ) } } diff --git a/pages/create.js b/pages/create.js index 0ee2097b..c584a7ea 100644 --- a/pages/create.js +++ b/pages/create.js @@ -1,9 +1,9 @@ -import CreatePost from '../containers/CreatePost'; -import withData from '../libraries/withData'; -import DefaultCon from '../containers/Default'; +import CreatePost from '~/containers/CreatePost' +import withData from '~/lib/withData' +import Layout from '~/containers/Layout' export default withData(props => - + - -); + +) diff --git a/pages/details.js b/pages/details.js index a4b2b7cb..71b98fe2 100644 --- a/pages/details.js +++ b/pages/details.js @@ -1,12 +1,12 @@ -import PostInfo from '../containers/PostInfo'; -import withData from '../libraries/withData'; -import DefaultCon from '../containers/Default'; +import PostInfo from '~/containers/PostInfo' +import withData from '~/lib/withData' +import Layout from '~/containers/Layout' export default withData(props => - + - -); + +) diff --git a/pages/index.js b/pages/index.js index 905ae1c9..637c3fdd 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,9 +1,9 @@ -import PostList from '../containers/PostList'; -import withData from '../libraries/withData'; -import DefaultCon from '../containers/Default'; +import PostList from '~/containers/PostList' +import withData from '~/lib/withData' +import Layout from '~/containers/Layout' export default withData(props => - + - -); + +) diff --git a/pages/signin.js b/pages/signin.js index c201c9ce..0fe584e6 100644 --- a/pages/signin.js +++ b/pages/signin.js @@ -1,9 +1,9 @@ -import SignInForm from '../containers/SignInForm'; -import withData from '../libraries/withData'; -import DefaultCon from '../containers/Default'; +import SignInForm from '~/containers/SignInForm' +import withData from '~/lib/withData' +import Layout from '~/containers/Layout' export default withData(props => - + - -); + +) diff --git a/pages/signup.js b/pages/signup.js index 5b3f62ff..c7c13f58 100644 --- a/pages/signup.js +++ b/pages/signup.js @@ -1,9 +1,9 @@ -import SignUpForm from '../containers/SignUpForm'; -import withData from '../libraries/withData'; -import DefaultCon from '../containers/Default'; +import SignUpForm from '~/containers/SignUpForm' +import withData from '~/lib/withData' +import Layout from '~/containers/Layout' export default withData(props => - + - -); + +) diff --git a/schema.json b/schema.json new file mode 100644 index 00000000..b3c7a3ab --- /dev/null +++ b/schema.json @@ -0,0 +1,10067 @@ +{ + "data": { + "__schema": { + "queryType": { + "name": "Query" + }, + "mutationType": { + "name": "Mutation" + }, + "subscriptionType": { + "name": "Subscription" + }, + "types": [ + { + "kind": "OBJECT", + "name": "Query", + "description": null, + "fields": [ + { + "name": "allFiles", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "FileOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "File", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allPosts", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "PostOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allUsers", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allFilesMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "FileOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allPostsMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "PostOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allUsersMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "File", + "description": null, + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Post", + "description": null, + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "User", + "description": null, + "args": [ + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "Fetches an object given its ID", + "args": [ + { + "name": "id", + "description": "The ID of an object", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DateTime", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "contentType_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "File", + "description": null, + "fields": [ + { + "name": "contentType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "description": "An object with an ID", + "fields": [ + { + "name": "id", + "description": "The id of the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PostOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Post", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "User", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "_QueryMeta", + "description": "Meta information about the query.", + "fields": [ + { + "name": "count", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": null, + "fields": [ + { + "name": "createFile", + "description": null, + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPost", + "description": null, + "args": [ + { + "name": "title", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "votes", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateFile", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePost", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateUser", + "description": null, + "args": [ + { + "name": "firstName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreateFile", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateFile", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateFile", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreatePost", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePost", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreatePost", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreateUser", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUser", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUser", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteFile", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletePost", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteUser", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "signinUser", + "description": null, + "args": [ + { + "name": "email", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SigninPayload", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createUser", + "description": null, + "args": [ + { + "name": "firstName", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authProvider", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AuthProviderSignupData", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateFile", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateFile", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdatePost", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreatePost", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "title", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateUser", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateUser", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "firstName", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "email", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SigninPayload", + "description": "If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.", + "fields": [ + { + "name": "token", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AuthProviderSignupData", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "email", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Subscription", + "description": null, + "fields": [ + { + "name": "File", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Post", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PostSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "User", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "_ModelMutationType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "contentType", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "FilePreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FilePreviousValues", + "description": null, + "fields": [ + { + "name": "contentType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PostSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "PostPreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PostPreviousValues", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserPreviousValues", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "The `Boolean` scalar type represents `true` or `false`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onOperation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onFragment", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onField", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BigDecimal", + "description": "The `BigDecimal` scalar type represents signed fractional values with arbitrary precision.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BigInt", + "description": "The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent arbitrary big values.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Long", + "description": "The `Long` scalar type represents non-fractional signed whole numeric values. Long can represent values between -(2^63) and 2^63 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + } + ], + "directives": [ + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "ENUM_VALUE", + "FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formattedin [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"" + } + ] + } + ] + } + }, + "extensions": { + "graphql-config": { + "source": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn", + "timestamp": "Sat Aug 12 2017 23:56:30 GMT+0300 (EEST)" + } + } +} \ No newline at end of file diff --git a/server.js b/server/index.js similarity index 56% rename from server.js rename to server/index.js index 3721bb9b..6348e331 100644 --- a/server.js +++ b/server/index.js @@ -1,49 +1,49 @@ /* eslint-disable no-console */ -const express = require('express'); -const next = require('next'); -const compression = require('compression'); -const LRUCache = require('lru-cache'); -const path = require('path'); -const fs = require('fs'); -const cors = require('cors'); -const helmet = require('helmet'); -require('dotenv').config(); - -const router = require('./routes'); -const logger = require('./server/logger'); - -const isDev = process.env.NODE_ENV !== 'production'; -const isProd = !isDev; -const ngrok = isDev && process.env.ENABLE_TUNNEL ? require('ngrok') : null; - -const customHost = process.env.HOST; -const host = customHost || null; -const prettyHost = customHost || 'localhost'; -const port = parseInt(process.env.PORT, 10) || 3000; - -const app = next({ dev: isDev }); -const handle = app.getRequestHandler(); +const express = require('express') +const next = require('next') +const compression = require('compression') +const LRUCache = require('lru-cache') +const path = require('path') +const fs = require('fs') +const cors = require('cors') +const helmet = require('helmet') +require('dotenv').config() + +const router = require('../app/routes') +const logger = require('./logger') + +const isDev = process.env.NODE_ENV !== 'production' +const isProd = !isDev +const ngrok = isDev && process.env.ENABLE_TUNNEL ? require('ngrok') : null + +const customHost = process.env.HOST +const host = customHost || null +const prettyHost = customHost || 'localhost' +const port = parseInt(process.env.PORT, 10) || 3000 + +const app = next({ dev: isDev }) +const handle = app.getRequestHandler() const ssrCache = new LRUCache({ max: 100, maxAge: 3600 // 1 hour -}); +}) const buildStats = isProd ? JSON.parse(fs.readFileSync('./.next/build-stats.json', 'utf8').toString()) - : null; + : null const buildId = isProd ? fs.readFileSync('./.next/BUILD_ID', 'utf8').toString() - : null; + : null /* * NB: make sure to modify this to take into account anything that should trigger * an immediate page change (e.g a locale stored in req.session) */ const getCacheKey = function getCacheKey(req) { - return `${req.url}`; -}; + return `${req.url}` +} const renderAndCache = function renderAndCache( req, @@ -51,12 +51,12 @@ const renderAndCache = function renderAndCache( pagePath, queryParams ) { - const key = getCacheKey(req); + const key = getCacheKey(req) if (ssrCache.has(key) && !isDev) { - console.log(`CACHE HIT: ${key}`); - res.send(ssrCache.get(key)); - return; + console.log(`CACHE HIT: ${key}`) + res.send(ssrCache.get(key)) + return } app @@ -64,79 +64,79 @@ const renderAndCache = function renderAndCache( .then(html => { // Let's cache this page if (!isDev) { - console.log(`CACHE MISS: ${key}`); - ssrCache.set(key, html); + console.log(`CACHE MISS: ${key}`) + ssrCache.set(key, html) } - res.send(html); + res.send(html) }) .catch(err => { - app.renderError(err, req, res, pagePath, queryParams); - }); -}; + app.renderError(err, req, res, pagePath, queryParams) + }) +} const routerHandler = router.getRequestHandler( app, ({ req, res, route, query }) => { - renderAndCache(req, res, route.page, query); + renderAndCache(req, res, route.page, query) } -); +) app.prepare().then(() => { - const server = express(); + const server = express() - server.use(compression({ threshold: 0 })); + server.use(compression({ threshold: 0 })) server.use( cors({ origin: prettyHost.indexOf('http') !== -1 ? prettyHost : `http://${prettyHost}`, credentials: true }) - ); - server.use(helmet()); - server.use(routerHandler); + ) + server.use(helmet()) + server.use(routerHandler) server.get('/sw.js', (req, res) => app.serveStatic(req, res, path.resolve('./.next/sw.js')) - ); + ) server.get('/manifest.html', (req, res) => app.serveStatic(req, res, path.resolve('./.next/manifest.html')) - ); + ) server.get('/manifest.appcache', (req, res) => app.serveStatic(req, res, path.resolve('./.next/manifest.appcache')) - ); + ) if (isProd) { server.get('/_next/-/app.js', (req, res) => app.serveStatic(req, res, path.resolve('./.next/app.js')) - ); + ) - const hash = buildStats['app.js'] ? buildStats['app.js'].hash : buildId; + const hash = buildStats['app.js'] ? buildStats['app.js'].hash : buildId server.get(`/_next/${hash}/app.js`, (req, res) => app.serveStatic(req, res, path.resolve('./.next/app.js')) - ); + ) } - server.get('*', (req, res) => handle(req, res)); + server.get('*', (req, res) => handle(req, res)) server.listen(port, host, err => { if (err) { - return logger.error(err.message); + return logger.error(err.message) } if (ngrok) { ngrok.connect(port, (innerErr, url) => { if (innerErr) { - return logger.error(innerErr); + return logger.error(innerErr) } - logger.appStarted(port, prettyHost, url); - }); + logger.appStarted(port, prettyHost, url) + }) } else { - logger.appStarted(port, prettyHost); + logger.appStarted(port, prettyHost) } - }); -}); + }) +}) diff --git a/server/logger.js b/server/logger.js index 3c4014fc..ddb70fc7 100644 --- a/server/logger.js +++ b/server/logger.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ -const chalk = require('chalk'); -const ip = require('ip'); +const chalk = require('chalk') +const ip = require('ip') -const divider = chalk.gray('\n-----------------------------------'); +const divider = chalk.gray('\n-----------------------------------') /** * Logger middleware, you can customize it to make messages more personal @@ -11,16 +11,16 @@ const divider = chalk.gray('\n-----------------------------------'); const logger = { // Called whenever there's an error on the server we want to print error: err => { - console.error(chalk.red(err)); + console.error(chalk.red(err)) }, // Called when express.js app starts on given port w/o errors appStarted: (port, host, tunnelStarted) => { - console.log(`Server started ! ${chalk.green('✓')}`); + console.log(`Server started ! ${chalk.green('✓')}`) // If the tunnel started, log that and the URL it's available at if (tunnelStarted) { - console.log(`Tunnel initialised ${chalk.green('✓')}`); + console.log(`Tunnel initialised ${chalk.green('✓')}`) } console.log(` @@ -31,8 +31,8 @@ Localhost: ${chalk.magenta(`http://${host}:${port}`)} ? `\n Proxy: ${chalk.magenta(tunnelStarted)}` : '')}${divider} ${chalk.blue(`Press ${chalk.italic('CTRL-C')} to stop`)} - `); + `) } -}; +} -module.exports = logger; +module.exports = logger diff --git a/yarn.lock b/yarn.lock index e3b36ccc..4a87ccaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -354,7 +354,7 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-escapes@^1.0.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.0.0, ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -454,12 +454,6 @@ args@3.0.4: pkginfo "0.4.0" string-similarity "1.2.0" -aria-query@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.0.tgz#4af10a1e61573ddea0cf3b99b51c52c05b424d24" - dependencies: - ast-types-flow "0.0.7" - arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -541,10 +535,6 @@ assert@^1.1.1: dependencies: util "0.10.3" -ast-types-flow@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - ast-types@0.9.11: version "0.9.11" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.11.tgz#371177bb59232ff5ceaa1d09ee5cad705b1a5aa9" @@ -603,13 +593,7 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -axobject-query@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" - dependencies: - ast-types-flow "0.0.7" - -babel-code-frame@^6.11.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -1615,6 +1599,10 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" +boolify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/boolify/-/boolify-1.0.1.tgz#b5c09e17cacd113d11b7bb3ed384cc012994d86b" + boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" @@ -1729,11 +1717,11 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: electron-to-chromium "^1.2.7" browserslist@^2.1.2, browserslist@^2.1.5: - version "2.3.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.3.1.tgz#39500a2090330b2a090120ea6c7fc78b6e091c5e" + version "2.3.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.3.2.tgz#343ff101cce799d5eaf0b742e17d0d21efc2d379" dependencies: - caniuse-lite "^1.0.30000712" - electron-to-chromium "^1.3.17" + caniuse-lite "^1.0.30000715" + electron-to-chromium "^1.3.18" bser@1.0.2: version "1.0.2" @@ -1825,6 +1813,14 @@ camel-case@^1.1.1: sentence-case "^1.1.1" upper-case "^1.1.1" +camelcase-keys@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.1.0.tgz#214d348cc5457f39316a2c31cc3e37246325e73f" + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + camelcase@4.1.0, camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -1854,7 +1850,7 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000715" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000715.tgz#0b9b5c795950dfbaf301a8806bafe87f126da8ca" -caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000712: +caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000715: version "1.0.30000715" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000715.tgz#c327f5e6d907ebcec62cde598c3bf0dd793fb9a0" @@ -1899,7 +1895,7 @@ chalk@2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@2.1.0, chalk@^2.0.0, chalk@^2.0.1: +chalk@2.1.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" dependencies: @@ -2000,7 +1996,7 @@ cli-clear@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/cli-clear/-/cli-clear-1.0.4.tgz#42cf3052f25b7068386fb7dbaee82d534b64c899" -cli-cursor@^1.0.2: +cli-cursor@^1.0.1, cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" dependencies: @@ -2182,7 +2178,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.7, concat-stream@^1.6.0: +concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -2561,10 +2557,6 @@ d@1: dependencies: es5-ext "^0.10.9" -damerau-levenshtein@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -2737,6 +2729,10 @@ disparity@^2.0.0: ansi-styles "^2.0.1" diff "^1.3.2" +dlv@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.0.tgz#fee1a7c43f63be75f3f679e85262da5f102764a7" + dns-prefetch-control@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz#60ddb457774e178f1f9415f0cabb0e85b0b300b2" @@ -2865,7 +2861,7 @@ ejs@^2.3.4, ejs@^2.5.6: version "2.5.7" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.17: +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.18: version "1.3.18" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.18.tgz#3dcc99da3e6b665f6abbc71c28ad51a2cd731a9c" @@ -2893,10 +2889,6 @@ emitter-mixin@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/emitter-mixin/-/emitter-mixin-0.0.3.tgz#5948cb286f2e48edc3b251a7cfc1f7883396d65c" -emoji-regex@^6.1.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -3095,24 +3087,20 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-airbnb-base@^11.3.0: - version "11.3.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.1.tgz#c0ab108c9beed503cb999e4c60f4ef98eda0ed30" - dependencies: - eslint-restricted-globals "^0.1.1" - -eslint-config-airbnb@15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-15.1.0.tgz#fd432965a906e30139001ba830f58f73aeddae8e" - dependencies: - eslint-config-airbnb-base "^11.3.0" - -eslint-config-prettier@2.3.0: +eslint-config-prettier@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.3.0.tgz#b75b1eabea0c8b97b34403647ee25db349b9d8a0" dependencies: get-stdin "^5.0.1" +eslint-config-standard-jsx@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1" + +eslint-config-standard@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" + eslint-import-resolver-babel-plugin-root-import@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-plugin-root-import/-/eslint-import-resolver-babel-plugin-root-import-0.0.11.tgz#c66fb4fb0f6c5aa5a45092f2ef161e9abf880367" @@ -3161,7 +3149,7 @@ eslint-plugin-graphql@1.3.0: graphql-config "^1.0.0" lodash "^4.11.1" -eslint-plugin-import@2.7.0: +eslint-plugin-import@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" dependencies: @@ -3180,26 +3168,20 @@ eslint-plugin-jest@20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-20.0.3.tgz#ec15eba6ac0ab44a67ebf6e02672ca9d7e7cba29" -eslint-plugin-jsx-a11y@5.1.1: +eslint-plugin-node@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz#5c96bb5186ca14e94db1095ff59b3e2bd94069b1" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.1.1.tgz#a7ed956e780c22aef6afd1116005acd82f26eac6" dependencies: - aria-query "^0.7.0" - array-includes "^3.0.3" - ast-types-flow "0.0.7" - axobject-query "^0.1.0" - damerau-levenshtein "^1.0.0" - emoji-regex "^6.1.0" - jsx-ast-utils "^1.4.0" + ignore "^3.3.3" + minimatch "^3.0.4" + resolve "^1.3.3" + semver "5.3.0" -eslint-plugin-prettier@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.2.tgz#4b90f4ee7f92bfbe2e926017e1ca40eb628965ea" - dependencies: - fast-diff "^1.1.1" - jest-docblock "^20.0.1" +eslint-plugin-promise@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" -eslint-plugin-react@7.2.0: +eslint-plugin-react@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.0.tgz#25c77a4ec307e3eebb248ea3350960e372ab6406" dependencies: @@ -3207,9 +3189,9 @@ eslint-plugin-react@7.2.0: has "^1.0.1" jsx-ast-utils "^2.0.0" -eslint-restricted-globals@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" +eslint-plugin-standard@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" eslint-scope@^3.7.1: version "3.7.1" @@ -3275,7 +3257,47 @@ eslint@4.4.1: table "^4.0.1" text-table "~0.2.0" -espree@^3.5.0: +eslint@^3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0, espree@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" dependencies: @@ -3517,10 +3539,6 @@ fast-deep-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" -fast-diff@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.1.tgz#0aea0e4e605b6a2189f0e936d4b7fbaf1b7cfd9b" - fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -3573,7 +3591,7 @@ figlet@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" -figures@^1.7.0: +figures@^1.3.5, figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: @@ -3856,6 +3874,16 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + generic-names@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.2.tgz#e25b7feceb5b5a8f28f5f972a7ccfe57e562adcd" @@ -4012,6 +4040,17 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" +glob@~7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-modules@^0.2.0, global-modules@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" @@ -4035,7 +4074,7 @@ global@^4.3.0, global@^4.3.2: min-document "^2.19.0" process "~0.5.1" -globals@^9.0.0, globals@^9.17.0: +globals@^9.0.0, globals@^9.14.0, globals@^9.17.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -4628,7 +4667,7 @@ ignore-by-default@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" -ignore@^3.3.3: +ignore@^3.2.0, ignore@^3.2.7, ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -4650,7 +4689,7 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" -indent-string@^3.0.0: +indent-string@^3.0.0, indent-string@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -4718,6 +4757,24 @@ inquirer@3.2.1, inquirer@^3.0.6, inquirer@^3.2.0: strip-ansi "^4.0.0" through "^2.3.6" +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + insert-css@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-1.1.0.tgz#4a3f7a3e783877381bb8471a6452d1d27315db9e" @@ -4852,6 +4909,15 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-my-json-valid@^2.10.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -4910,6 +4976,10 @@ is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -5131,7 +5201,7 @@ jest-diff@^20.0.3: jest-matcher-utils "^20.0.3" pretty-format "^20.0.3" -jest-docblock@^20.0.1, jest-docblock@^20.0.3: +jest-docblock@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712" @@ -5295,7 +5365,7 @@ js-tokens@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.9.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" dependencies: @@ -5365,7 +5435,7 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -5393,6 +5463,10 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -5402,10 +5476,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" - jsx-ast-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.0.tgz#ec06a3d60cf307e5e119dac7bad81e89f096f0f8" @@ -5734,7 +5804,7 @@ lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" -lodash.merge@^4.4.0: +lodash.merge@^4.4.0, lodash.merge@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" @@ -5795,6 +5865,17 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" +loglevel-colored-level-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" + dependencies: + chalk "^1.1.3" + loglevel "^1.4.1" + +loglevel@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.4.1.tgz#95b383f91a3c2756fd4ab093667e4309161f2bcd" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -5830,6 +5911,12 @@ make-dir@^1.0.0: dependencies: pify "^2.3.0" +make-plural@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-3.0.6.tgz#2033a03bac290b8f3bb91258f65b9df7e8b01ca7" + optionalDependencies: + minimist "^1.2.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -5844,6 +5931,10 @@ mantra-core@^1.7.0: react-komposer "^1.9.0" react-simple-di "^1.2.0" +map-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" @@ -5898,6 +5989,20 @@ merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" +messageformat-parser@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/messageformat-parser/-/messageformat-parser-1.1.0.tgz#13ba2250a76bbde8e0fca0dbb3475f95c594a90a" + +messageformat@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/messageformat/-/messageformat-1.0.2.tgz#908f4691f29ff28dae35c45436a24cff93402388" + dependencies: + glob "~7.0.6" + make-plural "~3.0.6" + messageformat-parser "^1.0.0" + nopt "~3.0.6" + reserved-words "^0.1.1" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -6010,6 +6115,10 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -6250,7 +6359,7 @@ nodemon@1.11.0: undefsafe "0.0.3" update-notifier "0.5.0" -nopt@^3.0.1: +nopt@^3.0.1, nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -6781,6 +6890,10 @@ pluralize@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-6.0.0.tgz#d9b51afad97d3d51075cc1ddba9b132cacccb7ba" +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + pluralize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" @@ -7092,12 +7205,12 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 supports-color "^3.2.3" postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.6: - version "6.0.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.8.tgz#89067a9ce8b11f8a84cbc5117efc30419a0857b3" + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.9.tgz#54819766784a51c65b1ec4d54c2f93765438c35a" dependencies: - chalk "^2.0.1" + chalk "^2.1.0" source-map "^0.5.6" - supports-color "^4.2.0" + supports-color "^4.2.1" pre-commit@1.2.2: version "1.2.2" @@ -7119,7 +7232,43 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@1.5.3: +prettier-eslint-cli@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.1.1.tgz#b2630e31ac3b3379ecf02c130f5b219c04a0bc3c" + dependencies: + arrify "^1.0.1" + babel-runtime "^6.23.0" + boolify "^1.0.0" + camelcase-keys "^4.1.0" + chalk "^1.1.3" + common-tags "^1.4.0" + find-up "^2.1.0" + get-stdin "^5.0.1" + glob "^7.1.1" + ignore "^3.2.7" + indent-string "^3.1.0" + lodash.memoize "^4.1.2" + loglevel-colored-level-prefix "^1.0.0" + messageformat "^1.0.2" + prettier-eslint "^6.0.0" + rxjs "^5.3.0" + yargs "^7.1.0" + +prettier-eslint@^6.0.0, prettier-eslint@^6.4.2: + version "6.4.2" + resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-6.4.2.tgz#9bafd9549e0827396c75848e8dbeb65525b9096e" + dependencies: + common-tags "^1.4.0" + dlv "^1.1.0" + eslint "^3.19.0" + indent-string "^3.1.0" + lodash.merge "^4.6.0" + loglevel-colored-level-prefix "^1.0.0" + prettier "^1.5.0" + pretty-format "^20.0.3" + require-relative "^0.8.7" + +prettier@^1.5.0: version "1.5.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.3.tgz#59dadc683345ec6b88f88b94ed4ae7e1da394bfe" @@ -7153,6 +7302,10 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" @@ -7284,6 +7437,10 @@ querystringify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" +quick-lru@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + radium@^0.19.0: version "0.19.4" resolved "https://registry.yarnpkg.com/radium/-/radium-0.19.4.tgz#56aa49fde6181d2f5e1fa57b4710ffd0c23de820" @@ -7717,6 +7874,14 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + recast@^0.12.6: version "0.12.6" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.6.tgz#4b0fb82feb1d10b3bd62d34943426d9b3ed30d4c" @@ -7991,7 +8156,11 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.3: +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + +require-uncached@^1.0.2, require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -8006,6 +8175,10 @@ reselect@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" +reserved-words@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" + resolve-dir@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" @@ -8021,7 +8194,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" dependencies: @@ -8070,6 +8243,12 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -8086,7 +8265,11 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rxjs@^5.0.0-beta.11, rxjs@^5.0.3: +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +rxjs@^5.0.0-beta.11, rxjs@^5.0.3, rxjs@^5.3.0: version "5.4.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" dependencies: @@ -8140,6 +8323,10 @@ semver-diff@^2.0.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +semver@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" @@ -8241,7 +8428,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@0.7.8, shelljs@^0.7.8: +shelljs@0.7.8, shelljs@^0.7.5, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -8422,8 +8609,8 @@ stackframe@^0.3.1: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" stackframe@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc" + version "1.0.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" staged-git-files@0.0.4: version "0.0.4" @@ -8643,7 +8830,7 @@ supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2, supports-co dependencies: has-flag "^1.0.0" -supports-color@^4.0.0, supports-color@^4.2.0, supports-color@^4.2.1: +supports-color@^4.0.0, supports-color@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" dependencies: @@ -8687,6 +8874,17 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + table@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" @@ -9065,6 +9263,12 @@ url@0.11.0, url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -9272,8 +9476,8 @@ webpack@3.3.0: yargs "^6.0.0" "webpack@^2.5.1 || ^3.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.3.tgz#e68653963bda146e212832c04a4d8041d2b4b8c8" + version "3.5.4" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.4.tgz#5583eb263ed27b78b5bd17bfdfb0eb1b1cd1bf81" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -9522,7 +9726,7 @@ yargs@^6.0.0: y18n "^3.2.1" yargs-parser "^4.2.0" -yargs@^7.0.2: +yargs@^7.0.2, yargs@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" dependencies: From 448d6ccdb6775d3d90e2ccdbc5003e8ab89a7508 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 00:40:58 +0300 Subject: [PATCH 06/28] style linting in progress --- next.config.js | 3 +- package.json | 4 +- yarn.lock | 577 ++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 556 insertions(+), 28 deletions(-) diff --git a/next.config.js b/next.config.js index bdf26632..30fa927b 100644 --- a/next.config.js +++ b/next.config.js @@ -8,8 +8,7 @@ module.exports = { config.plugins.push(new IgnorePlugin(/^\.\/locale$/, /moment$/)) - // run "eslint --fix" - // FIXME: not fixing gql and graphql files + // FIXME: not fixing gql and graphql files, but fixing js files if (dev) { config.module.rules.push({ test: /\.(jsx?|gql|graphql)$/, diff --git a/package.json b/package.json index 85eb3ae5..cc5f4547 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,9 @@ "start:next": "next start", "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", - "lint:css": "stylelint '**/*.js'", + "lint:css": "stylelint './**/*.js'", "format": "prettier-eslint --write **/*.js", + "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", "setup:after": "yarn run build", @@ -138,6 +139,7 @@ "react-test-renderer": "15.6.1", "release": "1.3.3", "shelljs": "0.7.8", + "styled-components-stylefmt": "^0.1.2", "webpack-bundle-analyzer": "2.9.0" } } diff --git a/yarn.lock b/yarn.lock index 4a87ccaf..3ddc9401 100644 --- a/yarn.lock +++ b/yarn.lock @@ -237,6 +237,13 @@ version "15.6.1" resolved "https://registry.yarnpkg.com/@types/react/-/react-15.6.1.tgz#497f7228762da4432e335957cb34fe9b40f150ae" +JSONStream@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.8.4.tgz#91657dfe6ff857483066132b4618b62e8f4887bd" + dependencies: + jsonparse "0.0.5" + through ">=2.2.7 <3" + abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -472,6 +479,10 @@ array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + array-find@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" @@ -563,7 +574,7 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -autoprefixer@^6.3.1: +autoprefixer@^6.0.0, autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" dependencies: @@ -1481,7 +1492,7 @@ babel-traverse@6.21.0: invariant "^2.2.0" lodash "^4.2.0" -babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: +babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" dependencies: @@ -1517,7 +1528,7 @@ babylon@6.14.1: version "6.14.1" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" -babylon@^6.11.0, babylon@^6.17.0, babylon@^6.17.2, babylon@^6.17.4: +babylon@^6.11.0, babylon@^6.12.0, babylon@^6.17.0, babylon@^6.17.2, babylon@^6.17.4: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" @@ -1529,7 +1540,7 @@ backo2@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" -balanced-match@^0.4.2: +balanced-match@^0.4.0, balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1566,13 +1577,17 @@ binary@^0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" +bindings@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" -bluebird@3.5.0, bluebird@^3.4.7: +bluebird@3.5.0, bluebird@^3.0.5, bluebird@^3.4.7: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" @@ -1709,7 +1724,7 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: +browserslist@^1.1.1, browserslist@^1.1.3, browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" dependencies: @@ -1813,6 +1828,13 @@ camel-case@^1.1.1: sentence-case "^1.1.1" upper-case "^1.1.1" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase-keys@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.1.0.tgz#214d348cc5457f39316a2c31cc3e37246325e73f" @@ -1829,6 +1851,10 @@ camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" +camelcase@^2.0.0, camelcase@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -1846,7 +1872,7 @@ caniuse-api@^1.5.2: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: +caniuse-db@^1.0.30000187, caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000715" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000715.tgz#0b9b5c795950dfbaf301a8806bafe87f126da8ca" @@ -2043,7 +2069,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.2.0: +cliui@^3.0.3, cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -2051,6 +2077,13 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +clone-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.0.tgz#eae0a2413f55c0942f818c229fefce845d7f3b1c" + dependencies: + is-regexp "^1.0.0" + is-supported-regexp-flag "^1.0.0" + clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" @@ -2086,6 +2119,10 @@ color-convert@^1.3.0, color-convert@^1.8.2, color-convert@^1.9.0: dependencies: color-name "^1.1.1" +color-diff@^0.1.3: + version "0.1.7" + resolved "https://registry.yarnpkg.com/color-diff/-/color-diff-0.1.7.tgz#6db78cd9482a8e459d40821eaf4b503283dcb8e2" + color-name@^1.0.0, color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -2118,6 +2155,21 @@ color@^0.11.0: color-convert "^1.3.0" color-string "^0.3.0" +colorguard@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/colorguard/-/colorguard-1.2.0.tgz#f3facaf5caaeba4ef54653d9fb25bb73177c0d84" + dependencies: + chalk "^1.1.1" + color-diff "^0.1.3" + log-symbols "^1.0.2" + object-assign "^4.0.1" + pipetteur "^2.0.0" + plur "^2.0.0" + postcss "^5.0.4" + postcss-reporter "^1.2.1" + text-table "^0.2.0" + yargs "^1.2.6" + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -2404,6 +2456,20 @@ css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" +css-color-list@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/css-color-list/-/css-color-list-0.0.1.tgz#8718e8695ae7a2cc8787be8715f1c008a7f28b15" + dependencies: + css-color-names "0.0.1" + +css-color-names@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.1.tgz#5d0548fa256456ede4a9a0c2ac7ab19d3eb1ad81" + +css-color-names@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.3.tgz#de0cef16f4d8aa8222a320d5b6d7e9bbada7b9f6" + css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -2444,6 +2510,15 @@ css-modules-loader-core@^1.0.1: postcss-modules-scope "1.1.0" postcss-modules-values "1.3.0" +css-rule-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-rule-stream/-/css-rule-stream-1.1.0.tgz#3786e7198983d965a26e31957e09078cbb7705a2" + dependencies: + css-tokenize "^1.0.1" + duplexer2 "0.0.2" + ldjson-stream "^1.2.1" + through2 "^0.6.3" + css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2469,6 +2544,13 @@ css-to-react-native@^2.0.3: fbjs "^0.8.5" postcss-value-parser "^3.3.0" +css-tokenize@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-tokenize/-/css-tokenize-1.0.1.tgz#4625cb1eda21c143858b7f81d6803c1d26fc14be" + dependencies: + inherits "^2.0.1" + readable-stream "^1.0.33" + css-tree@1.0.0-alpha17: version "1.0.0-alpha17" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha17.tgz#7ab95ab72c533917af8be54313fec81841c5223a" @@ -2545,6 +2627,12 @@ cuid@^1.3.8: core-js "^1.1.1" node-fingerprint "0.0.2" +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + cwd@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd" @@ -2579,13 +2667,20 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" +deasync@^0.1.9: + version "0.1.10" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.10.tgz#4e4a6836fbe0477bd5f908308bd2a96557d5d7fe" + dependencies: + bindings "~1.2.1" + nan "^2.0.7" + debug@*: version "3.0.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.0.0.tgz#1d2feae53349047b08b264ec41906ba17a8516e4" dependencies: ms "2.0.0" -debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8: +debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: @@ -2710,7 +2805,7 @@ diff@^1.3.2: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" -diff@^3.2.0: +diff@^3.1.0, diff@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.0.tgz#056695150d7aa93237ca7e378ac3b1682b7963b9" @@ -2751,6 +2846,23 @@ doctrine@^2.0.0: esutils "^2.0.2" isarray "^1.0.0" +doiuse@^2.4.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-2.6.0.tgz#1892d10b61a9a356addbf2b614933e81f8bb3834" + dependencies: + browserslist "^1.1.1" + caniuse-db "^1.0.30000187" + css-rule-stream "^1.1.0" + duplexer2 "0.0.2" + jsonfilter "^1.1.2" + ldjson-stream "^1.2.1" + lodash "^4.0.0" + multimatch "^2.0.0" + postcss "^5.0.8" + source-map "^0.4.2" + through2 "^0.6.3" + yargs "^3.5.4" + dom-converter@~0.1: version "0.1.4" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" @@ -2830,6 +2942,12 @@ dotenv@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -2853,6 +2971,16 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" +editorconfig@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.3.tgz#e5219e587951d60958fd94ea9a9a008cdeff1b34" + dependencies: + bluebird "^3.0.5" + commander "^2.9.0" + lru-cache "^3.2.0" + semver "^5.1.0" + sigmund "^1.0.1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -3414,6 +3542,12 @@ execa@^0.8.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execall@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73" + dependencies: + clone-regexp "^1.0.0" + exenv@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" @@ -3861,6 +3995,10 @@ fuzzysearch@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz#dffc80f6d6b04223f2226aa79dd194231096d008" +gather-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -3894,7 +4032,11 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" -get-stdin@^5.0.1: +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stdin@^5.0.0, get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" @@ -4089,7 +4231,7 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^6.1.0: +globby@^6.0.0, globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: @@ -4099,6 +4241,10 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + good-listener@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" @@ -4521,6 +4667,10 @@ html-tag-names@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.2.tgz#f65168964c5a9c82675efda882875dcb2a875c22" +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + html-webpack-plugin@^2.24.1: version "2.30.1" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" @@ -4805,6 +4955,10 @@ ipaddr.js@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" +irregular-plurals@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.3.0.tgz#7af06931bdf74be33dcf585a13e06fccc16caecf" + is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" @@ -4990,6 +5144,10 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" @@ -5008,6 +5166,10 @@ is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" +is-supported-regexp-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz#8b520c85fae7a253382d4b02652e045576e13bb8" + is-svg@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" @@ -5459,10 +5621,23 @@ jsonfile@^3.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfilter@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/jsonfilter/-/jsonfilter-1.1.2.tgz#21ef7cedc75193813c75932e96a98be205ba5a11" + dependencies: + JSONStream "^0.8.4" + minimist "^1.1.0" + stream-combiner "^0.2.1" + through2 "^0.6.3" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonparse@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64" + jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -5506,6 +5681,10 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" +known-css-properties@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.2.0.tgz#899c94be368e55b42d7db8d5be7d73a4a4a41454" + latest-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb" @@ -5528,6 +5707,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +ldjson-stream@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ldjson-stream/-/ldjson-stream-1.2.1.tgz#91beceda5ac4ed2b17e649fb777e7abfa0189c2b" + dependencies: + split2 "^0.2.1" + through2 "^0.6.1" + leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -5840,11 +6026,15 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" +lodash.unescape@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@4.x.x, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: +lodash@4.x.x, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.1.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -5886,6 +6076,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.0, loose-envify@^1.3 dependencies: js-tokens "^3.0.0" +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -5901,6 +6098,12 @@ lru-cache@4.1.1, lru-cache@^4.0.0, lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" + dependencies: + pseudomap "^1.0.1" + macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" @@ -5931,6 +6134,10 @@ mantra-core@^1.7.0: react-komposer "^1.9.0" react-simple-di "^1.2.0" +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + map-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" @@ -5951,6 +6158,10 @@ math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" +mathml-tag-names@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.0.1.tgz#8d41268168bf86d1102b98109e28e531e7a34578" + maximatch@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/maximatch/-/maximatch-0.1.0.tgz#86cd8d6b04c9f307c05a6b9419906d0360fb13a2" @@ -5981,6 +6192,21 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +meow@^3.3.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -6078,7 +6304,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -6115,6 +6341,15 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +multimatch@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" @@ -6139,7 +6374,7 @@ mz@2.6.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.3.0: +nan@^2.0.7, nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -6378,7 +6613,7 @@ nopt@~1.0.10: dependencies: abbrev "1" -normalize-package-data@^2.3.2: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: @@ -6401,6 +6636,10 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + normalize-url@^1.4.0: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -6562,6 +6801,10 @@ once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: dependencies: wrappy "1" +onecolor@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-3.0.4.tgz#75a46f80da6c7aaa5b4daae17a47198bd9652494" + onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" @@ -6860,6 +7103,13 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pipetteur@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/pipetteur/-/pipetteur-2.0.3.tgz#1955760959e8d1a11cb2a50ec83eec470633e49f" + dependencies: + onecolor "^3.0.4" + synesthesia "^1.0.1" + pkg-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" @@ -6886,6 +7136,12 @@ platform@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.4.tgz#6f0fb17edaaa48f21442b3a975c063130f1c3ebd" +plur@^2.0.0, plur@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + dependencies: + irregular-plurals "^1.0.0" + pluralize@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-6.0.0.tgz#d9b51afad97d3d51075cc1ddba9b132cacccb7ba" @@ -6972,6 +7228,12 @@ postcss-flexbugs-fixes@^3.0.0: dependencies: postcss "^6.0.1" +postcss-less@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-0.14.0.tgz#c631b089c6cce422b9a10f3a958d2bedd3819324" + dependencies: + postcss "^5.0.21" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -7004,6 +7266,10 @@ postcss-loader@^2.0.5: postcss-load-config "^1.2.0" schema-utils "^0.3.0" +postcss-media-query-parser@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + postcss-merge-idents@^2.1.5: version "2.1.7" resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" @@ -7150,7 +7416,35 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: +postcss-reporter@^1.2.1, postcss-reporter@^1.3.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-1.4.1.tgz#c136f0a5b161915f379dd3765c61075f7e7b9af2" + dependencies: + chalk "^1.0.0" + lodash "^4.1.0" + log-symbols "^1.0.2" + postcss "^5.0.0" + +postcss-reporter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-3.0.0.tgz#09ea0f37a444c5693878606e09b018ebeff7cf8f" + dependencies: + chalk "^1.0.0" + lodash "^4.1.0" + log-symbols "^1.0.2" + postcss "^5.0.0" + +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + +postcss-scss@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-0.4.1.tgz#ad771b81f0f72f5f4845d08aa60f93557653d54c" + dependencies: + postcss "^5.2.13" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1, postcss-selector-parser@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" dependencies: @@ -7158,6 +7452,13 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-sorting@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-2.1.0.tgz#32b1e9afa913bb225a6ad076d503d8f983bb4a82" + dependencies: + lodash "^4.17.4" + postcss "^5.2.17" + postcss-svgo@^2.1.1: version "2.1.6" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" @@ -7195,7 +7496,7 @@ postcss@6.0.1: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.8: +postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.18, postcss@^5.0.2, postcss@^5.0.20, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.13, postcss@^5.2.16, postcss@^5.2.17, postcss@^5.2.4, postcss@^5.2.5, postcss@^5.2.8: version "5.2.17" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" dependencies: @@ -7365,7 +7666,7 @@ ps-tree@^1.0.1: dependencies: event-stream "~3.3.0" -pseudomap@^1.0.2: +pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -7805,6 +8106,12 @@ read-all-stream@^3.0.0: pinkie-promise "^2.0.0" readable-stream "^2.0.0" +read-file-stdin@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/read-file-stdin/-/read-file-stdin-0.2.1.tgz#25eccff3a153b6809afacb23ee15387db9e0ee61" + dependencies: + gather-stream "^1.0.0" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -7835,7 +8142,7 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -readable-stream@1.0, readable-stream@~1.0.17: +readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -7844,7 +8151,7 @@ readable-stream@1.0, readable-stream@~1.0.17: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^1.1.8: +readable-stream@^1.0.33, readable-stream@^1.1.8, readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -7922,6 +8229,13 @@ redbox-react@^1.3.6: prop-types "^15.5.4" sourcemapped-stacktrace "^1.1.6" +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + reduce-css-calc@^1.2.6: version "1.3.0" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" @@ -8190,6 +8504,10 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -8440,6 +8758,10 @@ shellwords@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -8520,7 +8842,7 @@ source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@^0.4.4: +source-map@^0.4.2, source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: @@ -8566,6 +8888,10 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +specificity@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.3.1.tgz#f1b068424ce317ae07478d95de3c21cf85e8d567" + split-transform-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/split-transform-stream/-/split-transform-stream-1.0.0.tgz#5a37d8383f4e92340d6bd7fb502f482417b9497a" @@ -8574,6 +8900,12 @@ split-transform-stream@^1.0.0: split "^1.0.0" through2 "^2.0.0" +split2@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/split2/-/split2-0.2.1.tgz#02ddac9adc03ec0bb78c1282ec079ca6e85ae900" + dependencies: + through2 "~0.6.1" + split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -8620,6 +8952,10 @@ staged-git-files@0.0.4: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stdin@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/stdin/-/stdin-0.0.1.tgz#d3041981aaec3dfdbc77a1b38d6372e38f5fb71e" + stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -8635,6 +8971,13 @@ stream-cache@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f" +stream-combiner@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" + dependencies: + duplexer "~0.1.1" + through "~2.3.4" + stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -8758,6 +9101,12 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" @@ -8772,6 +9121,27 @@ style-loader@^0.17.0: dependencies: loader-utils "^1.0.2" +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + +styled-components-stylefmt@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/styled-components-stylefmt/-/styled-components-stylefmt-0.1.2.tgz#800961ac94c359edc3484408dc2913adaebb961c" + dependencies: + babel-traverse "^6.24.1" + babylon "^6.17.0" + chalk "^1.1.3" + deasync "^0.1.9" + diff "^3.2.0" + escape-string-regexp "^1.0.5" + globby "^6.1.0" + indent-string "^3.1.0" + minimist "^1.2.0" + postcss "^5.2.17" + stylefmt "^5.3.2" + stylelint-processor-styled-components "^0.1.0" + styled-components@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.2.tgz#bb419978e1287c5d0d88fa9106b2dd75f66a324c" @@ -8801,6 +9171,101 @@ styled-jsx@^1.0.8: string-hash "1.1.1" stylis "3.2.8" +stylefmt@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/stylefmt/-/stylefmt-5.3.2.tgz#32013437aa54d8c5253cbc107ac914dfb5ee9eea" + dependencies: + chalk "^1.1.3" + css-color-list "0.0.1" + diff "^3.1.0" + editorconfig "^0.13.2" + globby "^6.1.0" + minimist "^1.2.0" + postcss "^5.2.5" + postcss-scss "^0.4.0" + postcss-sorting "^2.0.1" + postcss-value-parser "^3.3.0" + stdin "0.0.1" + stylelint "^7.5.0" + stylelint-order "0.4.x" + +stylehacks@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-2.3.2.tgz#64c83e0438a68c9edf449e8c552a7d9ab6009b0b" + dependencies: + browserslist "^1.1.3" + chalk "^1.1.1" + log-symbols "^1.0.2" + minimist "^1.2.0" + plur "^2.1.2" + postcss "^5.0.18" + postcss-reporter "^1.3.3" + postcss-selector-parser "^2.0.0" + read-file-stdin "^0.2.1" + text-table "^0.2.0" + write-file-stdout "0.0.2" + +stylelint-order@0.4.x: + version "0.4.4" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-0.4.4.tgz#db7dfca0541b5062010c7e2e21e745791fc088ac" + dependencies: + lodash "^4.17.4" + postcss "^5.2.16" + stylelint "^7.9.0" + +stylelint-processor-styled-components@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.1.2.tgz#b760efb49fe56fe625ca99b4b9b2b2fab4dc507c" + dependencies: + babel-traverse "^6.16.0" + babylon "^6.12.0" + typescript "~2.3.2" + typescript-eslint-parser "^3.0.0" + +stylelint@^7.5.0, stylelint@^7.9.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-7.13.0.tgz#111f97b6da72e775c80800d6bb6f5f869997785d" + dependencies: + autoprefixer "^6.0.0" + balanced-match "^0.4.0" + chalk "^2.0.1" + colorguard "^1.2.0" + cosmiconfig "^2.1.1" + debug "^2.6.0" + doiuse "^2.4.1" + execall "^1.0.0" + file-entry-cache "^2.0.0" + get-stdin "^5.0.0" + globby "^6.0.0" + globjoin "^0.1.4" + html-tags "^2.0.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + known-css-properties "^0.2.0" + lodash "^4.17.4" + log-symbols "^1.0.2" + mathml-tag-names "^2.0.0" + meow "^3.3.0" + micromatch "^2.3.11" + normalize-selector "^0.2.0" + pify "^2.3.0" + postcss "^5.0.20" + postcss-less "^0.14.0" + postcss-media-query-parser "^0.2.0" + postcss-reporter "^3.0.0" + postcss-resolve-nested-selector "^0.1.1" + postcss-scss "^0.4.0" + postcss-selector-parser "^2.1.1" + postcss-value-parser "^3.1.1" + resolve-from "^3.0.0" + specificity "^0.3.0" + string-width "^2.0.0" + style-search "^0.1.0" + stylehacks "^2.3.2" + sugarss "^0.2.0" + svg-tags "^1.0.0" + table "^4.0.1" + stylis@3.2.8, stylis@^3.2.1: version "3.2.8" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.8.tgz#9b23a3e06597f7944a3d9ae880d5796248b8784f" @@ -8820,6 +9285,12 @@ subscriptions-transport-ws@^0.8.1: symbol-observable "^1.0.4" ws "^3.0.0" +sugarss@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-0.2.0.tgz#ac34237563327c6ff897b64742bf6aec190ad39e" + dependencies: + postcss "^5.2.4" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -8848,6 +9319,10 @@ svg-tag-names@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/svg-tag-names/-/svg-tag-names-1.1.1.tgz#9641b29ef71025ee094c7043f7cdde7d99fbd50a" +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + svgo-loader@^1.1.2: version "1.2.1" resolved "https://registry.yarnpkg.com/svgo-loader/-/svgo-loader-1.2.1.tgz#e255cdebf56753ff83bd28d1d7a20762c0df5130" @@ -8874,6 +9349,12 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" +synesthesia@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/synesthesia/-/synesthesia-1.0.1.tgz#5ef95ea548c0d5c6e6f9bb4b0d0731dff864a777" + dependencies: + css-color-names "0.0.3" + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -8970,6 +9451,13 @@ throat@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836" +through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -8984,7 +9472,7 @@ through2@~0.4.1: readable-stream "~1.0.17" xtend "~2.1.1" -through@2, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -9069,6 +9557,10 @@ tr46@~0.0.3: version "0.3.9" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -9112,6 +9604,17 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +typescript-eslint-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-3.0.0.tgz#dd0435b303abc841464c02d00184d7b39bd488b5" + dependencies: + lodash.unescape "4.0.1" + semver "5.3.0" + +typescript@~2.3.2: + version "2.3.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.4.tgz#3d38321828231e434f287514959c37a82b629f42" + ua-parser-js@^0.7.9: version "0.7.14" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca" @@ -9569,6 +10072,10 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -9615,6 +10122,10 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" slide "^1.1.5" +write-file-stdout@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/write-file-stdout/-/write-file-stdout-0.0.2.tgz#c252d7c7c5b1b402897630e3453c7bfe690d9ca1" + write-file-webpack-plugin@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.1.0.tgz#ed6ae9b54b68719c4ef4899fba70ce7cbdad0154" @@ -9672,7 +10183,7 @@ xss-filters@1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/xss-filters/-/xss-filters-1.2.7.tgz#59fa1de201f36f2f3470dcac5f58ccc2830b0a9a" -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -9682,7 +10193,7 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -y18n@^3.2.1: +y18n@^3.2.0, y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" @@ -9708,6 +10219,22 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" +yargs@^1.2.6: + version "1.3.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.3.3.tgz#054de8b61f22eefdb7207059eaef9d6b83fb931a" + +yargs@^3.5.4: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" + yargs@^6.0.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" From 17f189858ec7cf04e5999ee8717785ecab7c4753 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 11:05:46 +0300 Subject: [PATCH 07/28] logo --- app/components/Theme.js | 6 +++--- app/containers/PostList/styles.js | 2 +- app/static/logo.png | Bin 0 -> 11898 bytes 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100755 app/static/logo.png diff --git a/app/components/Theme.js b/app/components/Theme.js index d3e36881..668b0f6b 100644 --- a/app/components/Theme.js +++ b/app/components/Theme.js @@ -5,7 +5,7 @@ export const App = styled.div` color: ${props => props.theme.colors.text}; ` -export const A = styled.a`color: ${props => props.theme.colors.main}};` +export const A = styled.a`color: ${props => props.theme.colors.main};` export const P = styled.p` font-size: ${props => props.theme.font.sizes.normal}; @@ -25,8 +25,8 @@ export const Button = styled.button` display: flex; padding: ${props => props.theme.spacing.smaller}; &:active { - background-color: ${props => - props.theme.helper(props.theme.colors.main).darken(0.2).string()}; + background-color: ${({ theme }) => + theme.helper(theme.colors.main).darken(0.2).string()}; transition: background-color .3s; } &:focus { diff --git a/app/containers/PostList/styles.js b/app/containers/PostList/styles.js index d53f1826..23d014b2 100644 --- a/app/containers/PostList/styles.js +++ b/app/containers/PostList/styles.js @@ -32,7 +32,7 @@ export const ItemList = styled.ul` ` export const ShowMore = T.Button.extend` - button:before { + &:before { align-self: center; border-style: solid; border-width: 6px 4px 0 4px; diff --git a/app/static/logo.png b/app/static/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..ed3b80434dd1fb95b4067ddc8fba1d1d46a23d82 GIT binary patch literal 11898 zcmV-=E``yFP)6*ByowRnFCYBS&S{zxC6_Jui z&I2V88vz0!Kx~6q-n+m4ao+=m6hO=j1`B0;&v|%n25-4@-~HYDyT9M}_q!?fu!nCE zoOpJm(S)T=MLUUXC(w!7E<`$kgD3}qgPC_z zZI2?yML3RX56}a0Kvi3SX4EzV%|NrLHj{2ZL{N1jz-?O;qRXMikC1B0vnL>X*jAi= zVPe0{FZHR7`cUl?=mqHo?E{Y3LcS450}Y@JXnbsphZqC}1&A9zxP7UZ{O4{0P?d1N zo`CFOlQ=i7a^MI|y*wiwk9O$P^W*KBU+5E+KG1%kPoWR!7dUR0=2`(yz{9ma57ZqS zv)cHHTXP}=)&e&9XVne;j%##{V_ECIdjhhDHE~{5CSIQPOzS=q%}jZAIp;}Zld)m3 zktjSam_E?H<=29~{A=_9eN)d&_X7u9zm zyjdVpumW?y5XdmXFvweAPojJlr?TCKJpuU^#i?nP)X;o7D&^C5VXgt=rGYd`18O_R zzB1T{YF{)v)r-=H(5LxaufS0}FYei8wY6$_r(AO{fBQTkY4{S$mAF6H2vkF$2$WDQ z0m+sFt^>mg!y+<_m|<)*VmrHrhaTyC$Bg{cm#=(Mk!Y;~?Fq=c7@0qqX|PN4O&XS( z)Y>NTQjI_(*6z2j1jkFz3-kaz8il<;ufQ>BZgIW2O)NgK)n{eW8*N6{U%ghOtnmwo z2qNxTVHlxW0P?8jfz?fQO2v!_jDU_JW>jGmBO`Br?DRs_6=jUGXsv-g0l9~9`oet5 zF3h)*Til0utq84%v|?==%He2s`WV77;F!QMqVO1S+_bhC0JYJIAguTRtVNe|8(Dld z8Xe-{#khuV1jHbT5CB>%fND-vmjqb^T>_SXMUY#-IB*>?W2$yskn5(YY3%BgeYZAS zZ`EK=Kz2D!emT1zBm32|A9TMU`$6|3rX#v>{RqfmK@Ow#Fv?-zh_vi$6wd=2p-H2+ z)~P1eVwV=+?rP9RBY-0_6t6 z4NQ8%SbO8@$4}p^U+rxkdjhhYZX#w1wbK|g z1x#ag+P3YVy7u_t4QJ!^z?m~=8mzS)Kqt@v90WR5^*#~#%^(QAvC%#D1Z0bmd1R&=A<_*TQq@BO9SR4r(LvCI2nT?Jh#ZjSR*cAs8YI@P3P7=l77O)JgNy;= zl?wo3JV6ATTY@N@RU1tLlfV=(X<<@CrVyD$^%lr1o;NEdHJj=@GMjyZ)L0|#Z1z^Ez@0=g}K-ZewjO~K&`wsyB0B4p>>bFf*+eD-tXma!Y)hg21 z%I3W7dJ%Y|l4tD+NCi0cwQGm9Q0h_iIOuVKmo9ys$;+yVy5uCB_M}t4kU;1 zau}O?>%*tEMGdMEB@y{k$%pdBf5&%sb}-5302ry{L3;uMoOmWU1kx+2y@>RnwpX3W zvky3^g+e3HD9{Kr;P#Dpsn{&3B-95<-iwXULKJ_f$tSRS?d_&eaJ{1-f))!!wRQw+ zhk;Stiyu*BSd3gJm0rTyqIh0G!%|Vw4TV%kS0Ve*zHn2ORv|K(OuI3rM^*cPQ@{f7 zn?Vpv*LqK5%!IY}o4_L*oO)-y$If}ZGB`LmRmrp7^#aoKm8?k_uhXdXVIxOpB+!{vz-{Hu30!sy=Isc|=vK>VQ;rK}0T9dj35nAWy2w)G($rF>Q2t$!Mu)NH>T< z_SvY^i?#iz_9N1ZIvx;~9&EG^SBZw$7|H6kKK&t4jW)(QFG!rLd3CtAcWerTxC!tu zE8bs*QHDvUha}Z-1GS-PZne?uv`RyxHT&9a)5(MO^$ytWWwj0sU_@lyx{c=mf8O`~7lI%dt))Cyu3X9czW=+xXYaiKU62UU2=I2L&)QW2 z^1y_e;$$urPF_#rrBY%{3P{;f*aY_I$TLB|KyNGnjs#aM^jT-dD_218ymd`f=dx>8 zuUpY`V}_B_vB27-v4=RyLkJq8ggD#(h@!)iaDa>qt9Zj^f9L3%kL=$zt4}Qukxv3Y z$r@ZGs#GCW6%qMks`?S&ziy&fm#wu+BGOvn`641%Yp?Fw5#-c!V?tPJB%Ny1T&@Wt zPL~(chz&b)7lU4q9-vokF`+^9Nh;kbUc(*K2St*J@5ZRi;sa~bA0TnEl~(8vXaS`F z6ma~X@t6QNg6gOmGa{IghR*JhE8o^$s-e1e6TSreJ)nto^!h5GfT-%<@O}T;AP9zP zEYpIBd|gC7u9c1Q0Eoy?5Crp;o?mwXIr;k&jgrr|s75VVXW2ou1*Bc`OUF<>u3_=G zpgmZQfgZ<`!=|OpIlam#4=cxE2@Ok|pX>rF^oR1vt}#ydN=2)xIZ@5w8vRnd&jHiG z7$T#pdR>e+MigB)jp@;=A3nJ)X3sNc&NKim*4kE_YSS(v!`WYo9)M?%Xe5x^$^(RnhajxhRT$uUY{Cma93rY5_U@+(^pia_y2% zwb>|Y7idSM4P`%Qw=T>b1&$<}!V!U^W?!4LAXtmU&aV|Oa1>#e7B=JfS`~nV@^Cx- zK|s(#9&EIPGLN&S%qz@;%qw~ekqJ~MfC-cd@x1X!nYi}x(-rqPo59($XH67E?Kso&W;F(M*pSV9Z=JTME0sp4P`&4TstQx74U(SA9m182f^e3vFn$LBhbRv$sg4GU5H?&G)lXE`B0wBpK zpcc(7ZJz(52&S9>=dB8W=Yh3EOAAV5rzB!Zo!T?4FeM^WsNO`(O<)FL25Vts1Yjeq$|L+ zt^Y+ZI5>FC_x)FaC+l_3_&5C>-}k=|1i|%s-M5}d0Y8J#2ee63GaxIv|0?~#qNO5Q zD#GSQfmJnVP5zI;<`y9eZ$dO-DNTr@JWQzDPog>}UTO~2d0-x8o_%d|Z+-B{Zn6X& z1^ye(q1XoOPpA)fi~uXgvC2{LJS(=yyg4{HSnDLWYN+b}5RrNbh~R#2FYrUakJstG zbwvv37caFB8==cN*w`dm84I+W1|8EM#26=N#loywJEku3>$)Igie5)#47i0cOJdBD zhG7mbwPafMEnR*5a8;A5orJmww+<0Gc*iJEucQJJ3siPf1+5Yy@;h5}>mTra|CfRw zcx#L9Uo%ob7>6(>-&Gz9Am;X97-Ix$vBkooM9~ODqv|5QMpSiFL`D!ZiRUegNM5{D zUc*wsq#E-39_-D(x=oI+t%kbM?Q0_PC+_&yrYE;$7!#4Jb-dq(5Rt_yEk+yOGTwIq zKMMRnJ#StQtTjo$qnDGiPjN`3jTTWIL8DP8Q9LPl8LG0^o^&0^mee_W&6be!( z6pS%OJkOITibO;jq9{6wb0YTRbl6^1eXFIV<)<%PxUl0+xl5NW6@1_SM%<9=Djcw) zuJww@Y2cN5-+!BtbRb6%LMC633o&}z-xv;wjiK^VK zs()c%VBm|{Y<5ROd!h0XZgHU+UWvSYPK`LX=6-3(5k9fYq8d9LW5Z2#cq`lY=lHe)EILT_(k9MKeL?$P?wnD zBXON~9Mzyw0T~5;KRzyhfjcDx z8^N_SH)gf|PgNg$hBQbexA0K3~B?=`fW#Lxop*Vv&BpxQ<MdMus4-v&coq16z;6K8RCTfJ`ttkjDin)FBO;ZkS4sJcs=DIj6On5`wn{Z? zML<-w9^tU{L^_^qf4+Sl4jEu&AozA~K??6XG(3 z4B>|2vBAN?6-MsBz`#M^&jO#uB`rG?m%HvX^39@HEVilY`zlaFlM|NH>GXxdwVyY}d`}G>Y%+aML5! z;Nalbf#0a1m)&xR$j7LzOfTH|g)!!`h`e262XJ0hciTiAfNVB<6ZlnY?L0MDwBqv{ zRrSZ}Ubwqp+XO@$>UF#Sl9)$#3w+=2$3-|+`Xloqa^cP|v)SyM@mz!|?gdT_=~UGR zo_gx3UDa_UFvk3rhPKnSC)a#scK?Ks6|C?5s{w&wj`YSPTZ3M z5@R<^M9c9cRS1ZxezjCuH+=pIZau(iko2&BWIGy8tq6kP{{YX#AFC~AB2XXjeg7%o z<{jVH9rv<;?6yYm0V=Z!CNJ|FhYlTD(;B0y7uDqmEKYxj zH12(>`d3wTYOCj>_p*TO8u-5d2rjC!5(p3(V_tdw`RCVc9D{>{mqp}yjki z@csASzgzqvYa*M?UR2dD;#T9T1^aNU=`A&D-;)Az`t<2!*?=9#z`#I@s@{*Q%Ss#a z%WZ9K8#zp00%oc#PV)S=QmOQKmDg@NMC7NbZ3IY2uWh(>6ZaXf0tnEs%Z3dcq zPC(9{J=-cG-z6dksLdM-ZdkwT9H0t3hFb^+DtK|K`UaJc3@-us8p@Pb)k;{!JC1lR z@@D+8T2*qbg zA-UBc;Xd8B)A8JuASR>!i=8gVdbp-jg$)AYR{X> zzhA{=Jg+9)H0eOPmzS5H1h#7Fw7MY(f?419e@aB2+)Z4vZ4r7{aEY*c zRJC73j^SwHhjEP{6~{5Bfu^!DRz2sysWoo`e>(_*m+SLu9OmZc2IBHpQnnRAO{de< zTF-{4-3)qARX@l*ARsaRKvjQTME>Lkxt+HS+c|p({8MUQo4i>> z-e2Rj+m0XzrZbt$&*M^#dhCL{1KTMe0<_k6U8N|m&|4z%6G0Gc)e21S5s{8c4F++n z#>qHgol(^Tz{ygn)EkCjFVGk7`$gm^u5s6+f%N&l?*~B;Z1O(a0ugx`_>Us;1G_=h z+U~3-TZ!_SI^|Xj2=`bsK zd5LAF0hfurxq^|W9>M{RhW}U{?z3$$#=Hppr%fg)tWQ~X^5Jzx5>fYGthIk}N8W-Ii2tU1YP_JTBSX&`xKsdAA6N;DT>{OGN%wJ-p<1eVEAo zp6A^Q>S;obJS8IU-RZ(qgCGcA0KQOW1lbWGdAA4%xJ1wwVs6it!T0?>;Nkei?HY&H z1~>^ku+xR80so!VRIEFKcawmmMC3cZ`@6q;t84QZ@ZfID%e5Y2bNWLkPoBJ|-ggiL zuK-_E)oMd?>xO%(!tMgsovZf0_S$RTzQxb#i@p5!3X;0H-}Ai8P8X&I{GzH}-l>Q0 z76GYsxvtwFBCV?WXX{X&HF5Ur*+!g$5bhoIDsfWYFCzX<7p7VSL2y+>ejOJVv+bkE zb_qzOYl4&?*AhJAiO6FE0|Q&q!$(ncL{*>ML?mM+sALV5staI@Ifz@%`(DJq1>TB} zw^gm(E&)k?)OFx%z<5DJEm^7H@faiSQ|27 zYg5%35gEmi72l4xW?aY8O?4h-iK#9RM^V&I^;sKt1AY$pb8Pb{xGe&bEPs$nrA9AZ zx>QN9&@;d}s-t+rYNPRe-+v+qg6B87pi&GB47920<25)3EiNjsq^czmDdOTg@~S!} zBE!HiFanIK>QF;N!<%os@y0vq>HPWgGBGiM=Xt+it*v?lGsc`&)ssM7na$gQAP5$H z-~X4mwPKpK>$%%XR!pTTe%!AEf0^n9BxyALz;^+46A)bfr4LppAc>%sfUm0R?~2G2 zP5?$lWH<dZ5qX$x z;%MzkZ*ULrp0EJqmnVg{LQFe!&>?=_^;R)XjM* zB9p56l88K3?PwOC{~_Emc0+eRy>6&mBffCqLgf4YKLLJ?>N4rqjNM}9T?@a7%ivzq zG5|PTwJtu9fq{V(@K}}R-6HVSdI|?XoQw7wwV0Y?bMIqR5hh#?5vj#U&^jVF? z=@)^|uQQ6?_BqZ)hKOK{feLe&CD^qBa`EED5SPsasvkxu(eX+=s)m{TM0*};i-MYAR=~4ms8C4D4%6_W?V2lxC z3^9LeR8?P6)&H%k|1pZ9p9H>8&9ippB)ts(3-|}rIEsjfsOnR`?|(iBf|_jqXV0GX zq9{t{GL>3R3cxpOd0r(*rBc_!FnmQsK2}SHNpVY6|CLN8^Vz|{!D>PS&R6>^oKPOm zWHSEX;9%XN8b#zaYwf?nIhwPoItq-4$aS1UdJgAU%!x>j!g9Xh+VJ9QYiEi10M$}>lF_sScn@_9`^{#vO9KM~{|NY(3V9DLaAT}+WiGdF4zUx@ zjrE-@=KHW=A1Xbdy+E&8JqOyl*6ZEX0wN*>oSOBaS}q4L#&lb2&!0JS=D90Zu2j7s zO-z8SR!v(_)fcOMR;7rds9i*k)hHt?;lHZ-qcbxz--jFV?g~}?h=`hZ*ta{juE1wz^Nj|Ti4u1WPW>*Uc zfQXE%>hAzgQ=^(?jCo8|&r*Yc;MA*XjTu|L0&gqORfqeeMdZgHe)!>MUwP$~yPDKh z^%;#Tpx!#Gj)saEg$?Yub=L{${bt{0G|rl!T^<>mh^ zB2U+tCn>44@9};AxgZEC&TM$@+__X3hEG#{(z<#y-n(HRaHIki>#hwZHe!5qadGie zz~|RH@7%d_ZDAOGK~?7jMu?&jnVY$my?JY0C+O*{HlMmN+CdaHX%sc7jhe)G&8QyA zy%_YWNRPP0cs&R`S}OKRV{WHdTCfUgLDg+{|4nzzZb_K{fVjO7lLh0?r4pzX z73M&0?s@^aaN$De`~L5#Y5`|5tQLuB^ZS6$;XL#eAq>M$;3k*V3TA`v``xu#&MH7F zjxGXgG?+5;Z<1jWVCl|HRST**hf4*!E-qcVv;h2M`FAHKwdquFy-SOQR-&jCwXKM> zsA>mr%nlD8L$wDurf^)~xTMqVl5Rkw2(cE_qVXPU(ZceYzvm8YECiA?egQFY`xik3 zjUot3CD0|5Tv>hO6c!PgK)DVKfsXHb0f}(~_-zsS<2B}NP54>=cwk`Qo7rskMupe? zO{ybICgo~Wryp;XfOMr&DKCnmWE3FoK<0qCxY5tytZBD!^*5oa6CyG$)?VlOwef5& zT-Vun>UXX-Azr&`)J_!bM@+k_-7g~hK@aol;1NZS;O0VZ@1;7u<`&o3t!wnI@kg-$ zku1gOxgn<`w3FIfZ#~3!~lunLzah!UUod-u{CV zgYQ554r9eVAs~kjAD+H(fp^HJda)TYxmiby|O zM=M_p!|*v^NL6QmX`C=l0h6dsnYo)cu1wC{l?QhEwS1?Yy52=t>Qs>qfezf(sZrDo zwhOci=tga~K$mH4bE8rs05)131)>nUFbA7cgWNeLY5azjV`Bs{*!(htr3J7vM9e76 zfXo0h5Z8y8DTFCtTD;Vhs7_z~=*gvuYPSscgn%S8?LdM5A{-mjE9(V0q_K4&@e=om-1LUr7)$+w7`^# zOafD=&Zv+675B%r|BF=HED86Qj6hY-h-=UnmsP)Mx??f?(43 z{jcJZ8rRC=Os;z>pU?j=@UPc7?=#%ay}H{(m^cs#oYQIy7af?bv5YI||H{=?FA94w za$J?;z;Qv2gB}MuxfrylTZ?dYQ*DuSgF%d&1gj#61xOX52wh%U^EZ|Myt@=@Rd~d# z%mr42z#WUtErE^3vC){iIvGP`OqDT3Cj{mZaws{4oM~=ZN;Nd+vX6DvvYOVGVcQna z5s@cEq=DKOr383QRflj9gPTDLr)qsE2!glE|Ka=o`+)NjuN)-_Wzf_=#98nfL7Olp zh3CwnD~+F3A<$A0>Y)aKn+TU#h1@(qoEj8`QxY)((TKt*A|t4ds>q0{&I;u5QhCq< zss*q6XnycL`?fSKY`syffb=E}rv|(yilR=Ob){BZR@LW?G5u?(S=Fjt{W#O*pDF)R zRUa3Ttg8MNFrum>s16}ACXh!p5-4G#P)nt-ZGO7+%B|%!vp8hFKG75{E%Z9t1HCAH z@o}F*UvVkdhBN%9P}1(06p+Tm&R{el(68>T1zWtE8nnqkB9U0?ZlZP=l_6jlVOS#> zR_rk7gm~$K7!zs~h2DXV5?(4ywY7zpPfJBvE$#(WEFiw`_W&8)*jcj{6sL(i@xTKQ z488vP>ow_-K@iMjGMN`t_50R%e);Ew@}PGd=W$HW;kf62Epz&G$KchgGs%U`*WdcN zDAn-u(cH34fo%bud-fXX^Zn$&Fo}^_Ys46_W7isQLEp)+cppe#Y})Mu`UU!;#kp=A z-zRD9$!c0gl8Nd{b>0D|vTab$Dr^5+WHoP!me)u5rZ|;w1d$=E4y(uzBEzU1HmURo zs!LwiAsfz2t7&SnsqRCz^Az?4x3JH*1gaT9P5|d>%n6m8e?APu&ry4RCq(2Aae-9l zaOzr^Y^oXpH$`NqO!XN>bp#uYv|oE`@9sc=vSc++$dm`K5^?SHsZSX^`bM@ud8ZD;*}>j@mjfuTN5RzhX^!832`LE zabQT1VG%~00O+u>3^!&nH^UIk`rkSYzFJfxAosC(%go1AHBD{H8UtXheO*L;SwzkN zgQ_|vFr>x8+k->H>jo&DR`q6|A8k5WDz$4EHkx$0L2cBCwfhu~MU!K_D7~P)c4?tU zRr^Gwm&V4ltWY0T^?X@PfSC01o1wv!(I3i>Mcl+Xv_KK(3@kXEo}xRJn;;{Kjz~NQ z5R)3##>U~d&iCA`p-g)yLq!5IFffp^*52=V9vh^bS@(bOT=#^kW`I{~DJ;O%t5+9+ zpI+;KCtsZ0$Kre|=!!*0Ra-Hp%RUqI0LKw$1=3RSIM5?4t&M_|d3~K1Sd!!7hI7ga zEk3u?A8=7{0)mD`ur?2xi|G$5n=11nTqm&vsg7wXJ!-tv*qa~jzZVn0-BYMYKveap zh&;63hZm8i_qMLCeMvf#{Y>eKCAQxX9|r%Y_SlE>O8Oj(E_kw-5g+E zU=opWR3}tqTs&`_D4J+~G&BCj!9De7CsC=2)dM^sE4?1cNHPP=s(bOt@huUVR@F%n zxdGe+X2nJ~Y!QdgjfidbT~`@*e7kiUh(fn6%LE)5nQi-fI_|<^Z=^+f&HNSCEeIS zD!tP9Z>K+4Y;FCPcX5Cd15&@or(v9IEq@ zO3l6bRR4U9W!l3%fb|3<3I@!Iv**f{EAzPd1SembKET4(4b*$7O3ac!li|XC>$f=x;lTzSiHXu zG6^gyEJ-T82rLb`RDN5C!4Blg|u(2k5af>O&7mC%0}k1C1a} zsBOZ<0XLCK8N}Sq`zaHM3W8y(v<9tMg5t@rp!sF6b_A;V%Y>OPdu4y4yg1+#}etRW!QBJe|?pTT7mbel*DVoHLPq6SKDKX!c28nlP1v6hOZ zK>I2kC;3((sz?Ybfv&Sz+{Awv)gjmL8A5d!bVyR^acOQTL<{q3np>h&=b$5qN2JCEU)a{mRCsD&r7y3 ztd4rE?IVLv9IboU;~w^~Q%Hdh6PD5n3j#}u=0N6w31A$T40s%59OI3@^|6zC1h_qX z%OC~vdnn_G1ZvDxv~>0DkDsY&?TJ0?;oXM+5A1q>%g-NnzW@LL07*qoM6N<$g8vrQ A;s5{u literal 0 HcmV?d00001 From aa1988378e3e16f278e1460d3a1feee59cdf1265 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 13:39:47 +0300 Subject: [PATCH 08/28] config --- .gitignore | 1 - app/.storybook/config.js | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 app/.storybook/config.js diff --git a/.gitignore b/.gitignore index 2fe34731..11e6bf53 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ .idea/ .next/ -config.js .env coverage/ diff --git a/app/.storybook/config.js b/app/.storybook/config.js new file mode 100644 index 00000000..a5a2c4eb --- /dev/null +++ b/app/.storybook/config.js @@ -0,0 +1,16 @@ +/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */ + +import { configure, addDecorator } from "@storybook/react"; +import centered from "@storybook/addon-centered"; + +// settings +addDecorator(centered); + +// load +const req = require.context("../components", true, /\.stories\.js$/); + +function loadStories() { + req.keys().forEach(filename => req(filename)); +} + +configure(loadStories, module); From 3a4467a9b86258c98d128af8c517ebfaa091f2fe Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 14:42:01 +0300 Subject: [PATCH 09/28] stylefmt bug --- app/components/Theme.js | 18 +++---- package.json | 5 +- yarn.lock | 109 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 114 insertions(+), 18 deletions(-) diff --git a/app/components/Theme.js b/app/components/Theme.js index 668b0f6b..b1e2d799 100644 --- a/app/components/Theme.js +++ b/app/components/Theme.js @@ -1,29 +1,29 @@ import styled from 'styled-components' export const App = styled.div` - background-color: ${props => props.theme.colors.background}; - color: ${props => props.theme.colors.text}; + background-color: ${({ theme }) => theme.colors.background}; + color: ${({ theme }) => theme.colors.text}; ` -export const A = styled.a`color: ${props => props.theme.colors.main};` +export const A = styled.a`color: ${({ theme }) => theme.colors.main};` export const P = styled.p` - font-size: ${props => props.theme.font.sizes.normal}; - line-height: ${props => props.theme.font.sizes.bigger}; + font-size: ${({ theme }) => theme.font.sizes.normal}; + line-height: ${({ theme }) => theme.font.sizes.bigger}; ` export const Article = styled.article` - margin: ${props => props.theme.alignment.horizontalcenter}; + margin: ${({ theme }) => theme.alignment.horizontalcenter}; max-width: 650px; ` export const Button = styled.button` align-items: center; - background-color: ${props => props.theme.colors.main}; + background-color: ${({ theme }) => theme.colors.main}; border: 0; - color: ${props => props.theme.colors.textAlt}; + color: ${({ theme }) => theme.colors.textAlt}; display: flex; - padding: ${props => props.theme.spacing.smaller}; + padding: ${({ theme }) => theme.spacing.smaller}; &:active { background-color: ${({ theme }) => theme.helper(theme.colors.main).darken(0.2).string()}; diff --git a/package.json b/package.json index cc5f4547..ec938b77 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "start:next": "next start", "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", - "lint:css": "stylelint './**/*.js'", + "lint:css": "stylelint '**/*.js'", "format": "prettier-eslint --write **/*.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", @@ -140,6 +140,9 @@ "release": "1.3.3", "shelljs": "0.7.8", "styled-components-stylefmt": "^0.1.2", + "stylelint": "^8.0.0", + "stylelint-config-standard": "^17.0.0", + "stylelint-processor-styled-components": "^0.2.2", "webpack-bundle-analyzer": "2.9.0" } } diff --git a/yarn.lock b/yarn.lock index 3ddc9401..adcad20a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -585,7 +585,7 @@ autoprefixer@^6.0.0, autoprefixer@^6.3.1: postcss "^5.2.16" postcss-value-parser "^3.2.3" -autoprefixer@^7.1.1: +autoprefixer@^7.1.1, autoprefixer@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.2.tgz#fbeaf07d48fd878e0682bf7cbeeade728adb2b18" dependencies: @@ -2359,7 +2359,7 @@ cosmiconfig@^1.1.0: pinkie-promise "^2.0.0" require-from-string "^1.1.0" -cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1, cosmiconfig@^2.1.3: version "2.2.2" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" dependencies: @@ -6158,7 +6158,7 @@ math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" -mathml-tag-names@^2.0.0: +mathml-tag-names@^2.0.0, mathml-tag-names@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.0.1.tgz#8d41268168bf86d1102b98109e28e531e7a34578" @@ -6192,7 +6192,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0: +meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -7234,6 +7234,12 @@ postcss-less@^0.14.0: dependencies: postcss "^5.0.21" +postcss-less@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-1.1.0.tgz#bdcc76be64c4324d873fbc5cd9fa2e799e4305fa" + dependencies: + postcss "^5.2.16" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -7266,7 +7272,7 @@ postcss-loader@^2.0.5: postcss-load-config "^1.2.0" schema-utils "^0.3.0" -postcss-media-query-parser@^0.2.0: +postcss-media-query-parser@^0.2.0, postcss-media-query-parser@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" @@ -7434,6 +7440,14 @@ postcss-reporter@^3.0.0: log-symbols "^1.0.2" postcss "^5.0.0" +postcss-reporter@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-4.0.0.tgz#13356c365c36783adde88e28e09dbba6ec6c6501" + dependencies: + chalk "^1.0.0" + lodash "^4.1.0" + log-symbols "^1.0.2" + postcss-resolve-nested-selector@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" @@ -7444,7 +7458,13 @@ postcss-scss@^0.4.0: dependencies: postcss "^5.2.13" -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1, postcss-selector-parser@^2.2.2: +postcss-scss@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-1.0.2.tgz#ff45cf3354b879ee89a4eb68680f46ac9bb14f94" + dependencies: + postcss "^6.0.3" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1, postcss-selector-parser@^2.2.2, postcss-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" dependencies: @@ -7505,7 +7525,7 @@ postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0. source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.6: +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.6: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.9.tgz#54819766784a51c65b1ec4d54c2f93765438c35a" dependencies: @@ -8888,7 +8908,7 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -specificity@^0.3.0: +specificity@^0.3.0, specificity@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.3.1.tgz#f1b068424ce317ae07478d95de3c21cf85e8d567" @@ -9205,6 +9225,16 @@ stylehacks@^2.3.2: text-table "^0.2.0" write-file-stdout "0.0.2" +stylelint-config-recommended@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-1.0.0.tgz#752c17fc68fa64cd5e7589e24f6e46e77e14a735" + +stylelint-config-standard@^17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-17.0.0.tgz#42103a090054ee2a3dde9ecaed55e5d4d9d059fc" + dependencies: + stylelint-config-recommended "^1.0.0" + stylelint-order@0.4.x: version "0.4.4" resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-0.4.4.tgz#db7dfca0541b5062010c7e2e21e745791fc088ac" @@ -9222,6 +9252,15 @@ stylelint-processor-styled-components@^0.1.0: typescript "~2.3.2" typescript-eslint-parser "^3.0.0" +stylelint-processor-styled-components@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.2.2.tgz#be6e3a26d2a7e4d2655b2f8d92a743d399bd94ed" + dependencies: + babel-traverse "^6.16.0" + babylon "^6.12.0" + typescript "~2.3.2" + typescript-eslint-parser "^5.0.0" + stylelint@^7.5.0, stylelint@^7.9.0: version "7.13.0" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-7.13.0.tgz#111f97b6da72e775c80800d6bb6f5f869997785d" @@ -9266,6 +9305,47 @@ stylelint@^7.5.0, stylelint@^7.9.0: svg-tags "^1.0.0" table "^4.0.1" +stylelint@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.0.0.tgz#87611211776cb315c93fcf6c58bc261d3c92612e" + dependencies: + autoprefixer "^7.1.2" + balanced-match "^1.0.0" + chalk "^2.0.1" + cosmiconfig "^2.1.3" + debug "^2.6.8" + execall "^1.0.0" + file-entry-cache "^2.0.0" + get-stdin "^5.0.1" + globby "^6.1.0" + globjoin "^0.1.4" + html-tags "^2.0.0" + ignore "^3.3.3" + imurmurhash "^0.1.4" + known-css-properties "^0.2.0" + lodash "^4.17.4" + log-symbols "^1.0.2" + mathml-tag-names "^2.0.1" + meow "^3.7.0" + micromatch "^2.3.11" + normalize-selector "^0.2.0" + pify "^3.0.0" + postcss "^6.0.6" + postcss-less "^1.1.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^4.0.0" + postcss-resolve-nested-selector "^0.1.1" + postcss-scss "^1.0.2" + postcss-selector-parser "^2.2.3" + postcss-value-parser "^3.3.0" + resolve-from "^3.0.0" + specificity "^0.3.1" + string-width "^2.1.0" + style-search "^0.1.0" + sugarss "^1.0.0" + svg-tags "^1.0.0" + table "^4.0.1" + stylis@3.2.8, stylis@^3.2.1: version "3.2.8" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.8.tgz#9b23a3e06597f7944a3d9ae880d5796248b8784f" @@ -9291,6 +9371,12 @@ sugarss@^0.2.0: dependencies: postcss "^5.2.4" +sugarss@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.0.tgz#65e51b3958432fb70d5451a68bb33e32d0cf1ef7" + dependencies: + postcss "^6.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -9611,6 +9697,13 @@ typescript-eslint-parser@^3.0.0: lodash.unescape "4.0.1" semver "5.3.0" +typescript-eslint-parser@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-5.0.1.tgz#0a11b7c944dc56d4bd3826dcbd3d52a885098f3e" + dependencies: + lodash.unescape "4.0.1" + semver "5.3.0" + typescript@~2.3.2: version "2.3.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.4.tgz#3d38321828231e434f287514959c37a82b629f42" From 329a642de973b58d9b0b10ea1bd6e14d66e6979c Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 15:55:05 +0300 Subject: [PATCH 10/28] styleling works --- .stylelintrc | 6 +++++- app/components/Theme.js | 4 +++- app/containers/CreatePost/styles.js | 1 + app/containers/Layout/App.js | 1 + package.json | 1 + 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.stylelintrc b/.stylelintrc index 4daff24d..7e42cf30 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -1,5 +1,9 @@ { "processors": ["stylelint-processor-styled-components"], "extends": "stylelint-config-standard", - "syntax": "scss" + "syntax": "scss", + "rules": { + "block-opening-brace-space-after": "never-single-line", + "block-closing-brace-space-before": "never-single-line" + } } diff --git a/app/components/Theme.js b/app/components/Theme.js index b1e2d799..49a66d16 100644 --- a/app/components/Theme.js +++ b/app/components/Theme.js @@ -24,11 +24,13 @@ export const Button = styled.button` color: ${({ theme }) => theme.colors.textAlt}; display: flex; padding: ${({ theme }) => theme.spacing.smaller}; + &:active { background-color: ${({ theme }) => theme.helper(theme.colors.main).darken(0.2).string()}; - transition: background-color .3s; + transition: background-color 0.3s; } + &:focus { outline: none; } diff --git a/app/containers/CreatePost/styles.js b/app/containers/CreatePost/styles.js index 31c4f329..f116f567 100644 --- a/app/containers/CreatePost/styles.js +++ b/app/containers/CreatePost/styles.js @@ -10,6 +10,7 @@ export const Form = styled.form` > h1 { font-size: 20px; } + > input { display: block; margin-bottom: 10px; diff --git a/app/containers/Layout/App.js b/app/containers/Layout/App.js index c50958d8..b274fc75 100644 --- a/app/containers/Layout/App.js +++ b/app/containers/Layout/App.js @@ -29,6 +29,7 @@ injectGlobal` * { font-family: Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; } + body { margin: 0; padding: 20px 40px; diff --git a/package.json b/package.json index ec938b77..a103ed80 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "*.js": [ "prettier --write", "eslint --fix", + "stylelint", "git add", "yarn run test -- --bail --findRelatedTests" ] From c449f520410fd265693809aae4d9a675acae0406 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 15:59:03 +0300 Subject: [PATCH 11/28] travis --- .travis.yml | 3 ++- package.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9f057c95..cd19a37d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,8 @@ after_script: greenkeeper-lockfile-upload script: - yarn run build - - yarn run lint + - yarn run lint:all + - yarn run test notifications: email: diff --git a/package.json b/package.json index a103ed80..8effab23 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", "lint:css": "stylelint '**/*.js'", + "lint:all": "yarn run lint && yarn run lint:css", "format": "prettier-eslint --write **/*.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", From 1bf7ca1f6835b42e585761839a1fd1de4e00ea77 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 16:22:03 +0300 Subject: [PATCH 12/28] feature/index structure --- app/containers/CreatePost/data.js | 24 ----- app/containers/CreatePost/feature.js | 46 +++++++++ app/containers/CreatePost/index.js | 70 +++++-------- app/containers/Header/data.js | 14 --- app/containers/Header/feature.js | 26 +++++ app/containers/Header/index.js | 36 +++---- app/containers/PostInfo/data.js | 17 ---- app/containers/PostInfo/feature.js | 57 +++++++++++ app/containers/PostInfo/index.js | 72 +++----------- app/containers/PostList/data.js | 33 ------- app/containers/PostList/feature.js | 54 ++++++++++ app/containers/PostList/index.js | 83 ++++++---------- app/containers/PostUpvoter/data.js | 21 ---- app/containers/PostUpvoter/feature.js | 20 ++++ app/containers/PostUpvoter/index.js | 39 ++++---- app/containers/SignInForm/data.js | 28 ------ app/containers/SignInForm/feature.js | 111 +++++++++++++++++++++ app/containers/SignInForm/index.js | 131 +++++------------------- app/containers/SignUpForm/data.js | 28 ------ app/containers/SignUpForm/feature.js | 117 ++++++++++++++++++++++ app/containers/SignUpForm/index.js | 137 +++++--------------------- 21 files changed, 577 insertions(+), 587 deletions(-) delete mode 100644 app/containers/CreatePost/data.js create mode 100644 app/containers/CreatePost/feature.js delete mode 100644 app/containers/Header/data.js create mode 100644 app/containers/Header/feature.js delete mode 100644 app/containers/PostInfo/data.js create mode 100644 app/containers/PostInfo/feature.js delete mode 100644 app/containers/PostList/data.js create mode 100644 app/containers/PostList/feature.js delete mode 100644 app/containers/PostUpvoter/data.js create mode 100644 app/containers/PostUpvoter/feature.js delete mode 100644 app/containers/SignInForm/data.js create mode 100644 app/containers/SignInForm/feature.js delete mode 100644 app/containers/SignUpForm/data.js create mode 100644 app/containers/SignUpForm/feature.js diff --git a/app/containers/CreatePost/data.js b/app/containers/CreatePost/data.js deleted file mode 100644 index 6d4bce24..00000000 --- a/app/containers/CreatePost/data.js +++ /dev/null @@ -1,24 +0,0 @@ -import { graphql } from 'react-apollo' -import createPostGql from './createPost.gql' - -export const withMutation = graphql(createPostGql, { - props: ({ mutate }) => ({ - mutations: { - createPost: (title, url) => - mutate({ - variables: { title, url }, - updateQueries: { - allPosts: (previousResult, { mutationResult }) => { - const newPost = mutationResult.data.createPost - return Object.assign({}, previousResult, { - // Append the new post - allPosts: [newPost, ...previousResult.allPosts] - }) - } - } - }) - } - }) -}) - -export default comp => withMutation(comp) diff --git a/app/containers/CreatePost/feature.js b/app/containers/CreatePost/feature.js new file mode 100644 index 00000000..034a7ac8 --- /dev/null +++ b/app/containers/CreatePost/feature.js @@ -0,0 +1,46 @@ +import React from 'react' +import PropTypes from 'prop-types' +import { Router } from '~/routes' +import * as S from './styles' + +export default class CreateForm extends React.Component { + static propTypes = { + mutations: PropTypes.shape({ + createPost: PropTypes.func.isRequired + }).isRequired + }; + + handleSubmit = e => { + e.preventDefault() + + const title = e.target.elements.title.value + let url = e.target.elements.url.value + + if (title === '' || url === '') { + // eslint-disable-next-line no-alert + window.alert('Both fields are required.') + return false + } + + // prepend http if missing from url + if (!url.match(/^[a-zA-Z]+:\/\//)) { + url = `http://${url}` + } + + this.props.mutations.createPost(title, url) + + // reset form + e.target.elements.title.value = '' + e.target.elements.url.value = '' + + Router.pushRoute('/') + }; + + render = () => + +

Add new post

+ + + Submit +
; +} diff --git a/app/containers/CreatePost/index.js b/app/containers/CreatePost/index.js index 8ef4dbaf..bd02a921 100644 --- a/app/containers/CreatePost/index.js +++ b/app/containers/CreatePost/index.js @@ -1,49 +1,25 @@ -import React from 'react' -import PropTypes from 'prop-types' -import { Router } from '~/routes' -import * as S from './styles' -import connect from './data' - -class CreateForm extends React.Component { - static propTypes = { - mutations: PropTypes.shape({ - createPost: PropTypes.func.isRequired - }).isRequired - }; - - handleSubmit = e => { - e.preventDefault() - - const title = e.target.elements.title.value - let url = e.target.elements.url.value - - if (title === '' || url === '') { - // eslint-disable-next-line no-alert - window.alert('Both fields are required.') - return false - } - - // prepend http if missing from url - if (!url.match(/^[a-zA-Z]+:\/\//)) { - url = `http://${url}` +import { graphql } from 'react-apollo' +import createPostGql from './createPost.gql' +import Feature from './feature' + +export const withMutation = graphql(createPostGql, { + props: ({ mutate }) => ({ + mutations: { + createPost: (title, url) => + mutate({ + variables: { title, url }, + updateQueries: { + allPosts: (previousResult, { mutationResult }) => { + const newPost = mutationResult.data.createPost + return Object.assign({}, previousResult, { + // Append the new post + allPosts: [newPost, ...previousResult.allPosts] + }) + } + } + }) } + }) +}) - this.props.mutations.createPost(title, url) - - // reset form - e.target.elements.title.value = '' - e.target.elements.url.value = '' - - Router.pushRoute('/') - }; - - render = () => - -

Add new post

- - - Submit -
; -} - -export default connect(CreateForm) +export default withMutation(Feature) diff --git a/app/containers/Header/data.js b/app/containers/Header/data.js deleted file mode 100644 index 2935fffc..00000000 --- a/app/containers/Header/data.js +++ /dev/null @@ -1,14 +0,0 @@ -import { connect } from 'react-redux' -import { dispatchers } from '~/stores/auth' - -const mapStateToProps = state => ({ - authenticated: state.auth.authenticated -}) - -const mapDispatchToProps = dispatch => ({ - actions: { - logout: () => dispatch(dispatchers.signOut()) - } -}) - -export default comp => connect(mapStateToProps, mapDispatchToProps)(comp) diff --git a/app/containers/Header/feature.js b/app/containers/Header/feature.js new file mode 100644 index 00000000..83068be7 --- /dev/null +++ b/app/containers/Header/feature.js @@ -0,0 +1,26 @@ +import PropTypes from 'prop-types' +import LinkList from '~/components/LinkList' +import * as S from './styles' + +const Header = ({ pathname, authenticated, actions: { logout } }) => + + + + +Header.defaultProps = { + authenticated: false +} + +Header.propTypes = { + pathname: PropTypes.string.isRequired, + authenticated: PropTypes.bool, + actions: PropTypes.shape({ + logout: PropTypes.func.isRequired + }).isRequired +} + +export default Header diff --git a/app/containers/Header/index.js b/app/containers/Header/index.js index 34621a7c..0f3b5f0e 100644 --- a/app/containers/Header/index.js +++ b/app/containers/Header/index.js @@ -1,27 +1,15 @@ -import PropTypes from 'prop-types' -import LinkList from '~/components/LinkList' -import * as S from './styles' -import connect from './data' +import { connect } from 'react-redux' +import { dispatchers } from '~/stores/auth' +import Feature from './feature' -const Header = ({ pathname, authenticated, actions: { logout } }) => - - - +const mapStateToProps = state => ({ + authenticated: state.auth.authenticated +}) -Header.defaultProps = { - authenticated: false -} +const mapDispatchToProps = dispatch => ({ + actions: { + logout: () => dispatch(dispatchers.signOut()) + } +}) -Header.propTypes = { - pathname: PropTypes.string.isRequired, - authenticated: PropTypes.bool, - actions: PropTypes.shape({ - logout: PropTypes.func.isRequired - }).isRequired -} - -export default connect(Header) +export default connect(mapStateToProps, mapDispatchToProps)(Feature) diff --git a/app/containers/PostInfo/data.js b/app/containers/PostInfo/data.js deleted file mode 100644 index e11d997e..00000000 --- a/app/containers/PostInfo/data.js +++ /dev/null @@ -1,17 +0,0 @@ -import { graphql } from 'react-apollo' -import getPostGql from './getPost.gql' - -const withData = graphql(getPostGql, { - options: ({ postId }) => ({ - variables: { - postId - } - }), - props: ({ data: { loading, Post, error } }) => ({ - loading, - Post, - error - }) -}) - -export default comp => withData(comp) diff --git a/app/containers/PostInfo/feature.js b/app/containers/PostInfo/feature.js new file mode 100644 index 00000000..73216eb3 --- /dev/null +++ b/app/containers/PostInfo/feature.js @@ -0,0 +1,57 @@ +import moment from 'moment' +import PropTypes from 'prop-types' +import * as S from './styles' + +const PostInfo = ({ loading, Post, error }) => { + if (loading) { + return ( + +

Loading...

+
+ ) + } + + if (error) { + console.log(error) // eslint-disable-line no-console + window.alert('Load error, check console') // eslint-disable-line no-alert + return + } + + return ( + +

+ {Post.title} +

+
+ + ID: {Post.id} + +  |  + + Created At: {' '} + {moment(Post.createdAt).format('DD.MM.YYYY kk:mm')} + +
+

+ + {Post.url} + +

+
+ ) +} + +PostInfo.propTypes = { + loading: PropTypes.bool.isRequired, + Post: PropTypes.object, + error: PropTypes.object, + postId: PropTypes.string.isRequired, + postTitle: PropTypes.string.isRequired +} + +PostInfo.defaultProps = { + Post: null, + error: null +} + +export default PostInfo diff --git a/app/containers/PostInfo/index.js b/app/containers/PostInfo/index.js index 6c475025..7acd5a8c 100644 --- a/app/containers/PostInfo/index.js +++ b/app/containers/PostInfo/index.js @@ -1,58 +1,18 @@ -import moment from 'moment' -import PropTypes from 'prop-types' -import * as S from './styles' -import connect from './data' +import { graphql } from 'react-apollo' +import getPostGql from './getPost.gql' +import Feature from './feature' -const PostInfo = ({ loading, Post, error }) => { - if (loading) { - return ( - -

Loading...

-
- ) - } +const withData = graphql(getPostGql, { + options: ({ postId }) => ({ + variables: { + postId + } + }), + props: ({ data: { loading, Post, error } }) => ({ + loading, + Post, + error + }) +}) - if (error) { - console.log(error) // eslint-disable-line no-console - window.alert('Load error, check console') // eslint-disable-line no-alert - return - } - - return ( - -

- {Post.title} -

-
- - ID: {Post.id} - -  |  - - Created At: {' '} - {moment(Post.createdAt).format('DD.MM.YYYY kk:mm')} - -
-

- - {Post.url} - -

-
- ) -} - -PostInfo.propTypes = { - loading: PropTypes.bool.isRequired, - Post: PropTypes.object, - error: PropTypes.object, - postId: PropTypes.string.isRequired, - postTitle: PropTypes.string.isRequired -} - -PostInfo.defaultProps = { - Post: null, - error: null -} - -export default connect(PostInfo) +export default withData(Feature) diff --git a/app/containers/PostList/data.js b/app/containers/PostList/data.js deleted file mode 100644 index f8a94656..00000000 --- a/app/containers/PostList/data.js +++ /dev/null @@ -1,33 +0,0 @@ -import { graphql } from 'react-apollo' -import allPostsGql from './allPosts.gql' - -const POSTS_PER_PAGE = 10 - -const withData = graphql(allPostsGql, { - options: () => ({ - variables: { - skip: 0, - first: POSTS_PER_PAGE - } - }), - props: ({ data }) => ({ - data, - loadMorePosts: () => - data.fetchMore({ - variables: { - skip: data.allPosts.length - }, - updateQuery: (previousResult, { fetchMoreResult }) => { - if (!fetchMoreResult) { - return previousResult - } - return Object.assign({}, previousResult, { - // Append the new posts results to the old one - allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] - }) - } - }) - }) -}) - -export default comp => withData(comp) diff --git a/app/containers/PostList/feature.js b/app/containers/PostList/feature.js new file mode 100644 index 00000000..fbca8231 --- /dev/null +++ b/app/containers/PostList/feature.js @@ -0,0 +1,54 @@ +import PropTypes from 'prop-types' +import { Link } from '~/routes' +import PostUpvoter from '~/containers/PostUpvoter' +import * as S from './styles' + +const PostList = ({ + data: { allPosts, loading, _allPostsMeta }, + loadMorePosts +}) => { + if (allPosts && allPosts.length) { + const areMorePosts = allPosts.length < _allPostsMeta.count + return ( + + + {allPosts.map((post, index) => + +
+ + {index + 1}.{' '} + + + + {post.title} + + + +
+
+ )} +
+ {areMorePosts + ? loadMorePosts()}> + {loading ? 'Loading...' : 'Show More'} + + : ''} +
+ ) + } + return Loading +} + +PostList.propTypes = { + data: PropTypes.object.isRequired, + loadMorePosts: PropTypes.func.isRequired +} + +export default PostList diff --git a/app/containers/PostList/index.js b/app/containers/PostList/index.js index ccf1bad9..bf7fed43 100644 --- a/app/containers/PostList/index.js +++ b/app/containers/PostList/index.js @@ -1,55 +1,34 @@ -import PropTypes from 'prop-types' -import { Link } from '~/routes' -import PostUpvoter from '~/containers/PostUpvoter' -import * as S from './styles' -import connect from './data' +import { graphql } from 'react-apollo' +import allPostsGql from './allPosts.gql' +import Feature from './feature' -const PostList = ({ - data: { allPosts, loading, _allPostsMeta }, - loadMorePosts -}) => { - if (allPosts && allPosts.length) { - const areMorePosts = allPosts.length < _allPostsMeta.count - return ( - - - {allPosts.map((post, index) => - -
- - {index + 1}.{' '} - - - - {post.title} - - - -
-
- )} -
- {areMorePosts - ? loadMorePosts()}> - {loading ? 'Loading...' : 'Show More'} - - : ''} -
- ) - } - return Loading -} +const POSTS_PER_PAGE = 10 -PostList.propTypes = { - data: PropTypes.object.isRequired, - loadMorePosts: PropTypes.func.isRequired -} +const withData = graphql(allPostsGql, { + options: () => ({ + variables: { + skip: 0, + first: POSTS_PER_PAGE + } + }), + props: ({ data }) => ({ + data, + loadMorePosts: () => + data.fetchMore({ + variables: { + skip: data.allPosts.length + }, + updateQuery: (previousResult, { fetchMoreResult }) => { + if (!fetchMoreResult) { + return previousResult + } + return Object.assign({}, previousResult, { + // Append the new posts results to the old one + allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] + }) + } + }) + }) +}) -export default connect(PostList) +export default withData(Feature) diff --git a/app/containers/PostUpvoter/data.js b/app/containers/PostUpvoter/data.js deleted file mode 100644 index 7c00a8eb..00000000 --- a/app/containers/PostUpvoter/data.js +++ /dev/null @@ -1,21 +0,0 @@ -import { graphql } from 'react-apollo' -import upvotePostGql from './upvotePost.gql' - -const withMutation = graphql(upvotePostGql, { - props: ({ ownProps, mutate }) => ({ - upvote: (id, votes) => - mutate({ - variables: { id, votes }, - optimisticResponse: { - __typename: 'Mutation', - updatePost: { - __typename: 'Post', - id: ownProps.id, - votes: ownProps.votes + 1 - } - } - }) - }) -}) - -export default comp => withMutation(comp) diff --git a/app/containers/PostUpvoter/feature.js b/app/containers/PostUpvoter/feature.js new file mode 100644 index 00000000..954c8939 --- /dev/null +++ b/app/containers/PostUpvoter/feature.js @@ -0,0 +1,20 @@ +import React from 'react' +import PropTypes from 'prop-types' +import { UpvoteButton } from './styles' + +const PostUpvoter = ({ upvote, votes, id }) => + upvote(id, votes + 1)}> + {votes} + + +PostUpvoter.propTypes = { + upvote: PropTypes.func.isRequired, + votes: PropTypes.number, + id: PropTypes.string.isRequired +} + +PostUpvoter.defaultProps = { + votes: [] +} + +export default PostUpvoter diff --git a/app/containers/PostUpvoter/index.js b/app/containers/PostUpvoter/index.js index 65cb3b2c..1c0eb955 100644 --- a/app/containers/PostUpvoter/index.js +++ b/app/containers/PostUpvoter/index.js @@ -1,21 +1,22 @@ -import React from 'react' -import PropTypes from 'prop-types' -import connect from './data' -import { UpvoteButton } from './styles' +import { graphql } from 'react-apollo' +import upvotePostGql from './upvotePost.gql' +import Feature from './feature' -const PostUpvoter = ({ upvote, votes, id }) => - upvote(id, votes + 1)}> - {votes} - +const withMutation = graphql(upvotePostGql, { + props: ({ ownProps, mutate }) => ({ + upvote: (id, votes) => + mutate({ + variables: { id, votes }, + optimisticResponse: { + __typename: 'Mutation', + updatePost: { + __typename: 'Post', + id: ownProps.id, + votes: ownProps.votes + 1 + } + } + }) + }) +}) -PostUpvoter.propTypes = { - upvote: PropTypes.func.isRequired, - votes: PropTypes.number, - id: PropTypes.string.isRequired -} - -PostUpvoter.defaultProps = { - votes: [] -} - -export default connect(PostUpvoter) +export default withMutation(Feature) diff --git a/app/containers/SignInForm/data.js b/app/containers/SignInForm/data.js deleted file mode 100644 index 01a77e23..00000000 --- a/app/containers/SignInForm/data.js +++ /dev/null @@ -1,28 +0,0 @@ -import { connect } from 'react-redux' -import { graphql } from 'react-apollo' -import { dispatchers } from '~/stores/auth' -import signInGql from './signinUser.gql' - -const withMutation = graphql(signInGql, { - props: ({ mutate }) => ({ - mutations: { - signIn: ({ email, password }) => - mutate({ - variables: { email, password } - }) - } - }) -}) - -const mapDispatchToProps = dispatch => ({ - actions: { - signIn(token) { - dispatch(dispatchers.signIn(token)) - } - } -}) - -export default comp => { - const compWithApollo = withMutation(comp) - return connect(null, mapDispatchToProps)(compWithApollo) -} diff --git a/app/containers/SignInForm/feature.js b/app/containers/SignInForm/feature.js new file mode 100644 index 00000000..fe03703b --- /dev/null +++ b/app/containers/SignInForm/feature.js @@ -0,0 +1,111 @@ +import React from 'react' +import PropTypes from 'prop-types' +import AuthFields from '~/components/AuthFields' +import validate from '~/components/AuthFields/validation' + +export default class SignInForm extends React.Component { + static propTypes = { + mutations: PropTypes.shape({ + signIn: PropTypes.func.isRequired + }).isRequired, + actions: PropTypes.shape({ + signIn: PropTypes.func.isRequired + }).isRequired + }; + + state = { + errors: {}, + serverErrors: {}, + touched: false + }; + + getServerErrors(err) { + if (err.graphQLErrors) { + const obj = {} + obj.message = err.graphQLErrors[0].message + this.setState({ + serverErrors: obj + }) + } + } + + formFields = [ + { key: 1, attr: { name: 'email', type: 'email', label: 'Email' } }, + { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } } + ]; + + handleTouch = () => { + this.setState({ touched: true }) + }; + + handleChange = e => { + const fieldValue = e.target.value + const fieldName = e.target.name + const obj = {} + obj[fieldName] = fieldValue + this.setState(obj) + }; + + handleSubmit(e, valuesPack) { + e.preventDefault() + + // reset state + this.setState({ + errors: {}, + serverErrors: {} + }) + + const handleValidate = validate(valuesPack) + + if (handleValidate.touched) { + this.setState({ touched: handleValidate.touched }) + } + if (handleValidate.errors) { + return this.setState({ errors: handleValidate.errors }) + } + + this.props.mutations + .signIn(valuesPack) + .then(response => { + if (response.data) { + this.props.actions.signIn(response.data.signinUser.token) + } + }) + .catch(err => { + this.getServerErrors(err) + }) + } + + render() { + const fields = this.formFields + // Packing all the necessary auth field states + const valuesPack = {} + + fields.map(x => { + const y = x.attr.name + valuesPack[y] = this.state[y] + return valuesPack + }) + + return ( +
+ { + this.handleSubmit(e, valuesPack) + }} + handleChange={this.handleChange} + fields={fields} + errors={this.state.errors} + touched={this.state.touched} + handleTouch={this.handleTouch} + selectFields="signinFields" + /> +
+
+ {Object.keys(this.state.errors).length === 0 && + this.state.serverErrors.message} +
+
+ ) + } +} diff --git a/app/containers/SignInForm/index.js b/app/containers/SignInForm/index.js index 552f3dab..a8a37cb2 100644 --- a/app/containers/SignInForm/index.js +++ b/app/containers/SignInForm/index.js @@ -1,114 +1,27 @@ -import React from 'react' -import PropTypes from 'prop-types' -import AuthFields from '~/components/AuthFields' -import validate from '~/components/AuthFields/validation' -import connect from './data' - -class SignInForm extends React.Component { - static propTypes = { - mutations: PropTypes.shape({ - signIn: PropTypes.func.isRequired - }).isRequired, - actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired - }).isRequired - }; - - state = { - errors: {}, - serverErrors: {}, - touched: false - }; - - getServerErrors(err) { - if (err.graphQLErrors) { - const obj = {} - obj.message = err.graphQLErrors[0].message - this.setState({ - serverErrors: obj - }) +import { connect } from 'react-redux' +import { graphql } from 'react-apollo' +import { dispatchers } from '~/stores/auth' +import signInGql from './signinUser.gql' +import Feature from './feature' + +const withMutation = graphql(signInGql, { + props: ({ mutate }) => ({ + mutations: { + signIn: ({ email, password }) => + mutate({ + variables: { email, password } + }) } - } - - formFields = [ - { key: 1, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } } - ]; - - handleTouch = () => { - this.setState({ touched: true }) - }; - - handleChange = e => { - const fieldValue = e.target.value - const fieldName = e.target.name - const obj = {} - obj[fieldName] = fieldValue - this.setState(obj) - }; - - handleSubmit(e, valuesPack) { - e.preventDefault() + }) +}) - // reset state - this.setState({ - errors: {}, - serverErrors: {} - }) - - const handleValidate = validate(valuesPack) - - if (handleValidate.touched) { - this.setState({ touched: handleValidate.touched }) +const mapDispatchToProps = dispatch => ({ + actions: { + signIn(token) { + dispatch(dispatchers.signIn(token)) } - if (handleValidate.errors) { - return this.setState({ errors: handleValidate.errors }) - } - - this.props.mutations - .signIn(valuesPack) - .then(response => { - if (response.data) { - this.props.actions.signIn(response.data.signinUser.token) - } - }) - .catch(err => { - this.getServerErrors(err) - }) - } - - render() { - const fields = this.formFields - // Packing all the necessary auth field states - const valuesPack = {} - - fields.map(x => { - const y = x.attr.name - valuesPack[y] = this.state[y] - return valuesPack - }) - - return ( -
- { - this.handleSubmit(e, valuesPack) - }} - handleChange={this.handleChange} - fields={fields} - errors={this.state.errors} - touched={this.state.touched} - handleTouch={this.handleTouch} - selectFields="signinFields" - /> -
-
- {Object.keys(this.state.errors).length === 0 && - this.state.serverErrors.message} -
-
- ) } -} +}) -export default connect(SignInForm) +const featureWithApollo = withMutation(Feature) +export default connect(null, mapDispatchToProps)(featureWithApollo) diff --git a/app/containers/SignUpForm/data.js b/app/containers/SignUpForm/data.js deleted file mode 100644 index c757b6a8..00000000 --- a/app/containers/SignUpForm/data.js +++ /dev/null @@ -1,28 +0,0 @@ -import { graphql } from 'react-apollo' -import { connect } from 'react-redux' -import { dispatchers } from '~/stores/auth' -import createUserGql from './signupUser.gql' - -const withMutation = graphql(createUserGql, { - props: ({ mutate }) => ({ - mutations: { - signUp: ({ firstName, lastName, email, password }) => - mutate({ - variables: { firstName, lastName, email, password } - }) - } - }) -}) - -const mapDispatchToProps = dispatch => ({ - actions: { - signIn(token) { - dispatch(dispatchers.signIn(token)) - } - } -}) - -export default comp => { - const compWithApollo = withMutation(comp) - return connect(null, mapDispatchToProps)(compWithApollo) -} diff --git a/app/containers/SignUpForm/feature.js b/app/containers/SignUpForm/feature.js new file mode 100644 index 00000000..6fc148e3 --- /dev/null +++ b/app/containers/SignUpForm/feature.js @@ -0,0 +1,117 @@ +import React from 'react' +import PropTypes from 'prop-types' +import AuthFields from '~/components/AuthFields' +import validate from '~/components/AuthFields/validation' + +export default class SignUpForm extends React.Component { + static propTypes = { + mutations: PropTypes.shape({ + signUp: PropTypes.func.isRequired + }).isRequired, + actions: PropTypes.shape({ + signIn: PropTypes.func.isRequired + }).isRequired + }; + + state = { + errors: {}, + serverErrors: {}, + touched: false + }; + + getServerErrors(err) { + if (err.graphQLErrors) { + const obj = {} + obj.message = err.graphQLErrors[0].message + this.setState({ + serverErrors: obj + }) + } + } + + formFields = [ + { key: 1, attr: { name: 'firstName', type: 'text', label: 'First Name' } }, + { key: 2, attr: { name: 'lastName', type: 'text', label: 'Last Name' } }, + { key: 3, attr: { name: 'email', type: 'email', label: 'Email' } }, + { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } } + ]; + + handleTouch = () => { + this.setState({ touched: true }) + }; + + handleChange = e => { + const fieldValue = e.target.value + const fieldName = e.target.name + const obj = {} + obj[fieldName] = fieldValue + this.setState(obj) + }; + + handleSubmit(e, valuesPack) { + e.preventDefault() + + // reset state + this.setState({ + errors: {}, + serverErrors: {} + }) + + const handleValidate = validate(valuesPack) + + if (handleValidate.touched) { + this.setState({ touched: handleValidate.touched }) + } + if (handleValidate.errors) { + return this.setState({ errors: handleValidate.errors }) + } + + this.props.mutations + .signUp(valuesPack) + .then(response => { + if (response.data.signinUser) { + this.props.actions.signIn(response.data.signinUser.token) + } else { + this.setState({ + errors: response.data.createUser.errors + }) + } + }) + .catch(err => { + this.getServerErrors(err) + }) + } + + render() { + const fields = this.formFields + // Packing all the necessary auth field states + const valuesPack = {} + + fields.map(x => { + const y = x.attr.name + valuesPack[y] = this.state[y] + return valuesPack + }) + + return ( +
+ { + this.handleSubmit(e, valuesPack) + }} + handleChange={this.handleChange} + fields={fields} + selectFields="signUpFields" + errors={this.state.errors} + touched={this.state.touched} + handleTouch={this.handleTouch} + /> +
+
+ {Object.keys(this.state.errors).length === 0 && + this.state.serverErrors.message} +
+
+ ) + } +} diff --git a/app/containers/SignUpForm/index.js b/app/containers/SignUpForm/index.js index 92fd4989..6e56f20c 100644 --- a/app/containers/SignUpForm/index.js +++ b/app/containers/SignUpForm/index.js @@ -1,120 +1,27 @@ -import React from 'react' -import PropTypes from 'prop-types' -import AuthFields from '~/components/AuthFields' -import validate from '~/components/AuthFields/validation' -import connect from './data' - -class SignUpForm extends React.Component { - static propTypes = { - mutations: PropTypes.shape({ - signUp: PropTypes.func.isRequired - }).isRequired, - actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired - }).isRequired - }; - - state = { - errors: {}, - serverErrors: {}, - touched: false - }; - - getServerErrors(err) { - if (err.graphQLErrors) { - const obj = {} - obj.message = err.graphQLErrors[0].message - this.setState({ - serverErrors: obj - }) +import { graphql } from 'react-apollo' +import { connect } from 'react-redux' +import { dispatchers } from '~/stores/auth' +import createUserGql from './signupUser.gql' +import Feature from './feature' + +const withMutation = graphql(createUserGql, { + props: ({ mutate }) => ({ + mutations: { + signUp: ({ firstName, lastName, email, password }) => + mutate({ + variables: { firstName, lastName, email, password } + }) } - } - - formFields = [ - { key: 1, attr: { name: 'firstName', type: 'text', label: 'First Name' } }, - { key: 2, attr: { name: 'lastName', type: 'text', label: 'Last Name' } }, - { key: 3, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } } - ]; - - handleTouch = () => { - this.setState({ touched: true }) - }; - - handleChange = e => { - const fieldValue = e.target.value - const fieldName = e.target.name - const obj = {} - obj[fieldName] = fieldValue - this.setState(obj) - }; - - handleSubmit(e, valuesPack) { - e.preventDefault() + }) +}) - // reset state - this.setState({ - errors: {}, - serverErrors: {} - }) - - const handleValidate = validate(valuesPack) - - if (handleValidate.touched) { - this.setState({ touched: handleValidate.touched }) +const mapDispatchToProps = dispatch => ({ + actions: { + signIn(token) { + dispatch(dispatchers.signIn(token)) } - if (handleValidate.errors) { - return this.setState({ errors: handleValidate.errors }) - } - - this.props.mutations - .signUp(valuesPack) - .then(response => { - if (response.data.signinUser) { - this.props.actions.signIn(response.data.signinUser.token) - } else { - this.setState({ - errors: response.data.createUser.errors - }) - } - }) - .catch(err => { - this.getServerErrors(err) - }) - } - - render() { - const fields = this.formFields - // Packing all the necessary auth field states - const valuesPack = {} - - fields.map(x => { - const y = x.attr.name - valuesPack[y] = this.state[y] - return valuesPack - }) - - return ( -
- { - this.handleSubmit(e, valuesPack) - }} - handleChange={this.handleChange} - fields={fields} - selectFields="signUpFields" - errors={this.state.errors} - touched={this.state.touched} - handleTouch={this.handleTouch} - /> -
-
- {Object.keys(this.state.errors).length === 0 && - this.state.serverErrors.message} -
-
- ) } -} +}) -export default connect(SignUpForm) +const featureWithApollo = withMutation(Feature) +export default connect(null, mapDispatchToProps)(featureWithApollo) From 30be66dd46bd8da4e4190b9616a2beb0358148d7 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 13 Aug 2017 22:41:33 +0300 Subject: [PATCH 13/28] logo, tests, soon will merge storybook and jest with storybook-addon-specifications --- .../__snapshots__/storyshots.test.js.snap | 122 ++++++++++++++++-- app/.storybook/config.js | 3 + app/.storybook/storyshots.test.js | 4 + app/__mocks__/next-router.js | 11 ++ .../__tests__/utils.js => __utils__/index.js} | 0 .../{index.mock.js => props.mock.js} | 0 .../__tests__/__mocks__/router.mock.js | 20 --- .../LinkList/__tests__/index.stories.js | 3 +- .../LinkList/__tests__/index.test.js | 9 +- app/components/LinkList/index.js | 2 +- .../Logo/__tests__/index.stories.js | 7 + app/components/Logo/__tests__/index.test.js | 13 ++ app/components/Logo/index.js | 14 ++ app/containers/Header/feature.js | 2 + jest.config.js | 3 + package.json | 3 +- {app/static => static}/logo.png | Bin yarn.lock | 46 +++++++ 18 files changed, 226 insertions(+), 36 deletions(-) create mode 100644 app/__mocks__/next-router.js rename app/{components/LinkList/__tests__/utils.js => __utils__/index.js} (100%) rename app/components/LinkList/__tests__/__mocks__/{index.mock.js => props.mock.js} (100%) delete mode 100644 app/components/LinkList/__tests__/__mocks__/router.mock.js create mode 100644 app/components/Logo/__tests__/index.stories.js create mode 100644 app/components/Logo/__tests__/index.test.js create mode 100644 app/components/Logo/index.js rename {app/static => static}/logo.png (100%) diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 9161a800..2da9c784 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -1,6 +1,53 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Storyshots LinkList authenticated 1`] = ` +.c0 { + color: #22BAD9; + font-size: 14px; + margin-right: 15px; + text-decoration: none; + cursor: pointer; + text-decoration: underline; +} + +.c1 { + color: #22BAD9; + font-size: 14px; + margin-right: 15px; + text-decoration: none; + cursor: pointer; + text-decoration: none; +} + +.c2 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: #22BAD9; + border: 0; + color: #ffffff; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 5px; + display: inline-block; + margin-right: 15px; + cursor: pointer; + text-decoration: none; +} + +.c2:active { + background-color: hsl(190.20000000000005,72.9%,39.4%); + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; +} + +.c2:focus { + outline: none; +} + `; + +exports[`Storyshots Logo default 1`] = ` +.c0 { + position: absolute; + top: 30px; + right: 30px; +} + +
+
+ logo +
+
+`; diff --git a/app/.storybook/config.js b/app/.storybook/config.js index a5a2c4eb..1b5688ec 100644 --- a/app/.storybook/config.js +++ b/app/.storybook/config.js @@ -3,6 +3,9 @@ import { configure, addDecorator } from "@storybook/react"; import centered from "@storybook/addon-centered"; +// TODO: make this import global +import "~/__mocks__/next-router"; + // settings addDecorator(centered); diff --git a/app/.storybook/storyshots.test.js b/app/.storybook/storyshots.test.js index 718e074a..024dd964 100644 --- a/app/.storybook/storyshots.test.js +++ b/app/.storybook/storyshots.test.js @@ -1,5 +1,9 @@ import initStoryshots from "@storybook/addon-storyshots"; +// TODO: make this import global +import "jest-styled-components"; +import "~/__mocks__/next-router"; + initStoryshots({ configPath: "app/.storybook", storyKindRegex: /^((?!.*?DontTest).)*$/ diff --git a/app/__mocks__/next-router.js b/app/__mocks__/next-router.js new file mode 100644 index 00000000..9c3bfff8 --- /dev/null +++ b/app/__mocks__/next-router.js @@ -0,0 +1,11 @@ +// mock router +import NextRouter from "next/router"; +const mockedNextRouter = { + push: () => { + /* console.log('next/router push') */ + }, + prefetch: () => { + /* console.log('next/router prefetch') */ + } +}; +NextRouter.router = mockedNextRouter; diff --git a/app/components/LinkList/__tests__/utils.js b/app/__utils__/index.js similarity index 100% rename from app/components/LinkList/__tests__/utils.js rename to app/__utils__/index.js diff --git a/app/components/LinkList/__tests__/__mocks__/index.mock.js b/app/components/LinkList/__tests__/__mocks__/props.mock.js similarity index 100% rename from app/components/LinkList/__tests__/__mocks__/index.mock.js rename to app/components/LinkList/__tests__/__mocks__/props.mock.js diff --git a/app/components/LinkList/__tests__/__mocks__/router.mock.js b/app/components/LinkList/__tests__/__mocks__/router.mock.js deleted file mode 100644 index e81283fa..00000000 --- a/app/components/LinkList/__tests__/__mocks__/router.mock.js +++ /dev/null @@ -1,20 +0,0 @@ -// mock router -// use this -// import NextRouter from 'next/router' -// const mockedNextRouter = { -// push: () => {/* console.log('next/router push') */}, -// prefetch: () => {/* console.log('next/router prefetch') */} -// }; -// NextRouter.router = mockedNextRouter; - -// or this -import { Router } from "~/routes"; -const mockedRouter = { - pushRoute: () => { - /* console.log('~/routes pushRoute') */ - }, - prefetch: () => { - /* console.log('~/routes prefetch') */ - } -}; -Router.router = mockedRouter; diff --git a/app/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js index cf0435db..0ee7cfec 100644 --- a/app/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -4,9 +4,8 @@ import { storiesOf } from '@storybook/react' import { action } from '@storybook/addon-actions' import { withKnobs, text, boolean, select } from '@storybook/addon-knobs' -import './__mocks__/router.mock' +import { themeDecorator } from '~/__utils__/index' import LinkList from '../' -import { themeDecorator } from './utils' storiesOf('LinkList', module) .addDecorator(storyFn => { diff --git a/app/components/LinkList/__tests__/index.test.js b/app/components/LinkList/__tests__/index.test.js index 3e265640..1272fa2e 100644 --- a/app/components/LinkList/__tests__/index.test.js +++ b/app/components/LinkList/__tests__/index.test.js @@ -1,10 +1,13 @@ import { mount } from 'enzyme' import React from 'react' -import './__mocks__/router.mock' -import { defaultProps } from './__mocks__/index.mock' +// TODO: make this import global +import 'jest-styled-components' +import '~/__mocks__/next-router' + +import { themeDecorator } from '~/__utils__/index' +import { defaultProps } from './__mocks__/props.mock' import LinkList from '../' -import { themeDecorator } from './utils' const mountWithMainTheme = (child, options) => { const mainThemeDecorator = themeDecorator('main') diff --git a/app/components/LinkList/index.js b/app/components/LinkList/index.js index f339dd0d..30cbb31a 100644 --- a/app/components/LinkList/index.js +++ b/app/components/LinkList/index.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types' -import { Link } from '../../routes' +import { Link } from '~/routes' import * as S from './styles' const LinkList = ({ pathname, authenticated, logout }) => diff --git a/app/components/Logo/__tests__/index.stories.js b/app/components/Logo/__tests__/index.stories.js new file mode 100644 index 00000000..e45a7795 --- /dev/null +++ b/app/components/Logo/__tests__/index.stories.js @@ -0,0 +1,7 @@ +import React from 'react' + +import { storiesOf } from '@storybook/react' + +import Logo from '../' + +storiesOf('Logo', module).add('default', () => ) diff --git a/app/components/Logo/__tests__/index.test.js b/app/components/Logo/__tests__/index.test.js new file mode 100644 index 00000000..4bca9bd9 --- /dev/null +++ b/app/components/Logo/__tests__/index.test.js @@ -0,0 +1,13 @@ +import { mount } from 'enzyme' +import React from 'react' + +import Logo from '../' + +describe('', () => { + it('should have image', () => { + const child = + const wrapper = mount(child) + + expect(wrapper.find('img')).toHaveLength(1) + }) +}) diff --git a/app/components/Logo/index.js b/app/components/Logo/index.js new file mode 100644 index 00000000..19efdc35 --- /dev/null +++ b/app/components/Logo/index.js @@ -0,0 +1,14 @@ +import { Link } from '~/routes' +import styled from 'styled-components' + +export const Img = styled.img` + position: absolute; + top: 30px; + right: 30px; +` +const Logo = () => + + logo + + +export default Logo diff --git a/app/containers/Header/feature.js b/app/containers/Header/feature.js index 83068be7..4aea2512 100644 --- a/app/containers/Header/feature.js +++ b/app/containers/Header/feature.js @@ -1,5 +1,6 @@ import PropTypes from 'prop-types' import LinkList from '~/components/LinkList' +import Logo from '~/components/Logo' import * as S from './styles' const Header = ({ pathname, authenticated, actions: { logout } }) => @@ -9,6 +10,7 @@ const Header = ({ pathname, authenticated, actions: { logout } }) => authenticated={authenticated} logout={logout} /> + Header.defaultProps = { diff --git a/jest.config.js b/jest.config.js index 237ee8db..e7ab925b 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,6 +2,9 @@ module.exports = { coverageDirectory: './coverage/', collectCoverage: true, moduleFileExtensions: ['js', 'json'], + // moduleNameMapper: { + // 'next/router': '/app/__mocks__/next-router.js' + // }, testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', diff --git a/package.json b/package.json index 8effab23..217e6080 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "test:watch": "yarn run test -- --watch", "test:update": "yarn run test -- --u", "test:debug": "node --inspect ./node_modules/.bin/jest --runInBand --env jest-environment-node-debug", - "storybook": "start-storybook -p 6006 -c app/.storybook -s app/static", + "storybook": "start-storybook -p 6006 -c app/.storybook -s static", "build-storybook": "build-storybook" }, "dependencies": { @@ -131,6 +131,7 @@ "inquirer": "3.2.1", "jest": "20.0.4", "jest-environment-node-debug": "2.0.0", + "jest-styled-components": "^4.4.0", "lint-staged": "4.0.3", "ngrok": "2.2.17", "nodemon": "1.11.0", diff --git a/app/static/logo.png b/static/logo.png similarity index 100% rename from app/static/logo.png rename to static/logo.png diff --git a/yarn.lock b/yarn.lock index adcad20a..0810d286 100644 --- a/yarn.lock +++ b/yarn.lock @@ -574,6 +574,10 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +atob@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" + autoprefixer@^6.0.0, autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -2561,6 +2565,15 @@ css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +css@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" + dependencies: + inherits "^2.0.1" + source-map "^0.1.38" + source-map-resolve "^0.3.0" + urix "^0.1.0" + cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" @@ -5488,6 +5501,12 @@ jest-snapshot@^20.0.3: natural-compare "^1.4.0" pretty-format "^20.0.3" +jest-styled-components@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-4.4.0.tgz#d1e2d8f07888f1b6b5affc45c0c53f7fb442b1d8" + dependencies: + css "^2.2.1" + jest-util@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.3.tgz#0c07f7d80d82f4e5a67c6f8b9c3fe7f65cfd32ad" @@ -8528,6 +8547,10 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" +resolve-url@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -8852,16 +8875,35 @@ source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" +source-map-resolve@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" + dependencies: + atob "~1.1.0" + resolve-url "~0.2.1" + source-map-url "~0.3.0" + urix "~0.1.0" + source-map-support@0.4.15, source-map-support@^0.4.14, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" +source-map-url@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" + source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" +source-map@^0.1.38: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + source-map@^0.4.2, source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -9821,6 +9863,10 @@ upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" +urix@^0.1.0, urix@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + url-join@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" From ccdd4552dad4db6d85fbe830a709d10159fa12b8 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Tue, 15 Aug 2017 23:43:14 +0300 Subject: [PATCH 14/28] added setup.js --- app/.storybook/config.js | 7 ++----- app/.storybook/storyshots.test.js | 4 ---- app/__mocks__/next-router.js | 11 ----------- app/__utils__/jest.setup.js | 9 +++++++++ app/__utils__/setup.js | 5 +++++ app/__utils__/storybook.setup.js | 12 ++++++++++++ app/__utils__/{index.js => theme.js} | 0 .../LinkList/__tests__/index.stories.js | 6 +++--- app/components/LinkList/__tests__/index.test.js | 10 +++------- jest.config.js | 5 ++--- package.json | 4 ++-- yarn.lock | 17 +++++++++-------- 12 files changed, 47 insertions(+), 43 deletions(-) delete mode 100644 app/__mocks__/next-router.js create mode 100644 app/__utils__/jest.setup.js create mode 100644 app/__utils__/setup.js create mode 100644 app/__utils__/storybook.setup.js rename app/__utils__/{index.js => theme.js} (100%) diff --git a/app/.storybook/config.js b/app/.storybook/config.js index 1b5688ec..a49b146c 100644 --- a/app/.storybook/config.js +++ b/app/.storybook/config.js @@ -1,16 +1,13 @@ -/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */ - import { configure, addDecorator } from "@storybook/react"; import centered from "@storybook/addon-centered"; -// TODO: make this import global -import "~/__mocks__/next-router"; +import "~/__utils__/setup"; // settings addDecorator(centered); // load -const req = require.context("../components", true, /\.stories\.js$/); +const req = require.context("../", true, /stories.jsx?$/); function loadStories() { req.keys().forEach(filename => req(filename)); diff --git a/app/.storybook/storyshots.test.js b/app/.storybook/storyshots.test.js index 024dd964..718e074a 100644 --- a/app/.storybook/storyshots.test.js +++ b/app/.storybook/storyshots.test.js @@ -1,9 +1,5 @@ import initStoryshots from "@storybook/addon-storyshots"; -// TODO: make this import global -import "jest-styled-components"; -import "~/__mocks__/next-router"; - initStoryshots({ configPath: "app/.storybook", storyKindRegex: /^((?!.*?DontTest).)*$/ diff --git a/app/__mocks__/next-router.js b/app/__mocks__/next-router.js deleted file mode 100644 index 9c3bfff8..00000000 --- a/app/__mocks__/next-router.js +++ /dev/null @@ -1,11 +0,0 @@ -// mock router -import NextRouter from "next/router"; -const mockedNextRouter = { - push: () => { - /* console.log('next/router push') */ - }, - prefetch: () => { - /* console.log('next/router prefetch') */ - } -}; -NextRouter.router = mockedNextRouter; diff --git a/app/__utils__/jest.setup.js b/app/__utils__/jest.setup.js new file mode 100644 index 00000000..59f7b3b0 --- /dev/null +++ b/app/__utils__/jest.setup.js @@ -0,0 +1,9 @@ +import 'jest-styled-components' + +// mock router +import NextRouter from 'next/router' +const mockedNextRouter = { + push: () => {}, + prefetch: () => {} +} +NextRouter.router = mockedNextRouter diff --git a/app/__utils__/setup.js b/app/__utils__/setup.js new file mode 100644 index 00000000..c6ee0354 --- /dev/null +++ b/app/__utils__/setup.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'test') { + require('./jest.setup.js') +} else { + require('./storybook.setup.js') +} diff --git a/app/__utils__/storybook.setup.js b/app/__utils__/storybook.setup.js new file mode 100644 index 00000000..c753ad23 --- /dev/null +++ b/app/__utils__/storybook.setup.js @@ -0,0 +1,12 @@ +// mock router +import NextRouter from 'next/router' + +const mockedNextRouter = { + push: () => { + console.log('storybook push') + }, + prefetch: () => { + console.log('storybook prefetch') + } +} +NextRouter.router = mockedNextRouter diff --git a/app/__utils__/index.js b/app/__utils__/theme.js similarity index 100% rename from app/__utils__/index.js rename to app/__utils__/theme.js diff --git a/app/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js index 0ee7cfec..647a734a 100644 --- a/app/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -4,7 +4,7 @@ import { storiesOf } from '@storybook/react' import { action } from '@storybook/addon-actions' import { withKnobs, text, boolean, select } from '@storybook/addon-knobs' -import { themeDecorator } from '~/__utils__/index' +import { themeDecorator } from '~/__utils__/theme' import LinkList from '../' storiesOf('LinkList', module) @@ -12,8 +12,8 @@ storiesOf('LinkList', module) const themes = ['main', 'eightbit', 'inverted'] const defaultTheme = themes[0] const name = select('Theme', themes, defaultTheme) - - return themeDecorator(name)(storyFn()) + const decorate = themeDecorator(name) + return decorate(storyFn()) }) .addDecorator(withKnobs) .add('authenticated', () => diff --git a/app/components/LinkList/__tests__/index.test.js b/app/components/LinkList/__tests__/index.test.js index 1272fa2e..f913bd0e 100644 --- a/app/components/LinkList/__tests__/index.test.js +++ b/app/components/LinkList/__tests__/index.test.js @@ -1,17 +1,13 @@ import { mount } from 'enzyme' import React from 'react' -// TODO: make this import global -import 'jest-styled-components' -import '~/__mocks__/next-router' - -import { themeDecorator } from '~/__utils__/index' +import { themeDecorator } from '~/__utils__/theme' import { defaultProps } from './__mocks__/props.mock' import LinkList from '../' const mountWithMainTheme = (child, options) => { - const mainThemeDecorator = themeDecorator('main') - return mount(mainThemeDecorator(child), options) + const decorate = themeDecorator('main') + return mount(decorate(child), options) } describe('', () => { diff --git a/jest.config.js b/jest.config.js index e7ab925b..7e8aac93 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,9 +2,8 @@ module.exports = { coverageDirectory: './coverage/', collectCoverage: true, moduleFileExtensions: ['js', 'json'], - // moduleNameMapper: { - // 'next/router': '/app/__mocks__/next-router.js' - // }, + snapshotSerializers: ['enzyme-to-json/serializer'], + setupTestFrameworkScriptFile: '/app/__utils__/setup.js', testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', diff --git a/package.json b/package.json index 217e6080..0afdcd79 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", "lint:css": "stylelint '**/*.js'", "lint:all": "yarn run lint && yarn run lint:css", - "format": "prettier-eslint --write **/*.js", + "format": "prettier-eslint --write **/*.js app/.storybook/*.js app/__utils__/*.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", @@ -102,7 +102,7 @@ "@storybook/addon-notes": "3.2.0", "@storybook/addon-options": "3.2.3", "@storybook/addon-storyshots": "3.2.3", - "@storybook/react": "3.2.3", + "@storybook/react": "^3.2.4", "babel-eslint": "7.2.3", "babel-plugin-inline-import-graphql-ast": "2.0.0", "babel-plugin-root-import": "5.1.0", diff --git a/yarn.lock b/yarn.lock index 0810d286..94128bca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,15 +133,15 @@ fuse.js "^3.0.1" prop-types "^15.5.9" -"@storybook/react@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.3.tgz#4e5aff80b61328288dcf9e3a6b2a2890eab880be" +"@storybook/react@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.4.tgz#096a6afcc29bdd102868c494f4f99a3fec7f34ca" dependencies: "@storybook/addon-actions" "^3.2.0" "@storybook/addon-links" "^3.2.0" "@storybook/addons" "^3.2.0" "@storybook/channel-postmessage" "^3.2.0" - "@storybook/ui" "^3.2.3" + "@storybook/ui" "^3.2.4" airbnb-js-shims "^1.1.1" autoprefixer "^7.1.1" babel-core "^6.25.0" @@ -187,9 +187,9 @@ webpack-dev-middleware "^1.10.2" webpack-hot-middleware "^2.18.0" -"@storybook/ui@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.3.tgz#9579c191a1695d3d5aaabcef93a7a5456d8f19af" +"@storybook/ui@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.4.tgz#a52b10a5f9daaf22570af457ec7c79210b0abcc3" dependencies: "@storybook/react-fuzzy" "^0.4.0" babel-runtime "^6.23.0" @@ -199,6 +199,7 @@ global "^4.3.2" json-stringify-safe "^5.0.1" keycode "^2.1.8" + lodash.debounce "4.0.8" lodash.pick "^4.4.0" lodash.sortby "^4.7.0" mantra-core "^1.7.0" @@ -5934,7 +5935,7 @@ lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" -lodash.debounce@^4.0.8: +lodash.debounce@4.0.8, lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" From ea1b21baa9071dc04756a65d59fb69ea98130432 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Wed, 16 Aug 2017 21:11:22 +0300 Subject: [PATCH 15/28] schema.json -> schema.graphql --- .graphqlconfig | 2 +- schema.graphql | 1740 ++++++++ schema.json | 10067 ----------------------------------------------- 3 files changed, 1741 insertions(+), 10068 deletions(-) create mode 100644 schema.graphql delete mode 100644 schema.json diff --git a/.graphqlconfig b/.graphqlconfig index 88fb88e1..c94e942c 100644 --- a/.graphqlconfig +++ b/.graphqlconfig @@ -1,5 +1,5 @@ { - "schemaPath": "schema.json", + "schemaPath": "schema.graphql", "extensions": { "endpoints": { "default": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn" diff --git a/schema.graphql b/schema.graphql new file mode 100644 index 00000000..61872441 --- /dev/null +++ b/schema.graphql @@ -0,0 +1,1740 @@ +# source: https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn +# timestamp: Wed Aug 16 2017 21:09:30 GMT+0300 (EEST) + +enum _ModelMutationType { + CREATED + UPDATED + DELETED +} + +# Meta information about the query. +type _QueryMeta { + count: Int! +} + +input AUTH_PROVIDER_EMAIL { + email: String! + password: String! +} + +input AuthProviderSignupData { + email: AUTH_PROVIDER_EMAIL +} + +# The `BigDecimal` scalar type represents signed fractional values with arbitrary precision. +scalar BigDecimal + +# The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent arbitrary big values. +scalar BigInt + +input CreateFile { + name: String! +} + +input CreatePost { + title: String! + url: String! + votes: Int +} + +input CreateUser { + firstName: String! + lastName: String! +} + +scalar DateTime + +type File implements Node { + contentType: String! + createdAt: DateTime + id: ID! + name: String! + secret: String! + size: Int! + updatedAt: DateTime + url: String! +} + +input FileFilter { + # Logical AND on all given filters. + AND: [FileFilter!] + + # Logical OR on all given filters. + OR: [FileFilter!] + contentType: String + + # All values that are not equal to given value. + contentType_not: String + + # All values that are contained in given list. + contentType_in: [String!] + + # All values that are not contained in given list. + contentType_not_in: [String!] + + # All values less than the given value. + contentType_lt: String + + # All values less than or equal the given value. + contentType_lte: String + + # All values greater than the given value. + contentType_gt: String + + # All values greater than or equal the given value. + contentType_gte: String + + # All values containing the given string. + contentType_contains: String + + # All values not containing the given string. + contentType_not_contains: String + + # All values starting with the given string. + contentType_starts_with: String + + # All values not starting with the given string. + contentType_not_starts_with: String + + # All values ending with the given string. + contentType_ends_with: String + + # All values not ending with the given string. + contentType_not_ends_with: String + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + name: String + + # All values that are not equal to given value. + name_not: String + + # All values that are contained in given list. + name_in: [String!] + + # All values that are not contained in given list. + name_not_in: [String!] + + # All values less than the given value. + name_lt: String + + # All values less than or equal the given value. + name_lte: String + + # All values greater than the given value. + name_gt: String + + # All values greater than or equal the given value. + name_gte: String + + # All values containing the given string. + name_contains: String + + # All values not containing the given string. + name_not_contains: String + + # All values starting with the given string. + name_starts_with: String + + # All values not starting with the given string. + name_not_starts_with: String + + # All values ending with the given string. + name_ends_with: String + + # All values not ending with the given string. + name_not_ends_with: String + secret: String + + # All values that are not equal to given value. + secret_not: String + + # All values that are contained in given list. + secret_in: [String!] + + # All values that are not contained in given list. + secret_not_in: [String!] + + # All values less than the given value. + secret_lt: String + + # All values less than or equal the given value. + secret_lte: String + + # All values greater than the given value. + secret_gt: String + + # All values greater than or equal the given value. + secret_gte: String + + # All values containing the given string. + secret_contains: String + + # All values not containing the given string. + secret_not_contains: String + + # All values starting with the given string. + secret_starts_with: String + + # All values not starting with the given string. + secret_not_starts_with: String + + # All values ending with the given string. + secret_ends_with: String + + # All values not ending with the given string. + secret_not_ends_with: String + size: Int + + # All values that are not equal to given value. + size_not: Int + + # All values that are contained in given list. + size_in: [Int!] + + # All values that are not contained in given list. + size_not_in: [Int!] + + # All values less than the given value. + size_lt: Int + + # All values less than or equal the given value. + size_lte: Int + + # All values greater than the given value. + size_gt: Int + + # All values greater than or equal the given value. + size_gte: Int + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String +} + +enum FileOrderBy { + contentType_ASC + contentType_DESC + createdAt_ASC + createdAt_DESC + id_ASC + id_DESC + name_ASC + name_DESC + secret_ASC + secret_DESC + size_ASC + size_DESC + updatedAt_ASC + updatedAt_DESC + url_ASC + url_DESC +} + +type FilePreviousValues { + contentType: String! + createdAt: DateTime + id: ID! + name: String! + secret: String! + size: Int! + updatedAt: DateTime + url: String! +} + +input FileSubscriptionFilter { + # Logical AND on all given filters. + AND: [FileSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [FileSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: FileSubscriptionFilterNode +} + +input FileSubscriptionFilterNode { + contentType: String + + # All values that are not equal to given value. + contentType_not: String + + # All values that are contained in given list. + contentType_in: [String!] + + # All values that are not contained in given list. + contentType_not_in: [String!] + + # All values less than the given value. + contentType_lt: String + + # All values less than or equal the given value. + contentType_lte: String + + # All values greater than the given value. + contentType_gt: String + + # All values greater than or equal the given value. + contentType_gte: String + + # All values containing the given string. + contentType_contains: String + + # All values not containing the given string. + contentType_not_contains: String + + # All values starting with the given string. + contentType_starts_with: String + + # All values not starting with the given string. + contentType_not_starts_with: String + + # All values ending with the given string. + contentType_ends_with: String + + # All values not ending with the given string. + contentType_not_ends_with: String + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + name: String + + # All values that are not equal to given value. + name_not: String + + # All values that are contained in given list. + name_in: [String!] + + # All values that are not contained in given list. + name_not_in: [String!] + + # All values less than the given value. + name_lt: String + + # All values less than or equal the given value. + name_lte: String + + # All values greater than the given value. + name_gt: String + + # All values greater than or equal the given value. + name_gte: String + + # All values containing the given string. + name_contains: String + + # All values not containing the given string. + name_not_contains: String + + # All values starting with the given string. + name_starts_with: String + + # All values not starting with the given string. + name_not_starts_with: String + + # All values ending with the given string. + name_ends_with: String + + # All values not ending with the given string. + name_not_ends_with: String + secret: String + + # All values that are not equal to given value. + secret_not: String + + # All values that are contained in given list. + secret_in: [String!] + + # All values that are not contained in given list. + secret_not_in: [String!] + + # All values less than the given value. + secret_lt: String + + # All values less than or equal the given value. + secret_lte: String + + # All values greater than the given value. + secret_gt: String + + # All values greater than or equal the given value. + secret_gte: String + + # All values containing the given string. + secret_contains: String + + # All values not containing the given string. + secret_not_contains: String + + # All values starting with the given string. + secret_starts_with: String + + # All values not starting with the given string. + secret_not_starts_with: String + + # All values ending with the given string. + secret_ends_with: String + + # All values not ending with the given string. + secret_not_ends_with: String + size: Int + + # All values that are not equal to given value. + size_not: Int + + # All values that are contained in given list. + size_in: [Int!] + + # All values that are not contained in given list. + size_not_in: [Int!] + + # All values less than the given value. + size_lt: Int + + # All values less than or equal the given value. + size_lte: Int + + # All values greater than the given value. + size_gt: Int + + # All values greater than or equal the given value. + size_gte: Int + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String +} + +type FileSubscriptionPayload { + mutation: _ModelMutationType! + node: File + updatedFields: [String!] + previousValues: FilePreviousValues +} + +# The `Long` scalar type represents non-fractional signed whole numeric values. +# Long can represent values between -(2^63) and 2^63 - 1. +scalar Long + +type Mutation { + createFile(name: String!): File + createPost(title: String!, url: String!, votes: Int): Post + updateFile(id: ID!, name: String): File + updatePost(id: ID!, title: String, url: String, votes: Int): Post + updateUser(firstName: String, id: ID!, lastName: String): User + updateOrCreateFile(update: UpdateFile!, create: CreateFile!): File + updateOrCreatePost(update: UpdatePost!, create: CreatePost!): Post + updateOrCreateUser(update: UpdateUser!, create: CreateUser!): User + deleteFile(id: ID!): File + deletePost(id: ID!): Post + deleteUser(id: ID!): User + signinUser(email: AUTH_PROVIDER_EMAIL): SigninPayload! + createUser(firstName: String!, lastName: String!, authProvider: AuthProviderSignupData!): User +} + +# An object with an ID +interface Node { + # The id of the object. + id: ID! +} + +type Post implements Node { + createdAt: DateTime + id: ID! + title: String! + updatedAt: DateTime + url: String! + votes: Int +} + +input PostFilter { + # Logical AND on all given filters. + AND: [PostFilter!] + + # Logical OR on all given filters. + OR: [PostFilter!] + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + title: String + + # All values that are not equal to given value. + title_not: String + + # All values that are contained in given list. + title_in: [String!] + + # All values that are not contained in given list. + title_not_in: [String!] + + # All values less than the given value. + title_lt: String + + # All values less than or equal the given value. + title_lte: String + + # All values greater than the given value. + title_gt: String + + # All values greater than or equal the given value. + title_gte: String + + # All values containing the given string. + title_contains: String + + # All values not containing the given string. + title_not_contains: String + + # All values starting with the given string. + title_starts_with: String + + # All values not starting with the given string. + title_not_starts_with: String + + # All values ending with the given string. + title_ends_with: String + + # All values not ending with the given string. + title_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String + votes: Int + + # All values that are not equal to given value. + votes_not: Int + + # All values that are contained in given list. + votes_in: [Int!] + + # All values that are not contained in given list. + votes_not_in: [Int!] + + # All values less than the given value. + votes_lt: Int + + # All values less than or equal the given value. + votes_lte: Int + + # All values greater than the given value. + votes_gt: Int + + # All values greater than or equal the given value. + votes_gte: Int +} + +enum PostOrderBy { + createdAt_ASC + createdAt_DESC + id_ASC + id_DESC + title_ASC + title_DESC + updatedAt_ASC + updatedAt_DESC + url_ASC + url_DESC + votes_ASC + votes_DESC +} + +type PostPreviousValues { + createdAt: DateTime + id: ID! + title: String! + updatedAt: DateTime + url: String! + votes: Int +} + +input PostSubscriptionFilter { + # Logical AND on all given filters. + AND: [PostSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [PostSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: PostSubscriptionFilterNode +} + +input PostSubscriptionFilterNode { + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + title: String + + # All values that are not equal to given value. + title_not: String + + # All values that are contained in given list. + title_in: [String!] + + # All values that are not contained in given list. + title_not_in: [String!] + + # All values less than the given value. + title_lt: String + + # All values less than or equal the given value. + title_lte: String + + # All values greater than the given value. + title_gt: String + + # All values greater than or equal the given value. + title_gte: String + + # All values containing the given string. + title_contains: String + + # All values not containing the given string. + title_not_contains: String + + # All values starting with the given string. + title_starts_with: String + + # All values not starting with the given string. + title_not_starts_with: String + + # All values ending with the given string. + title_ends_with: String + + # All values not ending with the given string. + title_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String + votes: Int + + # All values that are not equal to given value. + votes_not: Int + + # All values that are contained in given list. + votes_in: [Int!] + + # All values that are not contained in given list. + votes_not_in: [Int!] + + # All values less than the given value. + votes_lt: Int + + # All values less than or equal the given value. + votes_lte: Int + + # All values greater than the given value. + votes_gt: Int + + # All values greater than or equal the given value. + votes_gte: Int +} + +type PostSubscriptionPayload { + mutation: _ModelMutationType! + node: Post + updatedFields: [String!] + previousValues: PostPreviousValues +} + +type Query { + allFiles(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [File!]! + allPosts(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [Post!]! + allUsers(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [User!]! + _allFilesMeta(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + _allPostsMeta(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + _allUsersMeta(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + File(id: ID, secret: String, url: String): File + Post(id: ID): Post + User(email: String, id: ID): User + user: User + + # Fetches an object given its ID + node( + # The ID of an object + id: ID! + ): Node +} + +# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null. +type SigninPayload { + token: String + user: User +} + +type Subscription { + File(filter: FileSubscriptionFilter): FileSubscriptionPayload + Post(filter: PostSubscriptionFilter): PostSubscriptionPayload + User(filter: UserSubscriptionFilter): UserSubscriptionPayload +} + +input UpdateFile { + id: ID! + name: String +} + +input UpdatePost { + id: ID! + title: String + url: String + votes: Int +} + +input UpdateUser { + firstName: String + id: ID! + lastName: String +} + +type User implements Node { + createdAt: DateTime + email: String + firstName: String! + id: ID! + lastName: String! + password: String + updatedAt: DateTime +} + +input UserFilter { + # Logical AND on all given filters. + AND: [UserFilter!] + + # Logical OR on all given filters. + OR: [UserFilter!] + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + email: String + + # All values that are not equal to given value. + email_not: String + + # All values that are contained in given list. + email_in: [String!] + + # All values that are not contained in given list. + email_not_in: [String!] + + # All values less than the given value. + email_lt: String + + # All values less than or equal the given value. + email_lte: String + + # All values greater than the given value. + email_gt: String + + # All values greater than or equal the given value. + email_gte: String + + # All values containing the given string. + email_contains: String + + # All values not containing the given string. + email_not_contains: String + + # All values starting with the given string. + email_starts_with: String + + # All values not starting with the given string. + email_not_starts_with: String + + # All values ending with the given string. + email_ends_with: String + + # All values not ending with the given string. + email_not_ends_with: String + firstName: String + + # All values that are not equal to given value. + firstName_not: String + + # All values that are contained in given list. + firstName_in: [String!] + + # All values that are not contained in given list. + firstName_not_in: [String!] + + # All values less than the given value. + firstName_lt: String + + # All values less than or equal the given value. + firstName_lte: String + + # All values greater than the given value. + firstName_gt: String + + # All values greater than or equal the given value. + firstName_gte: String + + # All values containing the given string. + firstName_contains: String + + # All values not containing the given string. + firstName_not_contains: String + + # All values starting with the given string. + firstName_starts_with: String + + # All values not starting with the given string. + firstName_not_starts_with: String + + # All values ending with the given string. + firstName_ends_with: String + + # All values not ending with the given string. + firstName_not_ends_with: String + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + lastName: String + + # All values that are not equal to given value. + lastName_not: String + + # All values that are contained in given list. + lastName_in: [String!] + + # All values that are not contained in given list. + lastName_not_in: [String!] + + # All values less than the given value. + lastName_lt: String + + # All values less than or equal the given value. + lastName_lte: String + + # All values greater than the given value. + lastName_gt: String + + # All values greater than or equal the given value. + lastName_gte: String + + # All values containing the given string. + lastName_contains: String + + # All values not containing the given string. + lastName_not_contains: String + + # All values starting with the given string. + lastName_starts_with: String + + # All values not starting with the given string. + lastName_not_starts_with: String + + # All values ending with the given string. + lastName_ends_with: String + + # All values not ending with the given string. + lastName_not_ends_with: String + password: String + + # All values that are not equal to given value. + password_not: String + + # All values that are contained in given list. + password_in: [String!] + + # All values that are not contained in given list. + password_not_in: [String!] + + # All values less than the given value. + password_lt: String + + # All values less than or equal the given value. + password_lte: String + + # All values greater than the given value. + password_gt: String + + # All values greater than or equal the given value. + password_gte: String + + # All values containing the given string. + password_contains: String + + # All values not containing the given string. + password_not_contains: String + + # All values starting with the given string. + password_starts_with: String + + # All values not starting with the given string. + password_not_starts_with: String + + # All values ending with the given string. + password_ends_with: String + + # All values not ending with the given string. + password_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime +} + +enum UserOrderBy { + createdAt_ASC + createdAt_DESC + email_ASC + email_DESC + firstName_ASC + firstName_DESC + id_ASC + id_DESC + lastName_ASC + lastName_DESC + password_ASC + password_DESC + updatedAt_ASC + updatedAt_DESC +} + +type UserPreviousValues { + createdAt: DateTime + email: String + firstName: String! + id: ID! + lastName: String! + password: String + updatedAt: DateTime +} + +input UserSubscriptionFilter { + # Logical AND on all given filters. + AND: [UserSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [UserSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: UserSubscriptionFilterNode +} + +input UserSubscriptionFilterNode { + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + email: String + + # All values that are not equal to given value. + email_not: String + + # All values that are contained in given list. + email_in: [String!] + + # All values that are not contained in given list. + email_not_in: [String!] + + # All values less than the given value. + email_lt: String + + # All values less than or equal the given value. + email_lte: String + + # All values greater than the given value. + email_gt: String + + # All values greater than or equal the given value. + email_gte: String + + # All values containing the given string. + email_contains: String + + # All values not containing the given string. + email_not_contains: String + + # All values starting with the given string. + email_starts_with: String + + # All values not starting with the given string. + email_not_starts_with: String + + # All values ending with the given string. + email_ends_with: String + + # All values not ending with the given string. + email_not_ends_with: String + firstName: String + + # All values that are not equal to given value. + firstName_not: String + + # All values that are contained in given list. + firstName_in: [String!] + + # All values that are not contained in given list. + firstName_not_in: [String!] + + # All values less than the given value. + firstName_lt: String + + # All values less than or equal the given value. + firstName_lte: String + + # All values greater than the given value. + firstName_gt: String + + # All values greater than or equal the given value. + firstName_gte: String + + # All values containing the given string. + firstName_contains: String + + # All values not containing the given string. + firstName_not_contains: String + + # All values starting with the given string. + firstName_starts_with: String + + # All values not starting with the given string. + firstName_not_starts_with: String + + # All values ending with the given string. + firstName_ends_with: String + + # All values not ending with the given string. + firstName_not_ends_with: String + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + lastName: String + + # All values that are not equal to given value. + lastName_not: String + + # All values that are contained in given list. + lastName_in: [String!] + + # All values that are not contained in given list. + lastName_not_in: [String!] + + # All values less than the given value. + lastName_lt: String + + # All values less than or equal the given value. + lastName_lte: String + + # All values greater than the given value. + lastName_gt: String + + # All values greater than or equal the given value. + lastName_gte: String + + # All values containing the given string. + lastName_contains: String + + # All values not containing the given string. + lastName_not_contains: String + + # All values starting with the given string. + lastName_starts_with: String + + # All values not starting with the given string. + lastName_not_starts_with: String + + # All values ending with the given string. + lastName_ends_with: String + + # All values not ending with the given string. + lastName_not_ends_with: String + password: String + + # All values that are not equal to given value. + password_not: String + + # All values that are contained in given list. + password_in: [String!] + + # All values that are not contained in given list. + password_not_in: [String!] + + # All values less than the given value. + password_lt: String + + # All values less than or equal the given value. + password_lte: String + + # All values greater than the given value. + password_gt: String + + # All values greater than or equal the given value. + password_gte: String + + # All values containing the given string. + password_contains: String + + # All values not containing the given string. + password_not_contains: String + + # All values starting with the given string. + password_starts_with: String + + # All values not starting with the given string. + password_not_starts_with: String + + # All values ending with the given string. + password_ends_with: String + + # All values not ending with the given string. + password_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime +} + +type UserSubscriptionPayload { + mutation: _ModelMutationType! + node: User + updatedFields: [String!] + previousValues: UserPreviousValues +} diff --git a/schema.json b/schema.json deleted file mode 100644 index b3c7a3ab..00000000 --- a/schema.json +++ /dev/null @@ -1,10067 +0,0 @@ -{ - "data": { - "__schema": { - "queryType": { - "name": "Query" - }, - "mutationType": { - "name": "Mutation" - }, - "subscriptionType": { - "name": "Subscription" - }, - "types": [ - { - "kind": "OBJECT", - "name": "Query", - "description": null, - "fields": [ - { - "name": "allFiles", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "FileOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "File", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "allPosts", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "PostOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "allUsers", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allFilesMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "FileOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allPostsMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "PostOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allUsersMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "File", - "description": null, - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Post", - "description": null, - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User", - "description": null, - "args": [ - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": "Fetches an object given its ID", - "args": [ - { - "name": "id", - "description": "The ID of an object", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "String", - "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "DateTime", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ID", - "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Int", - "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "FileOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "contentType_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contentType_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "File", - "description": null, - "fields": [ - { - "name": "contentType", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "description": "An object with an ID", - "fields": [ - { - "name": "id", - "description": "The id of the object.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - ] - }, - { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "PostOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Post", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "_QueryMeta", - "description": "Meta information about the query.", - "fields": [ - { - "name": "count", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Mutation", - "description": null, - "fields": [ - { - "name": "createFile", - "description": null, - "args": [ - { - "name": "name", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createPost", - "description": null, - "args": [ - { - "name": "title", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "votes", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateFile", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatePost", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUser", - "description": null, - "args": [ - { - "name": "firstName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreateFile", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateFile", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateFile", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreatePost", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdatePost", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreatePost", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreateUser", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateUser", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateUser", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteFile", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletePost", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUser", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "signinUser", - "description": null, - "args": [ - { - "name": "email", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SigninPayload", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createUser", - "description": null, - "args": [ - { - "name": "firstName", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "authProvider", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "AuthProviderSignupData", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateFile", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateFile", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "name", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdatePost", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreatePost", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "title", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateUser", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateUser", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "firstName", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "email", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SigninPayload", - "description": "If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.", - "fields": [ - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AuthProviderSignupData", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "email", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Subscription", - "description": null, - "fields": [ - { - "name": "File", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "FileSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Post", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "PostSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "_ModelMutationType", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CREATED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UPDATED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DELETED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "contentType", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FileSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "FilePreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FilePreviousValues", - "description": null, - "fields": [ - { - "name": "contentType", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PostSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "PostPreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PostPreviousValues", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserPreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserPreviousValues", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Schema", - "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", - "fields": [ - { - "name": "types", - "description": "A list of all types supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "queryType", - "description": "The type that query operations will be rooted at.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mutationType", - "description": "If this server supports mutation, the type that mutation operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscriptionType", - "description": "If this server support subscription, the type that subscription operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "directives", - "description": "A list of all directives supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Directive", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Type", - "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", - "fields": [ - { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__TypeKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fields", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Field", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "interfaces", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "possibleTypes", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "enumValues", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__EnumValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "inputFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ofType", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__TypeKind", - "description": "An enum describing what kind of type a given `__Type` is.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "SCALAR", - "description": "Indicates this type is a scalar.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Indicates this type is a union. `possibleTypes` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Indicates this type is an enum. `enumValues` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Indicates this type is an input object. `inputFields` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIST", - "description": "Indicates this type is a list. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NON_NULL", - "description": "Indicates this type is a non-null. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Boolean", - "description": "The `Boolean` scalar type represents `true` or `false`.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Field", - "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__InputValue", - "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultValue", - "description": "A GraphQL-formatted string representing the default value for this input value.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__EnumValue", - "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Directive", - "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "locations", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__DirectiveLocation", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onOperation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onFragment", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onField", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__DirectiveLocation", - "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "QUERY", - "description": "Location adjacent to a query operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MUTATION", - "description": "Location adjacent to a mutation operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SUBSCRIPTION", - "description": "Location adjacent to a subscription operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD", - "description": "Location adjacent to a field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_DEFINITION", - "description": "Location adjacent to a fragment definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_SPREAD", - "description": "Location adjacent to a fragment spread.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INLINE_FRAGMENT", - "description": "Location adjacent to an inline fragment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA", - "description": "Location adjacent to a schema definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCALAR", - "description": "Location adjacent to a scalar definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Location adjacent to an object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD_DEFINITION", - "description": "Location adjacent to a field definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ARGUMENT_DEFINITION", - "description": "Location adjacent to an argument definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Location adjacent to an interface definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Location adjacent to a union definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Location adjacent to an enum definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM_VALUE", - "description": "Location adjacent to an enum value definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Location adjacent to an input object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_FIELD_DEFINITION", - "description": "Location adjacent to an input object field definition.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "BigDecimal", - "description": "The `BigDecimal` scalar type represents signed fractional values with arbitrary precision.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "BigInt", - "description": "The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent arbitrary big values.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Float", - "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Long", - "description": "The `Long` scalar type represents non-fractional signed whole numeric values. Long can represent values between -(2^63) and 2^63 - 1.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - } - ], - "directives": [ - { - "name": "include", - "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Included when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "skip", - "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Included when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "deprecated", - "description": "Marks an element of a GraphQL schema as no longer supported.", - "locations": [ - "ENUM_VALUE", - "FIELD_DEFINITION" - ], - "args": [ - { - "name": "reason", - "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formattedin [Markdown](https://daringfireball.net/projects/markdown/).", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"No longer supported\"" - } - ] - } - ] - } - }, - "extensions": { - "graphql-config": { - "source": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn", - "timestamp": "Sat Aug 12 2017 23:56:30 GMT+0300 (EEST)" - } - } -} \ No newline at end of file From 811898b65de48006342fe488406b864dcbb031b5 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Wed, 16 Aug 2017 22:57:17 +0300 Subject: [PATCH 16/28] fixes --- app/.storybook/addons.js | 12 ++++++------ app/.storybook/config.js | 14 +++++++------- app/.storybook/storyshots.test.js | 6 +++--- package.json | 7 ++++--- yarn.lock | 2 +- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/app/.storybook/addons.js b/app/.storybook/addons.js index a9e82249..60f482e2 100644 --- a/app/.storybook/addons.js +++ b/app/.storybook/addons.js @@ -1,8 +1,8 @@ /* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */ -import "@storybook/addon-actions/register"; -import "@storybook/addon-links/register"; -import "@storybook/addon-events/register"; -import "@storybook/addon-notes/register"; -import "@storybook/addon-options/register"; -import "@storybook/addon-knobs/register"; +import '@storybook/addon-actions/register' +import '@storybook/addon-links/register' +import '@storybook/addon-events/register' +import '@storybook/addon-notes/register' +import '@storybook/addon-options/register' +import '@storybook/addon-knobs/register' diff --git a/app/.storybook/config.js b/app/.storybook/config.js index a49b146c..72202020 100644 --- a/app/.storybook/config.js +++ b/app/.storybook/config.js @@ -1,16 +1,16 @@ -import { configure, addDecorator } from "@storybook/react"; -import centered from "@storybook/addon-centered"; +import { configure, addDecorator } from '@storybook/react' +import centered from '@storybook/addon-centered' -import "~/__utils__/setup"; +import '~/__utils__/setup' // settings -addDecorator(centered); +addDecorator(centered) // load -const req = require.context("../", true, /stories.jsx?$/); +const req = require.context('../', true, /stories.jsx?$/) function loadStories() { - req.keys().forEach(filename => req(filename)); + req.keys().forEach(filename => req(filename)) } -configure(loadStories, module); +configure(loadStories, module) diff --git a/app/.storybook/storyshots.test.js b/app/.storybook/storyshots.test.js index 718e074a..8bc8a5f8 100644 --- a/app/.storybook/storyshots.test.js +++ b/app/.storybook/storyshots.test.js @@ -1,6 +1,6 @@ -import initStoryshots from "@storybook/addon-storyshots"; +import initStoryshots from '@storybook/addon-storyshots' initStoryshots({ - configPath: "app/.storybook", + configPath: 'app/.storybook', storyKindRegex: /^((?!.*?DontTest).)*$/ -}); +}) diff --git a/package.json b/package.json index 0afdcd79..3e13ebe8 100644 --- a/package.json +++ b/package.json @@ -42,11 +42,11 @@ "dev:next": "yarn run lint && next", "start": "NODE_ENV=production node server/index.js", "start:next": "next start", - "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", - "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts", + "lint": "eslint --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts next.config.js", + "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts next.config.js", "lint:css": "stylelint '**/*.js'", "lint:all": "yarn run lint && yarn run lint:css", - "format": "prettier-eslint --write **/*.js app/.storybook/*.js app/__utils__/*.js", + "format": "prettier-eslint --write **/*.js app/.storybook/*.js app/__utils__/*.js next.config.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", @@ -138,6 +138,7 @@ "pre-commit": "1.2.2", "prettier-eslint": "^6.4.2", "prettier-eslint-cli": "^4.1.1", + "pretty-error": "^2.1.1", "react-addons-test-utils": "15.6.0", "react-test-renderer": "15.6.1", "release": "1.3.3", diff --git a/yarn.lock b/yarn.lock index 94128bca..ce7efe4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7613,7 +7613,7 @@ prettier@^1.5.0: version "1.5.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.3.tgz#59dadc683345ec6b88f88b94ed4ae7e1da394bfe" -pretty-error@^2.0.2: +pretty-error@^2.0.2, pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" dependencies: From e94c311f05e93dd244d2608f09a7c42928ef83f5 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Wed, 16 Aug 2017 23:33:18 +0300 Subject: [PATCH 17/28] fix static logo --- app/components/Logo/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/Logo/index.js b/app/components/Logo/index.js index 19efdc35..af7d9ad5 100644 --- a/app/components/Logo/index.js +++ b/app/components/Logo/index.js @@ -8,7 +8,7 @@ export const Img = styled.img` ` const Logo = () => - logo + logo export default Logo From 8bc0509992c124dc38b705bebb5e3a02c8b43bc7 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Thu, 17 Aug 2017 11:48:34 +0300 Subject: [PATCH 18/28] diff storybook search regex --- app/.storybook/config.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/.storybook/config.js b/app/.storybook/config.js index 72202020..01d71f28 100644 --- a/app/.storybook/config.js +++ b/app/.storybook/config.js @@ -1,16 +1,16 @@ -import { configure, addDecorator } from '@storybook/react' -import centered from '@storybook/addon-centered' +import { configure, addDecorator } from "@storybook/react"; +import centered from "@storybook/addon-centered"; -import '~/__utils__/setup' +import "~/__utils__/setup"; // settings -addDecorator(centered) +addDecorator(centered); // load -const req = require.context('../', true, /stories.jsx?$/) +const req = require.context("../", true, /stories\.jsx?$/); function loadStories() { - req.keys().forEach(filename => req(filename)) + req.keys().forEach(filename => req(filename)); } -configure(loadStories, module) +configure(loadStories, module); From dce85688af8a0315f634c2f02b5bdb1439c160d6 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Thu, 17 Aug 2017 14:35:47 +0300 Subject: [PATCH 19/28] test with Layout --- .../__snapshots__/storyshots.test.js.snap | 2 +- app/__utils__/Layout/index.js | 5 +++ app/__utils__/Layout/jest.js | 9 +++++ app/__utils__/Layout/storybook.js | 14 ++++++++ app/__utils__/setup.js | 5 --- app/__utils__/setup/index.js | 5 +++ .../{jest.setup.js => setup/jest.js} | 0 .../storybook.js} | 0 app/__utils__/theme.js | 8 ----- app/__utils__/themeSelector.js | 6 ++++ .../__tests__/__mocks__/props.mock.js | 5 --- .../LinkList/__tests__/index.stories.js | 35 +++++++++---------- .../LinkList/__tests__/index.test.js | 26 ++++++++------ app/containers/Layout/App.js | 6 ++-- jest.config.js | 2 +- package.json | 2 +- 16 files changed, 76 insertions(+), 54 deletions(-) create mode 100644 app/__utils__/Layout/index.js create mode 100644 app/__utils__/Layout/jest.js create mode 100644 app/__utils__/Layout/storybook.js delete mode 100644 app/__utils__/setup.js create mode 100644 app/__utils__/setup/index.js rename app/__utils__/{jest.setup.js => setup/jest.js} (100%) rename app/__utils__/{storybook.setup.js => setup/storybook.js} (100%) delete mode 100644 app/__utils__/theme.js create mode 100644 app/__utils__/themeSelector.js delete mode 100644 app/components/LinkList/__tests__/__mocks__/props.mock.js diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 2da9c784..0032ea18 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -222,7 +222,7 @@ exports[`Storyshots Logo default 1`] = ` alt="logo" className="c0" onClick={[Function]} - src="/logo.png" + src="/static/logo.png" /> diff --git a/app/__utils__/Layout/index.js b/app/__utils__/Layout/index.js new file mode 100644 index 00000000..eb750258 --- /dev/null +++ b/app/__utils__/Layout/index.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'test') { + module.exports = require('./jest.js') +} else { + module.exports = require('./storybook.js') +} diff --git a/app/__utils__/Layout/jest.js b/app/__utils__/Layout/jest.js new file mode 100644 index 00000000..40085b2b --- /dev/null +++ b/app/__utils__/Layout/jest.js @@ -0,0 +1,9 @@ +import { ThemeProvider } from 'styled-components' +import getTheme from '~/themes' + +const JestLayout = ({ children, theme }) => + + {children} + + +export default JestLayout diff --git a/app/__utils__/Layout/storybook.js b/app/__utils__/Layout/storybook.js new file mode 100644 index 00000000..bb44b108 --- /dev/null +++ b/app/__utils__/Layout/storybook.js @@ -0,0 +1,14 @@ +import { ThemeProvider } from 'styled-components' +import { select } from '@storybook/addon-knobs' +import getTheme from '~/themes' + +const themes = ['main', 'eightbit', 'inverted'] +const defaultTheme = themes[0] +const themeSelector = select('Theme', themes, defaultTheme) + +const StorybookLayout = ({ children, theme }) => + + {children} + + +export default StorybookLayout diff --git a/app/__utils__/setup.js b/app/__utils__/setup.js deleted file mode 100644 index c6ee0354..00000000 --- a/app/__utils__/setup.js +++ /dev/null @@ -1,5 +0,0 @@ -if (process.env.NODE_ENV === 'test') { - require('./jest.setup.js') -} else { - require('./storybook.setup.js') -} diff --git a/app/__utils__/setup/index.js b/app/__utils__/setup/index.js new file mode 100644 index 00000000..a9d99768 --- /dev/null +++ b/app/__utils__/setup/index.js @@ -0,0 +1,5 @@ +if (process.env.NODE_ENV === 'test') { + require('./jest.js') +} else { + require('./storybook.js') +} diff --git a/app/__utils__/jest.setup.js b/app/__utils__/setup/jest.js similarity index 100% rename from app/__utils__/jest.setup.js rename to app/__utils__/setup/jest.js diff --git a/app/__utils__/storybook.setup.js b/app/__utils__/setup/storybook.js similarity index 100% rename from app/__utils__/storybook.setup.js rename to app/__utils__/setup/storybook.js diff --git a/app/__utils__/theme.js b/app/__utils__/theme.js deleted file mode 100644 index f00645e8..00000000 --- a/app/__utils__/theme.js +++ /dev/null @@ -1,8 +0,0 @@ -import { ThemeProvider } from 'styled-components' -import getTheme from '~/themes' - -// eslint-disable-next-line import/prefer-default-export -export const themeDecorator = name => child => - - {child} - diff --git a/app/__utils__/themeSelector.js b/app/__utils__/themeSelector.js new file mode 100644 index 00000000..04e97529 --- /dev/null +++ b/app/__utils__/themeSelector.js @@ -0,0 +1,6 @@ +import { select } from '@storybook/addon-knobs' + +const themes = ['main', 'eightbit', 'inverted'] +const defaultTheme = themes[0] + +export default select('Theme', themes, defaultTheme) diff --git a/app/components/LinkList/__tests__/__mocks__/props.mock.js b/app/components/LinkList/__tests__/__mocks__/props.mock.js deleted file mode 100644 index 6f4f76ba..00000000 --- a/app/components/LinkList/__tests__/__mocks__/props.mock.js +++ /dev/null @@ -1,5 +0,0 @@ -export const defaultProps = { - pathname: "/", - authenticated: false, - logout: () => {} -}; diff --git a/app/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js index 647a734a..9eac8289 100644 --- a/app/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -2,31 +2,28 @@ import React from 'react' import { storiesOf } from '@storybook/react' import { action } from '@storybook/addon-actions' -import { withKnobs, text, boolean, select } from '@storybook/addon-knobs' +import { withKnobs, text, boolean } from '@storybook/addon-knobs' -import { themeDecorator } from '~/__utils__/theme' +import Layout from '~/__utils__/Layout' import LinkList from '../' storiesOf('LinkList', module) - .addDecorator(storyFn => { - const themes = ['main', 'eightbit', 'inverted'] - const defaultTheme = themes[0] - const name = select('Theme', themes, defaultTheme) - const decorate = themeDecorator(name) - return decorate(storyFn()) - }) .addDecorator(withKnobs) .add('authenticated', () => - + + + ) .add('nonauthenticated', () => - + + + ) diff --git a/app/components/LinkList/__tests__/index.test.js b/app/components/LinkList/__tests__/index.test.js index f913bd0e..a3fd3f85 100644 --- a/app/components/LinkList/__tests__/index.test.js +++ b/app/components/LinkList/__tests__/index.test.js @@ -1,19 +1,19 @@ -import { mount } from 'enzyme' import React from 'react' +import { mount } from 'enzyme' -import { themeDecorator } from '~/__utils__/theme' -import { defaultProps } from './__mocks__/props.mock' +import Layout from '~/__utils__/Layout' import LinkList from '../' -const mountWithMainTheme = (child, options) => { - const decorate = themeDecorator('main') - return mount(decorate(child), options) -} +const noop = () => {} describe('', () => { it('when not authenticated', () => { - const child = - const wrapper = mountWithMainTheme(child) + const child = ( + + + + ) + const wrapper = mount(child) const text = wrapper.text() expect(text).toEqual(expect.stringContaining('Main Page')) @@ -24,8 +24,12 @@ describe('', () => { }) it('when authenticated', () => { - const child = - const wrapper = mountWithMainTheme(child) + const child = ( + + + + ) + const wrapper = mount(child) const text = wrapper.text() expect(text).toEqual(expect.stringContaining('Main Page')) diff --git a/app/containers/Layout/App.js b/app/containers/Layout/App.js index b274fc75..82fab05f 100644 --- a/app/containers/Layout/App.js +++ b/app/containers/Layout/App.js @@ -2,16 +2,16 @@ import PropTypes from 'prop-types' import { ThemeProvider, injectGlobal } from 'styled-components' import getTheme from '~/themes' import installOfflinePlugin from '~/lib/installOfflinePlugin' -import { App as ThemedApp } from '~/components/Theme' +import { App as StyledApp } from '~/components/Theme' const App = ({ children, theme }) => { installOfflinePlugin() return ( - + {children} - + ) } diff --git a/jest.config.js b/jest.config.js index 7e8aac93..7d534461 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,7 +3,7 @@ module.exports = { collectCoverage: true, moduleFileExtensions: ['js', 'json'], snapshotSerializers: ['enzyme-to-json/serializer'], - setupTestFrameworkScriptFile: '/app/__utils__/setup.js', + setupTestFrameworkScriptFile: '/app/__utils__/setup/index.js', testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', diff --git a/package.json b/package.json index 3e13ebe8..6af7eab2 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts next.config.js", "lint:css": "stylelint '**/*.js'", "lint:all": "yarn run lint && yarn run lint:css", - "format": "prettier-eslint --write **/*.js app/.storybook/*.js app/__utils__/*.js next.config.js", + "format": "prettier-eslint --write \"{app, helper_scripts, __{tests, mocks, utils}__}/**/*.js\" *.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", From 0500ab34ffd4eb03b3e747055b696beb958fa93f Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Thu, 17 Aug 2017 22:37:42 +0300 Subject: [PATCH 20/28] gql tests --- .eslintrc.yaml | 3 ++ .../__snapshots__/storyshots.test.js.snap | 46 +++++++++++++++++++ app/.storybook/config.js | 2 + app/__utils__/setup/jest.js | 2 +- app/__utils__/setup/storybook.js | 2 +- app/components/AuthFields/index.js | 4 +- app/components/AuthFields/validation.js | 2 +- .../LinkList/__tests__/index.stories.js | 3 +- app/components/LinkList/index.js | 2 +- app/containers/CreatePost/feature.js | 4 +- app/containers/CreatePost/index.js | 12 ++--- app/containers/Header/feature.js | 6 +-- app/containers/Header/index.js | 6 +-- app/containers/Layout/App.js | 4 +- app/containers/Layout/index.js | 4 +- .../PostInfo/__tests__/index.stories.js | 31 +++++++++++++ .../PostInfo/__tests__/index.test.js | 0 app/containers/PostInfo/feature.js | 8 ++-- app/containers/PostInfo/index.js | 26 +++++++---- app/containers/PostList/feature.js | 6 +-- app/containers/PostList/index.js | 14 +++--- app/containers/PostUpvoter/feature.js | 4 +- app/containers/PostUpvoter/index.js | 10 ++-- app/containers/SignInForm/feature.js | 14 +++--- app/containers/SignInForm/index.js | 12 ++--- app/containers/SignUpForm/feature.js | 16 +++---- app/containers/SignUpForm/index.js | 12 ++--- app/lib/apolloClient.js | 10 ++-- app/lib/installOfflinePlugin.js | 2 +- app/lib/reducer.js | 2 +- app/lib/withData.js | 10 ++-- app/stores/auth.js | 4 +- app/themes/eightbit.js | 8 ++-- app/themes/index.js | 2 +- app/themes/inverted.js | 4 +- app/themes/main.js | 14 +++--- helper_scripts/CL_commands/__helpers.js | 4 +- helper_scripts/CL_commands/create_page.js | 12 ++--- helper_scripts/CL_commands/create_route.js | 10 ++-- jest.config.js | 4 +- next.config.js | 14 +++--- package.json | 2 +- server/index.js | 4 +- server/logger.js | 2 +- 44 files changed, 227 insertions(+), 136 deletions(-) create mode 100644 app/containers/PostInfo/__tests__/index.stories.js create mode 100644 app/containers/PostInfo/__tests__/index.test.js diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 598646a1..b8e10b3e 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -34,6 +34,9 @@ rules: quotes: - error - single + comma-dangle: + - error + - always-multiline graphql/template-strings: - error - env: literal diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 0032ea18..6f398b3f 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -227,3 +227,49 @@ exports[`Storyshots Logo default 1`] = ` `; + +exports[`Storyshots PostInfo default 1`] = ` +.c0 { + padding-bottom: 20px; +} + +.c0 > h1 { + margin-top: 0; +} + +.c0 > p { + font-size: 17px; +} + +
+
+
+

+ Loading... +

+
+
+
+`; diff --git a/app/.storybook/config.js b/app/.storybook/config.js index 01d71f28..d8bf4f06 100644 --- a/app/.storybook/config.js +++ b/app/.storybook/config.js @@ -1,10 +1,12 @@ import { configure, addDecorator } from "@storybook/react"; import centered from "@storybook/addon-centered"; +import { withKnobs } from "@storybook/addon-knobs"; import "~/__utils__/setup"; // settings addDecorator(centered); +addDecorator(withKnobs); // load const req = require.context("../", true, /stories\.jsx?$/); diff --git a/app/__utils__/setup/jest.js b/app/__utils__/setup/jest.js index 59f7b3b0..896e7d5c 100644 --- a/app/__utils__/setup/jest.js +++ b/app/__utils__/setup/jest.js @@ -4,6 +4,6 @@ import 'jest-styled-components' import NextRouter from 'next/router' const mockedNextRouter = { push: () => {}, - prefetch: () => {} + prefetch: () => {}, } NextRouter.router = mockedNextRouter diff --git a/app/__utils__/setup/storybook.js b/app/__utils__/setup/storybook.js index c753ad23..8b0410a0 100644 --- a/app/__utils__/setup/storybook.js +++ b/app/__utils__/setup/storybook.js @@ -7,6 +7,6 @@ const mockedNextRouter = { }, prefetch: () => { console.log('storybook prefetch') - } + }, } NextRouter.router = mockedNextRouter diff --git a/app/components/AuthFields/index.js b/app/components/AuthFields/index.js index 3513fc89..b0864be0 100644 --- a/app/components/AuthFields/index.js +++ b/app/components/AuthFields/index.js @@ -10,7 +10,7 @@ const AuthFields = props => { handleChange, handleSubmit, touched, - errors + errors, } = props const mapFields = fields.map(field =>
@@ -56,7 +56,7 @@ AuthFields.propTypes = { handleChange: PropTypes.func.isRequired, handleSubmit: PropTypes.func.isRequired, touched: PropTypes.bool.isRequired, - errors: PropTypes.object.isRequired + errors: PropTypes.object.isRequired, } export default AuthFields diff --git a/app/components/AuthFields/validation.js b/app/components/AuthFields/validation.js index d7e6df1b..586032e0 100644 --- a/app/components/AuthFields/validation.js +++ b/app/components/AuthFields/validation.js @@ -24,6 +24,6 @@ export default values => { return { errors, - touched: true + touched: true, } } diff --git a/app/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js index 9eac8289..088d86a0 100644 --- a/app/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -2,13 +2,12 @@ import React from 'react' import { storiesOf } from '@storybook/react' import { action } from '@storybook/addon-actions' -import { withKnobs, text, boolean } from '@storybook/addon-knobs' +import { text, boolean } from '@storybook/addon-knobs' import Layout from '~/__utils__/Layout' import LinkList from '../' storiesOf('LinkList', module) - .addDecorator(withKnobs) .add('authenticated', () => LinkList.propTypes = { pathname: PropTypes.string.isRequired, authenticated: PropTypes.bool.isRequired, - logout: PropTypes.func.isRequired + logout: PropTypes.func.isRequired, } export default LinkList diff --git a/app/containers/CreatePost/feature.js b/app/containers/CreatePost/feature.js index 034a7ac8..ff18c319 100644 --- a/app/containers/CreatePost/feature.js +++ b/app/containers/CreatePost/feature.js @@ -6,8 +6,8 @@ import * as S from './styles' export default class CreateForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - createPost: PropTypes.func.isRequired - }).isRequired + createPost: PropTypes.func.isRequired, + }).isRequired, }; handleSubmit = e => { diff --git a/app/containers/CreatePost/index.js b/app/containers/CreatePost/index.js index bd02a921..ed6a53b2 100644 --- a/app/containers/CreatePost/index.js +++ b/app/containers/CreatePost/index.js @@ -13,13 +13,13 @@ export const withMutation = graphql(createPostGql, { const newPost = mutationResult.data.createPost return Object.assign({}, previousResult, { // Append the new post - allPosts: [newPost, ...previousResult.allPosts] + allPosts: [newPost, ...previousResult.allPosts], }) - } - } - }) - } - }) + }, + }, + }), + }, + }), }) export default withMutation(Feature) diff --git a/app/containers/Header/feature.js b/app/containers/Header/feature.js index 4aea2512..fc73c433 100644 --- a/app/containers/Header/feature.js +++ b/app/containers/Header/feature.js @@ -14,15 +14,15 @@ const Header = ({ pathname, authenticated, actions: { logout } }) => Header.defaultProps = { - authenticated: false + authenticated: false, } Header.propTypes = { pathname: PropTypes.string.isRequired, authenticated: PropTypes.bool, actions: PropTypes.shape({ - logout: PropTypes.func.isRequired - }).isRequired + logout: PropTypes.func.isRequired, + }).isRequired, } export default Header diff --git a/app/containers/Header/index.js b/app/containers/Header/index.js index 0f3b5f0e..93f24b05 100644 --- a/app/containers/Header/index.js +++ b/app/containers/Header/index.js @@ -3,13 +3,13 @@ import { dispatchers } from '~/stores/auth' import Feature from './feature' const mapStateToProps = state => ({ - authenticated: state.auth.authenticated + authenticated: state.auth.authenticated, }) const mapDispatchToProps = dispatch => ({ actions: { - logout: () => dispatch(dispatchers.signOut()) - } + logout: () => dispatch(dispatchers.signOut()), + }, }) export default connect(mapStateToProps, mapDispatchToProps)(Feature) diff --git a/app/containers/Layout/App.js b/app/containers/Layout/App.js index 82fab05f..6230c2d4 100644 --- a/app/containers/Layout/App.js +++ b/app/containers/Layout/App.js @@ -17,12 +17,12 @@ const App = ({ children, theme }) => { } App.defaultProps = { - theme: 'main' + theme: 'main', } App.propTypes = { children: PropTypes.array.isRequired, - theme: PropTypes.string + theme: PropTypes.string, } injectGlobal` diff --git a/app/containers/Layout/index.js b/app/containers/Layout/index.js index 0947c535..ec0672b0 100644 --- a/app/containers/Layout/index.js +++ b/app/containers/Layout/index.js @@ -17,11 +17,11 @@ const Default = props => Default.propTypes = { title: PropTypes.string, url: PropTypes.object.isRequired, - children: PropTypes.element.isRequired + children: PropTypes.element.isRequired, } Default.defaultProps = { - title: '' + title: '', } export default Default diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js new file mode 100644 index 00000000..db561c86 --- /dev/null +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -0,0 +1,31 @@ +import React from 'react' +import { MockedProvider } from 'react-apollo/test-utils' +import { addTypenameToDocument } from 'apollo-client' +import { storiesOf } from '@storybook/react' + +import PostInfo from '../' +import PostInfoWithoutData from '../feature' +import getPostGql from '../getPost.gql' + +const query = addTypenameToDocument(getPostGql) + +storiesOf('PostInfo', module) + .add('loading', () => ) + .add('showing post', () => { + const variables = { postId: 1 } + const data = { + Post: { + title: 'title', + id: 'id', + url: 'someurl', + }, + } + + const mocks = [{ request: { query, variables }, result: { data } }] + + return ( + + + + ) + }) diff --git a/app/containers/PostInfo/__tests__/index.test.js b/app/containers/PostInfo/__tests__/index.test.js new file mode 100644 index 00000000..e69de29b diff --git a/app/containers/PostInfo/feature.js b/app/containers/PostInfo/feature.js index 73216eb3..6b5ea98a 100644 --- a/app/containers/PostInfo/feature.js +++ b/app/containers/PostInfo/feature.js @@ -2,7 +2,10 @@ import moment from 'moment' import PropTypes from 'prop-types' import * as S from './styles' -const PostInfo = ({ loading, Post, error }) => { +const PostInfo = ctx => { + console.log(ctx) + const { loading, Post, error } = ctx + if (loading) { return ( @@ -46,12 +49,11 @@ PostInfo.propTypes = { Post: PropTypes.object, error: PropTypes.object, postId: PropTypes.string.isRequired, - postTitle: PropTypes.string.isRequired } PostInfo.defaultProps = { Post: null, - error: null + error: null, } export default PostInfo diff --git a/app/containers/PostInfo/index.js b/app/containers/PostInfo/index.js index 7acd5a8c..cae78d78 100644 --- a/app/containers/PostInfo/index.js +++ b/app/containers/PostInfo/index.js @@ -3,16 +3,24 @@ import getPostGql from './getPost.gql' import Feature from './feature' const withData = graphql(getPostGql, { - options: ({ postId }) => ({ - variables: { - postId + options: ctx => { + const { postId } = ctx + console.log('options =', ctx) + return { + variables: { + postId, + }, } - }), - props: ({ data: { loading, Post, error } }) => ({ - loading, - Post, - error - }) + }, + props: ctx => { + console.log('props = ', ctx) + const { data: { loading, Post, error } } = ctx + return { + loading, + Post, + error, + } + }, }) export default withData(Feature) diff --git a/app/containers/PostList/feature.js b/app/containers/PostList/feature.js index fbca8231..cee45048 100644 --- a/app/containers/PostList/feature.js +++ b/app/containers/PostList/feature.js @@ -5,7 +5,7 @@ import * as S from './styles' const PostList = ({ data: { allPosts, loading, _allPostsMeta }, - loadMorePosts + loadMorePosts, }) => { if (allPosts && allPosts.length) { const areMorePosts = allPosts.length < _allPostsMeta.count @@ -22,7 +22,7 @@ const PostList = ({ route="details" params={{ postId: post.id, - postTitle: encodeURIComponent(post.title) + postTitle: encodeURIComponent(post.title), }} passHref > @@ -48,7 +48,7 @@ const PostList = ({ PostList.propTypes = { data: PropTypes.object.isRequired, - loadMorePosts: PropTypes.func.isRequired + loadMorePosts: PropTypes.func.isRequired, } export default PostList diff --git a/app/containers/PostList/index.js b/app/containers/PostList/index.js index bf7fed43..34ad871a 100644 --- a/app/containers/PostList/index.js +++ b/app/containers/PostList/index.js @@ -8,15 +8,15 @@ const withData = graphql(allPostsGql, { options: () => ({ variables: { skip: 0, - first: POSTS_PER_PAGE - } + first: POSTS_PER_PAGE, + }, }), props: ({ data }) => ({ data, loadMorePosts: () => data.fetchMore({ variables: { - skip: data.allPosts.length + skip: data.allPosts.length, }, updateQuery: (previousResult, { fetchMoreResult }) => { if (!fetchMoreResult) { @@ -24,11 +24,11 @@ const withData = graphql(allPostsGql, { } return Object.assign({}, previousResult, { // Append the new posts results to the old one - allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] + allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts], }) - } - }) - }) + }, + }), + }), }) export default withData(Feature) diff --git a/app/containers/PostUpvoter/feature.js b/app/containers/PostUpvoter/feature.js index 954c8939..a3b858fd 100644 --- a/app/containers/PostUpvoter/feature.js +++ b/app/containers/PostUpvoter/feature.js @@ -10,11 +10,11 @@ const PostUpvoter = ({ upvote, votes, id }) => PostUpvoter.propTypes = { upvote: PropTypes.func.isRequired, votes: PropTypes.number, - id: PropTypes.string.isRequired + id: PropTypes.string.isRequired, } PostUpvoter.defaultProps = { - votes: [] + votes: [], } export default PostUpvoter diff --git a/app/containers/PostUpvoter/index.js b/app/containers/PostUpvoter/index.js index 1c0eb955..8026609c 100644 --- a/app/containers/PostUpvoter/index.js +++ b/app/containers/PostUpvoter/index.js @@ -12,11 +12,11 @@ const withMutation = graphql(upvotePostGql, { updatePost: { __typename: 'Post', id: ownProps.id, - votes: ownProps.votes + 1 - } - } - }) - }) + votes: ownProps.votes + 1, + }, + }, + }), + }), }) export default withMutation(Feature) diff --git a/app/containers/SignInForm/feature.js b/app/containers/SignInForm/feature.js index fe03703b..dda334f1 100644 --- a/app/containers/SignInForm/feature.js +++ b/app/containers/SignInForm/feature.js @@ -6,17 +6,17 @@ import validate from '~/components/AuthFields/validation' export default class SignInForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - signIn: PropTypes.func.isRequired + signIn: PropTypes.func.isRequired, }).isRequired, actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired - }).isRequired + signIn: PropTypes.func.isRequired, + }).isRequired, }; state = { errors: {}, serverErrors: {}, - touched: false + touched: false, }; getServerErrors(err) { @@ -24,14 +24,14 @@ export default class SignInForm extends React.Component { const obj = {} obj.message = err.graphQLErrors[0].message this.setState({ - serverErrors: obj + serverErrors: obj, }) } } formFields = [ { key: 1, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } } + { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } }, ]; handleTouch = () => { @@ -52,7 +52,7 @@ export default class SignInForm extends React.Component { // reset state this.setState({ errors: {}, - serverErrors: {} + serverErrors: {}, }) const handleValidate = validate(valuesPack) diff --git a/app/containers/SignInForm/index.js b/app/containers/SignInForm/index.js index a8a37cb2..b5020215 100644 --- a/app/containers/SignInForm/index.js +++ b/app/containers/SignInForm/index.js @@ -9,18 +9,18 @@ const withMutation = graphql(signInGql, { mutations: { signIn: ({ email, password }) => mutate({ - variables: { email, password } - }) - } - }) + variables: { email, password }, + }), + }, + }), }) const mapDispatchToProps = dispatch => ({ actions: { signIn(token) { dispatch(dispatchers.signIn(token)) - } - } + }, + }, }) const featureWithApollo = withMutation(Feature) diff --git a/app/containers/SignUpForm/feature.js b/app/containers/SignUpForm/feature.js index 6fc148e3..9e656c98 100644 --- a/app/containers/SignUpForm/feature.js +++ b/app/containers/SignUpForm/feature.js @@ -6,17 +6,17 @@ import validate from '~/components/AuthFields/validation' export default class SignUpForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - signUp: PropTypes.func.isRequired + signUp: PropTypes.func.isRequired, }).isRequired, actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired - }).isRequired + signIn: PropTypes.func.isRequired, + }).isRequired, }; state = { errors: {}, serverErrors: {}, - touched: false + touched: false, }; getServerErrors(err) { @@ -24,7 +24,7 @@ export default class SignUpForm extends React.Component { const obj = {} obj.message = err.graphQLErrors[0].message this.setState({ - serverErrors: obj + serverErrors: obj, }) } } @@ -33,7 +33,7 @@ export default class SignUpForm extends React.Component { { key: 1, attr: { name: 'firstName', type: 'text', label: 'First Name' } }, { key: 2, attr: { name: 'lastName', type: 'text', label: 'Last Name' } }, { key: 3, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } } + { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } }, ]; handleTouch = () => { @@ -54,7 +54,7 @@ export default class SignUpForm extends React.Component { // reset state this.setState({ errors: {}, - serverErrors: {} + serverErrors: {}, }) const handleValidate = validate(valuesPack) @@ -73,7 +73,7 @@ export default class SignUpForm extends React.Component { this.props.actions.signIn(response.data.signinUser.token) } else { this.setState({ - errors: response.data.createUser.errors + errors: response.data.createUser.errors, }) } }) diff --git a/app/containers/SignUpForm/index.js b/app/containers/SignUpForm/index.js index 6e56f20c..67f29502 100644 --- a/app/containers/SignUpForm/index.js +++ b/app/containers/SignUpForm/index.js @@ -9,18 +9,18 @@ const withMutation = graphql(createUserGql, { mutations: { signUp: ({ firstName, lastName, email, password }) => mutate({ - variables: { firstName, lastName, email, password } - }) - } - }) + variables: { firstName, lastName, email, password }, + }), + }, + }), }) const mapDispatchToProps = dispatch => ({ actions: { signIn(token) { dispatch(dispatchers.signIn(token)) - } - } + }, + }, }) const featureWithApollo = withMutation(Feature) diff --git a/app/lib/apolloClient.js b/app/lib/apolloClient.js index 3aae348b..9fe37b94 100644 --- a/app/lib/apolloClient.js +++ b/app/lib/apolloClient.js @@ -5,8 +5,8 @@ const initNetworkInterface = token => { const networkInterface = createNetworkInterface({ uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', opts: { - credentials: 'same-origin' - } + credentials: 'same-origin', + }, }) networkInterface.use([ @@ -21,8 +21,8 @@ const initNetworkInterface = token => { req.options.headers.authorization = token ? `Bearer ${token}` : null next() })() - } - } + }, + }, ]) return networkInterface @@ -35,7 +35,7 @@ const createClient = (headers, token) => ssrMode: !process.browser, ssrForceFetchDelay: 100, headers, - networkInterface: initNetworkInterface(token) + networkInterface: initNetworkInterface(token), }) export default (headers, token) => { diff --git a/app/lib/installOfflinePlugin.js b/app/lib/installOfflinePlugin.js index b7f401e1..f2675d83 100644 --- a/app/lib/installOfflinePlugin.js +++ b/app/lib/installOfflinePlugin.js @@ -10,7 +10,7 @@ export default function installOfflinePlugin() { }, onUpdated() { window.location.reload() - } + }, }) offlineInstalled = true } diff --git a/app/lib/reducer.js b/app/lib/reducer.js index 5a93d415..ebde606c 100644 --- a/app/lib/reducer.js +++ b/app/lib/reducer.js @@ -4,6 +4,6 @@ import { reducer as authReducer } from '~/stores/auth' export default function getReducer(client) { return combineReducers({ apollo: client.reducer(), - auth: authReducer + auth: authReducer, }) } diff --git a/app/lib/withData.js b/app/lib/withData.js index 57f7591d..0625ae3d 100644 --- a/app/lib/withData.js +++ b/app/lib/withData.js @@ -12,7 +12,7 @@ export default Component => static propTypes = () => ({ headers: PropTypes.object.isRequired, accessToken: PropTypes.string, - initialState: PropTypes.object.isRequired + initialState: PropTypes.object.isRequired, }); static async getInitialProps(ctx) { @@ -25,7 +25,7 @@ export default Component => url: { query: ctx.query, pathname: ctx.pathname }, ...(await (Component.getInitialProps ? Component.getInitialProps(ctx) - : {})) + : {})), } if (!process.browser) { @@ -42,11 +42,11 @@ export default Component => initialState: { ...state, apollo: { - data: state.apollo.data - } + data: state.apollo.data, + }, }, headers, - ...props + ...props, } } diff --git a/app/stores/auth.js b/app/stores/auth.js index f3731701..25ea015f 100644 --- a/app/stores/auth.js +++ b/app/stores/auth.js @@ -9,7 +9,7 @@ export const AUTH_SERVERERROR = 'AUTH/SERVERERROR' const initialState = { authenticated: false, token: null, - error: null + error: null, } // Reducer @@ -20,7 +20,7 @@ const reducer = (state = initialState, action) => { ...state, authenticated: true, token: action.token, - error: null + error: null, } case AUTH_SIGNOUT: return { ...state, authenticated: false, token: null, error: null } diff --git a/app/themes/eightbit.js b/app/themes/eightbit.js index d8848439..93e11b1d 100644 --- a/app/themes/eightbit.js +++ b/app/themes/eightbit.js @@ -7,11 +7,11 @@ export default mergeObjects(main, { success: '#1bcb01', error: '#722640', background: '#000000', - text: '#ffffff' + text: '#ffffff', }, font: { family: { - normal: 'Consolas, monaco, monospace' - } - } + normal: 'Consolas, monaco, monospace', + }, + }, }) diff --git a/app/themes/index.js b/app/themes/index.js index 262e8f8f..58637375 100644 --- a/app/themes/index.js +++ b/app/themes/index.js @@ -7,7 +7,7 @@ import eightbit from './eightbit' const themeList = { main, inverted, - eightbit + eightbit, } export default function getTheme(name) { diff --git a/app/themes/inverted.js b/app/themes/inverted.js index 432f3381..eeb57418 100644 --- a/app/themes/inverted.js +++ b/app/themes/inverted.js @@ -9,6 +9,6 @@ export default mergeObjects(main, { error: '#26ACB0', background: '#000000', text: '#ffffff', - textAlt: '#000000' - } + textAlt: '#000000', + }, }) diff --git a/app/themes/main.js b/app/themes/main.js index 2e320fc5..48eb07fd 100644 --- a/app/themes/main.js +++ b/app/themes/main.js @@ -6,12 +6,12 @@ export default { bigger: '16px', small: '13px', smaller: '12px', - tiny: '11px' + tiny: '11px', }, family: { normal: - 'Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif' - } + 'Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif', + }, }, spacing: { normal: '10px', @@ -20,11 +20,11 @@ export default { huge: '40px', small: '10px', smaller: '5px', - noSpace: '0' + noSpace: '0', }, alignment: { horizontalCenter: '0 auto', - center: 'auto' + center: 'auto', }, colors: { main: '#22BAD9', @@ -33,6 +33,6 @@ export default { error: '#d9534f', background: '#ffffff', text: '#000000', - textAlt: '#ffffff' - } + textAlt: '#ffffff', + }, } diff --git a/helper_scripts/CL_commands/__helpers.js b/helper_scripts/CL_commands/__helpers.js index e1e238cd..038ff866 100644 --- a/helper_scripts/CL_commands/__helpers.js +++ b/helper_scripts/CL_commands/__helpers.js @@ -13,7 +13,7 @@ modules.config = { componentsDir: './components', templatesDir: './helper_scripts/templates', routeFile: './routes.js', - serverFile: './server.js' + serverFile: './server.js', } modules.writeRan = function writeRan(callback) { @@ -21,7 +21,7 @@ modules.writeRan = function writeRan(callback) { figlet.text( 'RAN!', { - verticalLayout: 'full' + verticalLayout: 'full', }, (err, data) => { if (err) { diff --git a/helper_scripts/CL_commands/create_page.js b/helper_scripts/CL_commands/create_page.js index 285fcc42..568b8621 100644 --- a/helper_scripts/CL_commands/create_page.js +++ b/helper_scripts/CL_commands/create_page.js @@ -20,7 +20,7 @@ function afterPageCreation(filename, prettyurl = null) { `${helper.config.templatesDir}/route.hbs`, { filename, - prettyurl + prettyurl, }, code => { process.stdout.write('\n') @@ -52,14 +52,14 @@ function askQuestions() { return true } return 'It cannot be empty. Please enter it correctly...' - } + }, }, { name: 'isPretty', type: 'confirm', message: ({ filename }) => `Do you want different URL? (current: /${filename})`, - default: false + default: false, }, { name: 'prettyurl', @@ -74,8 +74,8 @@ function askQuestions() { return true } return 'It cannot be empty. Please enter it correctly...' - } - } + }, + }, ] inquirer.prompt(questions).then(({ filename, prettyurl = null }) => { @@ -83,7 +83,7 @@ function askQuestions() { `${helper.config.templatesDir}/page.hbs`, { filename, - prettyurl + prettyurl, }, code => { fs.writeFile( diff --git a/helper_scripts/CL_commands/create_route.js b/helper_scripts/CL_commands/create_route.js index 9a3ec978..345f5e2f 100644 --- a/helper_scripts/CL_commands/create_route.js +++ b/helper_scripts/CL_commands/create_route.js @@ -15,7 +15,7 @@ function afterPageCreation(filename, prettyurl = null) { `${helper.config.templatesDir}/route.hbs`, { filename, - prettyurl + prettyurl, }, code => { process.stdout.write('\n') @@ -33,14 +33,14 @@ function askQuestions() { name: 'filename', type: 'list', message: 'Which page do you want to use:', - choices: () => helper.getFilesOnDir(helper.config.pagesDir) + choices: () => helper.getFilesOnDir(helper.config.pagesDir), }, { name: 'isPretty', type: 'confirm', message: ({ filename }) => `Do you want different URL? (current: /${filename})`, - default: false + default: false, }, { name: 'prettyurl', @@ -55,8 +55,8 @@ function askQuestions() { return true } return 'It cannot be empty. Please enter it correctly...' - } - } + }, + }, ] inquirer.prompt(questions).then(({ filename, prettyurl = null }) => { diff --git a/jest.config.js b/jest.config.js index 7d534461..f2fb9f31 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,6 +7,6 @@ module.exports = { testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', - '/__mocks__/' - ] + '/__mocks__/', + ], } diff --git a/next.config.js b/next.config.js index 30fa927b..611a363f 100644 --- a/next.config.js +++ b/next.config.js @@ -16,8 +16,8 @@ module.exports = { exclude: /node_modules/, enforce: 'pre', options: { - fix: true - } + fix: true, + }, }) } @@ -26,7 +26,7 @@ module.exports = { new BundleAnalyzerPlugin({ analyzerMode: 'server', analyzerPort: 8888, - openAnalyzer: true + openAnalyzer: true, }) ) } @@ -67,16 +67,16 @@ module.exports = { __tests: dev ? { ignoreRuntime: true } : {}, ServiceWorker: { events: true, - navigateFallbackURL: '/' + navigateFallbackURL: '/', }, AppCache: { directory: './', - events: true - } + events: true, + }, }) ) } return config - } + }, } diff --git a/package.json b/package.json index 6af7eab2..778dce53 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "lint:watch": "esw -w --fix --ext .gql --ext .graphql --ext .js pages app server helper_scripts next.config.js", "lint:css": "stylelint '**/*.js'", "lint:all": "yarn run lint && yarn run lint:css", - "format": "prettier-eslint --write \"{app, helper_scripts, __{tests, mocks, utils}__}/**/*.js\" *.js", + "format": "prettier-eslint --write \"{app, helper_scripts, __{tests, mocks, utils}__}/**/*.js\" app/.storybook/*.js *.js", "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", diff --git a/server/index.js b/server/index.js index 6348e331..6973d00f 100644 --- a/server/index.js +++ b/server/index.js @@ -26,7 +26,7 @@ const handle = app.getRequestHandler() const ssrCache = new LRUCache({ max: 100, - maxAge: 3600 // 1 hour + maxAge: 3600, // 1 hour }) const buildStats = isProd @@ -90,7 +90,7 @@ app.prepare().then(() => { cors({ origin: prettyHost.indexOf('http') !== -1 ? prettyHost : `http://${prettyHost}`, - credentials: true + credentials: true, }) ) server.use(helmet()) diff --git a/server/logger.js b/server/logger.js index ddb70fc7..51ca7094 100644 --- a/server/logger.js +++ b/server/logger.js @@ -32,7 +32,7 @@ Localhost: ${chalk.magenta(`http://${host}:${port}`)} : '')}${divider} ${chalk.blue(`Press ${chalk.italic('CTRL-C')} to stop`)} `) - } + }, } module.exports = logger From 66546c5835464dd38e843c0a37f4bfed7b00831e Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Fri, 18 Aug 2017 21:30:53 +0300 Subject: [PATCH 21/28] mkdir static/images --- app/components/Logo/index.js | 2 +- app/containers/PostInfo/__tests__/index.stories.js | 2 +- static/{ => images}/logo.png | Bin 3 files changed, 2 insertions(+), 2 deletions(-) rename static/{ => images}/logo.png (100%) diff --git a/app/components/Logo/index.js b/app/components/Logo/index.js index af7d9ad5..8054925c 100644 --- a/app/components/Logo/index.js +++ b/app/components/Logo/index.js @@ -8,7 +8,7 @@ export const Img = styled.img` ` const Logo = () => - logo + logo export default Logo diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index db561c86..74ed731a 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -4,7 +4,7 @@ import { addTypenameToDocument } from 'apollo-client' import { storiesOf } from '@storybook/react' import PostInfo from '../' -import PostInfoWithoutData from '../feature' +// import PostInfoWithoutData from '../feature' import getPostGql from '../getPost.gql' const query = addTypenameToDocument(getPostGql) diff --git a/static/logo.png b/static/images/logo.png similarity index 100% rename from static/logo.png rename to static/images/logo.png From 2dd8dc8be0b10ffea8146c1327208ca227d1199e Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Fri, 18 Aug 2017 22:39:22 +0300 Subject: [PATCH 22/28] compoenent relative logo, mini gql test --- .../__snapshots__/storyshots.test.js.snap | 50 +- app/__mocks__/fileMock.js | 1 + app/components/Logo/index.js | 3 +- .../images => app/components/Logo}/logo.png | Bin .../PostInfo/__tests__/index.stories.js | 6 +- .../PostInfo/__tests__/index.test.js | 0 app/containers/PostInfo/feature.js | 1 - jest.config.js | 4 + next.config.js | 46 + package.json | 51 +- yarn.lock | 1266 ++++++++++++++--- 11 files changed, 1225 insertions(+), 203 deletions(-) create mode 100644 app/__mocks__/fileMock.js rename {static/images => app/components/Logo}/logo.png (100%) delete mode 100644 app/containers/PostInfo/__tests__/index.test.js diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 6f398b3f..9c1d4542 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -222,13 +222,59 @@ exports[`Storyshots Logo default 1`] = ` alt="logo" className="c0" onClick={[Function]} - src="/static/logo.png" + src="mocked-file-src" />
`; -exports[`Storyshots PostInfo default 1`] = ` +exports[`Storyshots PostInfo loading 1`] = ` +.c0 { + padding-bottom: 20px; +} + +.c0 > h1 { + margin-top: 0; +} + +.c0 > p { + font-size: 17px; +} + +
+
+
+

+ Loading... +

+
+
+
+`; + +exports[`Storyshots PostInfo showing post 1`] = ` .c0 { padding-bottom: 20px; } diff --git a/app/__mocks__/fileMock.js b/app/__mocks__/fileMock.js new file mode 100644 index 00000000..d5a4a028 --- /dev/null +++ b/app/__mocks__/fileMock.js @@ -0,0 +1 @@ +module.exports = "mocked-file-src"; diff --git a/app/components/Logo/index.js b/app/components/Logo/index.js index 8054925c..42815894 100644 --- a/app/components/Logo/index.js +++ b/app/components/Logo/index.js @@ -1,5 +1,6 @@ import { Link } from '~/routes' import styled from 'styled-components' +import logoSrc from './logo.png' export const Img = styled.img` position: absolute; @@ -8,7 +9,7 @@ export const Img = styled.img` ` const Logo = () => - logo + logo export default Logo diff --git a/static/images/logo.png b/app/components/Logo/logo.png similarity index 100% rename from static/images/logo.png rename to app/components/Logo/logo.png diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index 74ed731a..9e762691 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -4,13 +4,13 @@ import { addTypenameToDocument } from 'apollo-client' import { storiesOf } from '@storybook/react' import PostInfo from '../' -// import PostInfoWithoutData from '../feature' +import PostInfoWithoutData from '../feature' import getPostGql from '../getPost.gql' const query = addTypenameToDocument(getPostGql) storiesOf('PostInfo', module) - .add('loading', () => ) + .add('loading', () => ) .add('showing post', () => { const variables = { postId: 1 } const data = { @@ -25,7 +25,7 @@ storiesOf('PostInfo', module) return ( - + ) }) diff --git a/app/containers/PostInfo/__tests__/index.test.js b/app/containers/PostInfo/__tests__/index.test.js deleted file mode 100644 index e69de29b..00000000 diff --git a/app/containers/PostInfo/feature.js b/app/containers/PostInfo/feature.js index 6b5ea98a..fb803f01 100644 --- a/app/containers/PostInfo/feature.js +++ b/app/containers/PostInfo/feature.js @@ -48,7 +48,6 @@ PostInfo.propTypes = { loading: PropTypes.bool.isRequired, Post: PropTypes.object, error: PropTypes.object, - postId: PropTypes.string.isRequired, } PostInfo.defaultProps = { diff --git a/jest.config.js b/jest.config.js index f2fb9f31..f1c04233 100644 --- a/jest.config.js +++ b/jest.config.js @@ -9,4 +9,8 @@ module.exports = { '/(build|docs|node_modules)/', '/__mocks__/', ], + moduleNameMapper: { + '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': + '/app/__mocks__/fileMock.js', + }, } diff --git a/next.config.js b/next.config.js index 611a363f..2e335c49 100644 --- a/next.config.js +++ b/next.config.js @@ -8,6 +8,52 @@ module.exports = { config.plugins.push(new IgnorePlugin(/^\.\/locale$/, /moment$/)) + // Image task to use images in component directory + config.module.rules.push({ + test: /\.(png|jpe?g|gif)$/i, + use: [ + // using emit-file-loader just to shut up 'Cannot find module', + // it will make copy of image in component directory + { + loader: 'emit-file-loader', + options: { + name: 'dist/[path][name].[ext]', + }, + }, + // this will create image copy, that we will use + { + loader: 'url-loader', + options: { + // output image like '/.next/static/longhash.png' + outputPath: 'static/', + // this dont change url of image, + // this is used just to shut up '__webpack_public_path__ is not defined' + publicPath: '/_next/webpack/', + limit: 1000, + }, + }, + { + loader: 'image-webpack-loader', + options: { + gifsicle: { + interlaced: false, + }, + optipng: { + optimizationLevel: 7, + }, + pngquant: { + quality: '65-90', + speed: 4, + }, + mozjpeg: { + progressive: true, + quality: 65, + }, + }, + }, + ], + }) + // FIXME: not fixing gql and graphql files, but fixing js files if (dev) { config.module.rules.push({ diff --git a/package.json b/package.json index 778dce53..b8891ea0 100644 --- a/package.json +++ b/package.json @@ -64,8 +64,8 @@ "test:watch": "yarn run test -- --watch", "test:update": "yarn run test -- --u", "test:debug": "node --inspect ./node_modules/.bin/jest --runInBand --env jest-environment-node-debug", - "storybook": "start-storybook -p 6006 -c app/.storybook -s static", - "build-storybook": "build-storybook" + "storybook": "start-storybook -p 6006 -c app/.storybook", + "build-storybook": "build-storybook -c app/.storybook" }, "dependencies": { "babel-plugin-styled-components": "1.1.7", @@ -82,13 +82,13 @@ "js-cookie": "2.1.4", "lru-cache": "4.1.1", "moment": "2.18.1", - "next": "3.0.3", + "next": "3.0.6", "next-cookies": "1.0.1", "next-routes": "1.0.40", "offline-plugin": "4.8.3", "prop-types": "15.5.10", "react": "15.6.1", - "react-apollo": "1.4.12", + "react-apollo": "1.4.14", "react-dom": "15.6.1", "react-helmet": "5.1.3", "react-redux": "5.0.6", @@ -98,11 +98,11 @@ "devDependencies": { "@storybook/addon-centered": "3.2.0", "@storybook/addon-events": "3.2.0", - "@storybook/addon-knobs": "3.2.0", + "@storybook/addon-knobs": "3.2.5", "@storybook/addon-notes": "3.2.0", - "@storybook/addon-options": "3.2.3", - "@storybook/addon-storyshots": "3.2.3", - "@storybook/react": "^3.2.4", + "@storybook/addon-options": "3.2.4", + "@storybook/addon-storyshots": "3.2.5", + "@storybook/react": "3.2.5", "babel-eslint": "7.2.3", "babel-plugin-inline-import-graphql-ast": "2.0.0", "babel-plugin-root-import": "5.1.0", @@ -110,43 +110,46 @@ "enzyme": "2.9.1", "enzyme-to-json": "1.5.1", "eslint": "4.4.1", - "eslint-config-prettier": "^2.3.0", - "eslint-config-standard": "^10.2.1", - "eslint-config-standard-jsx": "^4.0.2", + "eslint-config-prettier": "2.3.0", + "eslint-config-standard": "10.2.1", + "eslint-config-standard-jsx": "4.0.2", "eslint-import-resolver-babel-plugin-root-import": "0.0.11", "eslint-loader": "1.9.0", "eslint-plugin-graphql": "1.3.0", - "eslint-plugin-import": "^2.7.0", + "eslint-plugin-import": "2.7.0", "eslint-plugin-jest": "20.0.3", - "eslint-plugin-node": "^5.1.1", - "eslint-plugin-promise": "^3.5.0", - "eslint-plugin-react": "^7.2.0", - "eslint-plugin-standard": "^3.0.1", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-react": "7.2.0", + "eslint-plugin-standard": "3.0.1", "eslint-watch": "3.1.2", "figlet": "1.2.0", + "file-loader": "0.11.2", "graphql-cli": "1.0.0-beta.4", "graphql-cli-voyager": "0.1.2", "handlebars": "4.0.10", "husky": "0.14.3", + "image-webpack-loader": "3.3.1", "inquirer": "3.2.1", "jest": "20.0.4", "jest-environment-node-debug": "2.0.0", - "jest-styled-components": "^4.4.0", + "jest-styled-components": "4.4.0", "lint-staged": "4.0.3", "ngrok": "2.2.17", "nodemon": "1.11.0", "pre-commit": "1.2.2", - "prettier-eslint": "^6.4.2", - "prettier-eslint-cli": "^4.1.1", - "pretty-error": "^2.1.1", + "prettier-eslint": "6.4.2", + "prettier-eslint-cli": "4.1.1", + "pretty-error": "2.1.1", "react-addons-test-utils": "15.6.0", "react-test-renderer": "15.6.1", "release": "1.3.3", "shelljs": "0.7.8", - "styled-components-stylefmt": "^0.1.2", - "stylelint": "^8.0.0", - "stylelint-config-standard": "^17.0.0", - "stylelint-processor-styled-components": "^0.2.2", + "styled-components-stylefmt": "0.1.2", + "stylelint": "8.0.0", + "stylelint-config-standard": "17.0.0", + "stylelint-processor-styled-components": "0.2.2", + "url-loader": "0.5.9", "webpack-bundle-analyzer": "2.9.0" } } diff --git a/yarn.lock b/yarn.lock index ce7efe4c..e6a84246 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,11 +45,11 @@ react-inspector "^2.1.1" uuid "^3.1.0" -"@storybook/addon-centered@3.2.0": +"@storybook/addon-centered@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-centered/-/addon-centered-3.2.0.tgz#5c62b2a61990b814cbf7427500310311407a7fa7" -"@storybook/addon-events@3.2.0": +"@storybook/addon-events@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-3.2.0.tgz#685c241529abb0c4005c57ad08fe3329b27f954f" dependencies: @@ -60,9 +60,9 @@ react-textarea-autosize "^4.3.0" uuid "^3.1.0" -"@storybook/addon-knobs@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.2.0.tgz#675b6648034996b1c2aa57fd6d318155d7e511bc" +"@storybook/addon-knobs@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.2.5.tgz#2b9d5e0042054a115691510145c8b7cb84d847c1" dependencies: "@storybook/addons" "^3.2.0" babel-runtime "^6.23.0" @@ -83,7 +83,7 @@ dependencies: "@storybook/addons" "^3.2.0" -"@storybook/addon-notes@3.2.0": +"@storybook/addon-notes@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-3.2.0.tgz#e7b6720e260fab11c75a3799ee5d68d1b3496f2c" dependencies: @@ -93,15 +93,15 @@ optionalDependencies: "@types/react" "^15.0.24" -"@storybook/addon-options@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.2.3.tgz#ea3740d289d429ce767e9699bf3a647dd741592d" +"@storybook/addon-options@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.2.4.tgz#4bf7de5a6b1ec3e9f901136385b9fbbd40d1ae7f" dependencies: "@storybook/addons" "^3.2.0" -"@storybook/addon-storyshots@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-3.2.3.tgz#75e24ba5b4428f3619a37c0d4280d682a642b6a7" +"@storybook/addon-storyshots@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-3.2.5.tgz#4fa08da1d6307fb18d098b1d0c7aef67b65a2c4a" dependencies: babel-runtime "^6.23.0" global "^4.3.2" @@ -133,15 +133,15 @@ fuse.js "^3.0.1" prop-types "^15.5.9" -"@storybook/react@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.4.tgz#096a6afcc29bdd102868c494f4f99a3fec7f34ca" +"@storybook/react@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.5.tgz#fd56815fe0fb521bd47051c650b6dce024ff7301" dependencies: "@storybook/addon-actions" "^3.2.0" "@storybook/addon-links" "^3.2.0" "@storybook/addons" "^3.2.0" "@storybook/channel-postmessage" "^3.2.0" - "@storybook/ui" "^3.2.4" + "@storybook/ui" "^3.2.5" airbnb-js-shims "^1.1.1" autoprefixer "^7.1.1" babel-core "^6.25.0" @@ -174,7 +174,7 @@ postcss-loader "^2.0.5" prop-types "^15.5.10" qs "^6.4.0" - react-modal "^1.7.7" + react-modal "^2.2.4" redux "^3.6.0" request "^2.81.0" serve-favicon "^2.4.3" @@ -187,9 +187,9 @@ webpack-dev-middleware "^1.10.2" webpack-hot-middleware "^2.18.0" -"@storybook/ui@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.4.tgz#a52b10a5f9daaf22570af457ec7c79210b0abcc3" +"@storybook/ui@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.5.tgz#9e8cfe14dd49d3bb42f4ea1a3be90411a47c14fc" dependencies: "@storybook/react-fuzzy" "^0.4.0" babel-runtime "^6.23.0" @@ -209,7 +209,7 @@ react-icons "^2.2.5" react-inspector "^2.1.1" react-komposer "^2.0.0" - react-modal "^1.7.7" + react-modal "^2.2.4" react-split-pane "^0.1.65" react-treebeard "^2.0.3" redux "^3.6.0" @@ -439,6 +439,12 @@ aproba@^1.0.3: version "1.1.2" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" +archive-type@^3.0.0, archive-type@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6" + dependencies: + file-type "^3.1.0" + are-we-there-yet@~1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" @@ -505,7 +511,7 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" -array-uniq@^1.0.1: +array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -551,6 +557,10 @@ ast-types@0.9.11: version "0.9.11" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.11.tgz#371177bb59232ff5ceaa1d09ee5cad705b1a5aa9" +async-each-series@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -641,7 +651,7 @@ babel-core@6.25.0, babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.25.0: slash "^1.0.0" source-map "^0.5.0" -babel-eslint@7.2.3: +babel-eslint@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" dependencies: @@ -825,7 +835,7 @@ babel-plugin-dynamic-import-node@1.0.2: babel-template "^6.24.1" babel-types "^6.24.1" -babel-plugin-inline-import-graphql-ast@2.0.0: +babel-plugin-inline-import-graphql-ast@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-inline-import-graphql-ast/-/babel-plugin-inline-import-graphql-ast-2.0.0.tgz#d897b88e122db74e5909adb06977877a01e121ac" dependencies: @@ -865,13 +875,13 @@ babel-plugin-react-require@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz#2e4e7b4496b93a654a1c80042276de4e4eeb20e3" -babel-plugin-root-import@5.1.0, babel-plugin-root-import@^5.1.0: +babel-plugin-root-import@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-root-import/-/babel-plugin-root-import-5.1.0.tgz#80ea1cd5945b463a5e3f7e204a69478c573e328c" dependencies: slash "^1.0.0" -babel-plugin-styled-components@1.1.7: +babel-plugin-styled-components@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.1.7.tgz#a92c239779cc80e7838b645c12865c61c4ca71ce" dependencies: @@ -1567,10 +1577,58 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + big.js@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" +bin-build@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc" + dependencies: + archive-type "^3.0.1" + decompress "^3.0.0" + download "^4.1.2" + exec-series "^1.0.0" + rimraf "^2.2.6" + tempfile "^1.0.0" + url-regex "^3.0.0" + +bin-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930" + dependencies: + executable "^1.0.0" + +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" + dependencies: + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" + +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +bin-wrapper@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb" + dependencies: + bin-check "^2.0.0" + bin-version-check "^2.1.0" + download "^4.0.0" + each-async "^1.1.1" + lazy-req "^1.0.0" + os-filter-obj "^1.0.0" + binary-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.9.0.tgz#66506c16ce6f4d6928a5b3cd6a33ca41e941e37b" @@ -1586,6 +1644,12 @@ bindings@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" +bl@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -1762,6 +1826,19 @@ bubble-stream-error@^1.0.0: once "^1.3.3" sliced "^1.0.1" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer-to-vinyl@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" + dependencies: + file-type "^3.1.0" + readable-stream "^2.0.2" + uuid "^2.0.1" + vinyl "^1.0.0" + buffer-xor@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -1901,6 +1978,15 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" +caw@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" + dependencies: + get-proxy "^1.0.1" + is-obj "^1.0.0" + object-assign "^3.0.0" + tunnel-agent "^0.4.0" + center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -2023,7 +2109,7 @@ cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" -cli-clear@1.0.4: +cli-clear@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/cli-clear/-/cli-clear-1.0.4.tgz#42cf3052f25b7068386fb7dbaee82d534b64c899" @@ -2089,10 +2175,22 @@ clone-regexp@^1.0.0: is-regexp "^1.0.0" is-supported-regexp-flag "^1.0.0" -clone@^1.0.2: +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2145,13 +2243,6 @@ color-string@^1.4.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-2.0.0.tgz#e0c9972d1e969857004b101eaa55ceab5961d67d" - dependencies: - color-convert "^1.8.2" - color-string "^1.4.0" - color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -2160,6 +2251,13 @@ color@^0.11.0: color-convert "^1.3.0" color-string "^0.3.0" +color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-2.0.0.tgz#e0c9972d1e969857004b101eaa55ceab5961d67d" + dependencies: + color-convert "^1.8.2" + color-string "^1.4.0" + colorguard@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/colorguard/-/colorguard-1.2.0.tgz#f3facaf5caaeba4ef54653d9fb25bb73177c0d84" @@ -2197,6 +2295,12 @@ commander@2.11.x, commander@^2.9.0, commander@~2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + common-tags@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" @@ -2219,7 +2323,7 @@ compressible@~2.0.10: dependencies: mime-db ">= 1.29.0 < 2" -compression@1.7.0, compression@^1.5.2: +compression@^1.5.2, compression@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.0.tgz#030c9f198f1643a057d776a738e922da4373012d" dependencies: @@ -2235,7 +2339,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@^1.6.0: +concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -2290,6 +2394,10 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" +console-stream@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44" + constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -2320,7 +2428,7 @@ convert-source-map@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" -convert-source-map@^1.1.0, convert-source-map@^1.4.0: +convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -2344,7 +2452,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cors@2.8.4: +cors@^2.8.4: version "2.8.4" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" dependencies: @@ -2383,7 +2491,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.0: +create-error-class@^3.0.0, create-error-class@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: @@ -2681,6 +2789,10 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + deasync@^0.1.9: version "0.1.10" resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.10.tgz#4e4a6836fbe0477bd5f908308bd2a96557d5d7fe" @@ -2714,6 +2826,52 @@ decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +decompress-tar@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466" + dependencies: + is-tar "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-tarbz2@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d" + dependencies: + is-bzip2 "^1.0.0" + object-assign "^2.0.0" + seek-bzip "^1.0.3" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-targz@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0" + dependencies: + is-gzip "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-unzip@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb" + dependencies: + is-zip "^1.0.0" + read-all-stream "^3.0.0" + stat-mode "^0.2.0" + strip-dirs "^1.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + yauzl "^2.2.1" + decompress-zip@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.3.0.tgz#ae3bcb7e34c65879adfe77e19c30f86602b4bdb0" @@ -2726,6 +2884,20 @@ decompress-zip@^0.3.0: readable-stream "^1.1.8" touch "0.0.3" +decompress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed" + dependencies: + buffer-to-vinyl "^1.0.0" + concat-stream "^1.4.6" + decompress-tar "^3.0.0" + decompress-tarbz2 "^3.0.0" + decompress-targz "^3.0.0" + decompress-unzip "^3.0.0" + stream-combiner2 "^1.1.1" + vinyl-assign "^1.0.1" + vinyl-fs "^2.2.0" + deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -2952,16 +3124,42 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" -dotenv@4.0.0: +dotenv@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" +download@^4.0.0, download@^4.1.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac" + dependencies: + caw "^1.0.1" + concat-stream "^1.4.7" + each-async "^1.0.0" + filenamify "^1.0.1" + got "^5.0.0" + gulp-decompress "^1.2.0" + gulp-rename "^1.2.0" + is-url "^1.2.0" + object-assign "^4.0.1" + read-all-stream "^3.0.0" + readable-stream "^2.0.2" + stream-combiner2 "^1.1.1" + vinyl "^1.0.0" + vinyl-fs "^2.2.0" + ware "^1.2.0" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" dependencies: readable-stream "~1.1.9" +duplexer2@^0.1.4, duplexer2@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -2979,6 +3177,13 @@ duplexify@^3.2.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +each-async@^1.0.0, each-async@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" + dependencies: + onetime "^1.0.0" + set-immediate-shim "^1.0.0" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -3064,7 +3269,7 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -enzyme-to-json@1.5.1: +enzyme-to-json@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.5.1.tgz#e34f4d126bb3f4696ce3800b51f9ed83df708799" dependencies: @@ -3076,7 +3281,7 @@ enzyme-to-json@1.5.1: object-values "^1.0.0" object.entries "^1.0.3" -enzyme@2.9.1: +enzyme@^2.9.1: version "2.9.1" resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.9.1.tgz#07d5ce691241240fb817bf2c4b18d6e530240df6" dependencies: @@ -3243,7 +3448,7 @@ eslint-config-standard@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" -eslint-import-resolver-babel-plugin-root-import@0.0.11: +eslint-import-resolver-babel-plugin-root-import@^0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-plugin-root-import/-/eslint-import-resolver-babel-plugin-root-import-0.0.11.tgz#c66fb4fb0f6c5aa5a45092f2ef161e9abf880367" dependencies: @@ -3266,7 +3471,7 @@ eslint-import-resolver-node@^0.3.1: debug "^2.6.8" resolve "^1.2.0" -eslint-loader@1.9.0: +eslint-loader@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13" dependencies: @@ -3283,7 +3488,7 @@ eslint-module-utils@^2.1.1: debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-graphql@1.3.0: +eslint-plugin-graphql@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-1.3.0.tgz#99e44a93bfda4b1c9efbfb2bd93e7d0a710430c0" dependencies: @@ -3306,7 +3511,7 @@ eslint-plugin-import@^2.7.0: minimatch "^3.0.3" read-pkg-up "^2.0.0" -eslint-plugin-jest@20.0.3: +eslint-plugin-jest@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-20.0.3.tgz#ec15eba6ac0ab44a67ebf6e02672ca9d7e7cba29" @@ -3323,9 +3528,9 @@ eslint-plugin-promise@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" -eslint-plugin-react@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.0.tgz#25c77a4ec307e3eebb248ea3350960e372ab6406" +eslint-plugin-react@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.1.tgz#c2673526ed6571b08c69c5f453d03f5f13e8ddbe" dependencies: doctrine "^2.0.0" has "^1.0.1" @@ -3342,7 +3547,7 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-watch@3.1.2: +eslint-watch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-watch/-/eslint-watch-3.1.2.tgz#b93b3eca08915f113dc900994f880db1364de4b3" dependencies: @@ -3358,47 +3563,6 @@ eslint-watch@3.1.2: text-table "^0.2.0" unicons "0.0.3" -eslint@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.4.1.tgz#99cd7eafcffca2ff99a5c8f5f2a474d6364b4bd3" - dependencies: - ajv "^5.2.0" - babel-code-frame "^6.22.0" - chalk "^1.1.3" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^2.6.8" - doctrine "^2.0.0" - eslint-scope "^3.7.1" - espree "^3.5.0" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^9.17.0" - ignore "^3.3.3" - imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" - json-stable-stringify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^4.0.0" - progress "^2.0.0" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" - eslint@^3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" @@ -3439,6 +3603,47 @@ eslint@^3.19.0: text-table "~0.2.0" user-home "^2.0.0" +eslint@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.4.1.tgz#99cd7eafcffca2ff99a5c8f5f2a474d6364b4bd3" + dependencies: + ajv "^5.2.0" + babel-code-frame "^6.22.0" + chalk "^1.1.3" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^2.6.8" + doctrine "^2.0.0" + eslint-scope "^3.7.1" + espree "^3.5.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" + imurmurhash "^0.1.4" + inquirer "^3.0.6" + is-resolvable "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-json-comments "~2.0.1" + table "^4.0.1" + text-table "~0.2.0" + espree@^3.4.0, espree@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" @@ -3526,6 +3731,23 @@ evp_bytestokey@^1.0.0: dependencies: create-hash "^1.1.1" +exec-buffer@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b" + dependencies: + execa "^0.7.0" + p-finally "^1.0.0" + pify "^3.0.0" + rimraf "^2.5.4" + tempfile "^2.0.0" + +exec-series@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a" + dependencies: + async-each-series "^1.1.0" + object-assign "^4.1.0" + exec-sh@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" @@ -3562,6 +3784,12 @@ execall@^1.0.0: dependencies: clone-regexp "^1.0.0" +executable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9" + dependencies: + meow "^3.1.0" + exenv@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" @@ -3622,7 +3850,7 @@ express-request-proxy@^2.0.0: type-is "^1.6.6" url-join "0.0.1" -express@4.15.4, express@^4.13.3, express@^4.15.2, express@^4.15.3: +express@^4.13.3, express@^4.15.2, express@^4.15.3, express@^4.15.4: version "4.15.4" resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1" dependencies: @@ -3661,7 +3889,7 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend@3, extend@~3.0.0: +extend@3, extend@^3.0.0, extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -3683,6 +3911,13 @@ extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + fast-deep-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" @@ -3735,7 +3970,13 @@ fbjs@^0.8.12, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" -figlet@1.2.0: +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figlet@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" @@ -3759,7 +4000,7 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@^0.11.1: +file-loader@^0.11.1, file-loader@^0.11.2: version "0.11.2" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" dependencies: @@ -3769,10 +4010,30 @@ file-name@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/file-name/-/file-name-0.1.0.tgz#12b122f120f9c34dbc176c1ab81a548aced6def7" +file-type@^3.1.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +file-type@^4.1.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" +filename-reserved-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + +filenamify@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + dependencies: + filename-reserved-regex "^1.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + fileset@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" @@ -3867,6 +4128,19 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" + dependencies: + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -4046,6 +4320,12 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-proxy@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" + dependencies: + rc "^1.1.2" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -4064,6 +4344,14 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +gifsicle@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + git-commits@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/git-commits/-/git-commits-1.3.0.tgz#239d0e7dd9e6c15e9ac6cff856ee0541276aeb9c" @@ -4160,10 +4448,30 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" +glob-parent@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + glob-promise@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.1.0.tgz#198882a3817be7dc2c55f92623aa9e7b3f82d1eb" +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" + dependencies: + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" + glob@7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" @@ -4175,6 +4483,16 @@ glob@7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^5.0.3: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -4259,6 +4577,12 @@ globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + good-listener@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" @@ -4280,6 +4604,26 @@ got@^3.2.0: read-all-stream "^3.0.0" timed-out "^2.0.0" +got@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -4296,10 +4640,14 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, graceful-fs@^4.1.6: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + graphcool-styles@^0.1.31: version "0.1.33" resolved "https://registry.yarnpkg.com/graphcool-styles/-/graphcool-styles-0.1.33.tgz#3df3ab41e73ce246ae18e4d660017595bf2c10f9" @@ -4326,11 +4674,11 @@ graphiql@^0.11.2: codemirror-graphql "^0.6.8" marked "0.3.6" -graphql-anywhere@^3.0.0, graphql-anywhere@^3.0.1: +graphql-anywhere@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz#3ea0d8e8646b5cee68035016a9a7557c15c21e96" -graphql-cli-voyager@0.1.2: +graphql-cli-voyager@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/graphql-cli-voyager/-/graphql-cli-voyager-0.1.2.tgz#8e0c43ca7133a9fdff20ac7ca427cddc4288b79f" dependencies: @@ -4340,7 +4688,7 @@ graphql-cli-voyager@0.1.2: graphql-voyager "^1.0.0-rc.7" opn "^5.1.0" -graphql-cli@1.0.0-beta.4, graphql-cli@^1.0.0-beta.1: +graphql-cli@^1.0.0-beta.1, graphql-cli@^1.0.0-beta.4: version "1.0.0-beta.4" resolved "https://registry.yarnpkg.com/graphql-cli/-/graphql-cli-1.0.0-beta.4.tgz#2c654b1644c9d45a87b09d0f5119ba2264800e21" dependencies: @@ -4476,7 +4824,7 @@ graphql-voyager@^1.0.0-rc.7: reselect "^3.0.1" svg-pan-zoom "^3.5.1" -graphql@0.10.5, "graphql@0.7.1 - 1.0.0", graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5: +"graphql@0.7.1 - 1.0.0", graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298" dependencies: @@ -4492,13 +4840,65 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" +gulp-decompress@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7" + dependencies: + archive-type "^3.0.0" + decompress "^3.0.0" + gulp-util "^3.0.1" + readable-stream "^2.0.2" + +gulp-rename@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-util@^3.0.1: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + gzip-size@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" dependencies: duplexer "^0.1.1" -handlebars@4.0.10, handlebars@^4.0.3: +handlebars@^4.0.10, handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -4533,6 +4933,12 @@ has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -4579,7 +4985,7 @@ helmet-csp@2.5.1: lodash.reduce "4.6.0" platform "1.3.4" -helmet@3.8.1: +helmet@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.8.1.tgz#bef2b68ffbaa19759e858c19cca7db213bb58b2d" dependencies: @@ -4785,7 +5191,7 @@ https-proxy-agent@^1.0.0: debug "2" extend "3" -husky@0.14.3: +husky@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" dependencies: @@ -4835,6 +5241,69 @@ ignore@^3.2.0, ignore@^3.2.7, ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +image-webpack-loader@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/image-webpack-loader/-/image-webpack-loader-3.3.1.tgz#d2d72be024f8975e48c984f2401c0c484897cbd3" + dependencies: + imagemin "^5.2.2" + imagemin-gifsicle "^5.1.0" + imagemin-mozjpeg "^6.0.0" + imagemin-optipng "^5.2.1" + imagemin-pngquant "^5.0.0" + imagemin-svgo "^5.2.1" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +imagemin-gifsicle@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz#3781524c457612ef04916af34241a2b42bfcb40a" + dependencies: + exec-buffer "^3.0.0" + gifsicle "^3.0.0" + is-gif "^1.0.0" + +imagemin-mozjpeg@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz#71a32a457aa1b26117a68eeef2d9b190c2e5091e" + dependencies: + exec-buffer "^3.0.0" + is-jpg "^1.0.0" + mozjpeg "^4.0.0" + +imagemin-optipng@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz#d22da412c09f5ff00a4339960b98a88b1dbe8695" + dependencies: + exec-buffer "^3.0.0" + is-png "^1.0.0" + optipng-bin "^3.0.0" + +imagemin-pngquant@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-5.0.1.tgz#d8a329da553afa226b11ce62debe0b7e37b439e6" + dependencies: + exec-buffer "^3.0.0" + is-png "^1.0.0" + pngquant-bin "^3.0.0" + +imagemin-svgo@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.2.tgz#501699f5789730a57922b8736ea15c53f7b55838" + dependencies: + is-svg "^2.0.0" + svgo "^0.7.0" + +imagemin@^5.2.2: + version "5.3.1" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-5.3.1.tgz#f19c2eee1e71ba6c6558c515f9fc96680189a6d4" + dependencies: + file-type "^4.1.0" + globby "^6.1.0" + make-dir "^1.0.0" + p-pipe "^1.1.0" + pify "^2.3.0" + replace-ext "^1.0.0" + immutable@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" @@ -4930,13 +5399,32 @@ inquirer@^0.12.0: chalk "^1.0.0" cli-cursor "^1.0.1" cli-width "^2.0.0" - figures "^1.3.5" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.2.tgz#c2aaede1507cc54d826818737742d621bef2e823" + dependencies: + ansi-escapes "^2.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" through "^2.3.6" insert-css@^1.0.0: @@ -4961,7 +5449,11 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip@1.1.5: +ip-regex@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" + +ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -4977,6 +5469,12 @@ is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" +is-absolute@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" + dependencies: + is-relative "^0.1.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5001,6 +5499,10 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-bzip2@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc" + is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" @@ -5065,6 +5567,10 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" +is-gif@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -5077,6 +5583,14 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-gzip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" + +is-jpg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.0.tgz#2959c17e73430db38264da75b90dd54f2d86da1c" + is-my-json-valid@^2.10.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" @@ -5086,6 +5600,10 @@ is-my-json-valid@^2.10.0: jsonpointer "^4.0.0" xtend "^4.0.0" +is-natural-number@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -5132,6 +5650,10 @@ is-plain-object@^2.0.1: dependencies: isobject "^3.0.1" +is-png@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -5162,6 +5684,10 @@ is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" +is-relative@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82" + is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" @@ -5194,14 +5720,26 @@ is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" +is-tar@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" +is-url@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" + is-windows@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.1.1.tgz#be310715431cfabccc54ab3951210fa0b6d01abe" @@ -5214,6 +5752,10 @@ is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" +is-zip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -5236,7 +5778,7 @@ isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" -isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: +isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" dependencies: @@ -5389,7 +5931,7 @@ jest-environment-jsdom@^20.0.3: jest-util "^20.0.3" jsdom "^9.12.0" -jest-environment-node-debug@2.0.0: +jest-environment-node-debug@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jest-environment-node-debug/-/jest-environment-node-debug-2.0.0.tgz#5ef098942fec1b6af5ee4841f4f8a2ff419562f9" @@ -5529,7 +6071,7 @@ jest-validate@^20.0.3: leven "^2.1.0" pretty-format "^20.0.3" -jest@20.0.4: +jest@^20.0.4: version "20.0.4" resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac" dependencies: @@ -5539,7 +6081,7 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-cookie@2.1.4: +js-cookie@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.1.4.tgz#da4ec503866f149d164cf25f579ef31015025d8d" @@ -5721,6 +6263,16 @@ lazy-cache@^1.0.3, lazy-cache@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lazy-req@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -5749,7 +6301,7 @@ limit-spawn@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/limit-spawn/-/limit-spawn-0.0.3.tgz#cc09c24467a0f0a1ed10a5196dba597cad3f65dc" -lint-staged@4.0.3: +lint-staged@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.0.3.tgz#1ce55591bc2c83a781a90b69a0a0c8aa0fc6370b" dependencies: @@ -5883,6 +6435,14 @@ lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" @@ -5903,6 +6463,22 @@ lodash._isiterateecall@^3.0.0: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + lodash.assign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" @@ -5950,6 +6526,12 @@ lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + lodash.filter@^4.4.0, lodash.filter@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" @@ -5974,7 +6556,7 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isequal@^4.1.1: +lodash.isequal@^4.0.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -6046,6 +6628,27 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.unescape@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" @@ -6075,6 +6678,13 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" +logalot@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552" + dependencies: + figures "^1.3.5" + squeak "^1.0.0" + loglevel-colored-level-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" @@ -6086,7 +6696,7 @@ loglevel@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.4.1.tgz#95b383f91a3c2756fd4ab093667e4309161f2bcd" -longest@^1.0.1: +longest@^1.0.0, longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -6111,12 +6721,14 @@ lowercase-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" -lru-cache@4.1.1, lru-cache@^4.0.0, lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" +lpad-align@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.2.tgz#21f600ac1c3095c3c6e497ee67271ee08481fe9e" dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + get-stdin "^4.0.1" + indent-string "^2.1.0" + longest "^1.0.0" + meow "^3.3.0" lru-cache@^3.2.0: version "3.2.0" @@ -6124,6 +6736,13 @@ lru-cache@^3.2.0: dependencies: pseudomap "^1.0.1" +lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" @@ -6212,7 +6831,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0, meow@^3.7.0: +meow@^3.1.0, meow@^3.3.0, meow@^3.5.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -6231,6 +6850,12 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -6253,7 +6878,7 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.1.5, micromatch@^2.3.11: +micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -6353,10 +6978,18 @@ mobx@^2.3.4: version "2.7.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" -moment@2.18.1, moment@^2.11.2, moment@^2.18.1: +moment@^2.11.2, moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" +mozjpeg@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/mozjpeg/-/mozjpeg-4.1.1.tgz#859030b24f689a53db9b40f0160d89195b88fd50" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -6370,6 +7003,12 @@ multimatch@^2.0.0: arrify "^1.0.0" minimatch "^3.0.0" +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" @@ -6430,22 +7069,22 @@ netrc@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" -next-cookies@1.0.1: +next-cookies@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/next-cookies/-/next-cookies-1.0.1.tgz#8ceeef4b88ba1b84571b1fccc9464b77548898f8" dependencies: component-cookie "^1.1.3" cookie "^0.3.1" -next-routes@1.0.40: +next-routes@^1.0.40: version "1.0.40" resolved "https://registry.yarnpkg.com/next-routes/-/next-routes-1.0.40.tgz#1987ed88be808440f7eb963d3836916f46938e73" dependencies: path-to-regexp "^1.7.0" -next@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/next/-/next-3.0.3.tgz#35128ba8359064ffe8d1d5e5543410319c6d66d3" +next@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/next/-/next-3.0.6.tgz#14d9330b1f4eab60fdb84523034a3016f16fe414" dependencies: ansi-html "0.0.7" babel-core "6.25.0" @@ -6502,7 +7141,7 @@ next@3.0.3: write-file-webpack-plugin "4.1.0" xss-filters "1.2.7" -ngrok@2.2.17: +ngrok@^2.2.17: version "2.2.17" resolved "https://registry.yarnpkg.com/ngrok/-/ngrok-2.2.17.tgz#173747e1d433f362145217a5764500e089806a2d" dependencies: @@ -6595,11 +7234,15 @@ node-pre-gyp@^0.6.36: tar "^2.2.1" tar-pack "^3.4.0" +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" + node-version@1.1.0, node-version@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/node-version/-/node-version-1.1.0.tgz#f437d7ba407e65e2c4eaef8887b1718ba523d4f0" -nodemon@1.11.0: +nodemon@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" dependencies: @@ -6727,11 +7370,15 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + object-assign@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -6795,7 +7442,7 @@ object.values@^1.0.4: function-bind "^1.1.0" has "^1.0.1" -offline-plugin@4.8.3: +offline-plugin@^4.8.3: version "4.8.3" resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.3.tgz#9e95bd342ea2ac836b001b81f204c40638694d6c" dependencies: @@ -6867,6 +7514,14 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +optipng-bin@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + ora@1.3.0, ora@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" @@ -6885,6 +7540,13 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" + original@>=0.0.5: version "1.0.0" resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" @@ -6895,6 +7557,10 @@ os-browserify@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" +os-filter-obj@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad" + os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -6946,6 +7612,10 @@ p-map@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" +p-pipe@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" + package-json@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0" @@ -7006,7 +7676,7 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.2.0: +parse-json@^2.1.0, parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: @@ -7028,6 +7698,10 @@ path-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -7101,6 +7775,10 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" @@ -7174,6 +7852,14 @@ pluralize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" +pngquant-bin@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pngquant-bin/-/pngquant-bin-3.1.1.tgz#d124d98a75a9487f40c1640b4dbfcbb2bd5a1fd1" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + podda@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/podda/-/podda-1.2.2.tgz#15b0edbd334ade145813343f5ecf9c10a71cf500" @@ -7553,7 +8239,7 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.6: source-map "^0.5.6" supports-color "^4.2.1" -pre-commit@1.2.2: +pre-commit@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" dependencies: @@ -7573,9 +8259,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier-eslint-cli@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.1.1.tgz#b2630e31ac3b3379ecf02c130f5b219c04a0bc3c" +prettier-eslint-cli@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.2.0.tgz#733e19efac70432c2ef989665c0e458985c62fd3" dependencies: arrify "^1.0.1" babel-runtime "^6.23.0" @@ -7583,6 +8269,7 @@ prettier-eslint-cli@^4.1.1: camelcase-keys "^4.1.0" chalk "^1.1.3" common-tags "^1.4.0" + eslint "^3.19.0" find-up "^2.1.0" get-stdin "^5.0.1" glob "^7.1.1" @@ -7837,7 +8524,7 @@ raw-loader@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: +rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7: version "1.2.1" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: @@ -7853,22 +8540,18 @@ react-addons-shallow-compare@^15.4.2: fbjs "^0.8.4" object-assign "^4.1.0" -react-addons-test-utils@15.6.0: +react-addons-test-utils@^15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" -react-apollo@1.4.12: - version "1.4.12" - resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.12.tgz#0cacbdd335acec4c1079feb48047df1c43f77bdf" +react-apollo@^1.4.14: + version "1.4.14" + resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.14.tgz#86af913887e447710e4e5d85ca6277b35f1a3b82" dependencies: apollo-client "^1.4.0" - graphql-anywhere "^3.0.0" graphql-tag "^2.0.0" hoist-non-react-statics "^2.2.0" invariant "^2.2.1" - lodash.flatten "^4.2.0" - lodash.isequal "^4.1.1" - lodash.isobject "^3.0.2" lodash.pick "^4.4.0" object-assign "^4.0.1" prop-types "^15.5.8" @@ -7919,7 +8602,7 @@ react-dom-factories@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.1.tgz#c50692ac5ff1adb39d86dfe6dbe3485dacf58455" -react-dom@15.6.1, react-dom@^15.3.2, react-dom@^15.4.2: +react-dom@^15.3.2, react-dom@^15.4.2, react-dom@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" dependencies: @@ -7928,7 +8611,7 @@ react-dom@15.6.1, react-dom@^15.3.2, react-dom@^15.4.2: object-assign "^4.1.0" prop-types "^15.5.10" -react-helmet@5.1.3: +react-helmet@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.1.3.tgz#cd40626593a29eecf684b6d38d711f44c48188af" dependencies: @@ -7993,7 +8676,7 @@ react-komposer@^2.0.0: react-stubber "^1.0.0" shallowequal "^0.2.2" -react-modal@^1.6.5, react-modal@^1.7.7: +react-modal@^1.6.5: version "1.9.7" resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-1.9.7.tgz#07ef56790b953e3b98ef1e2989e347983c72871d" dependencies: @@ -8012,6 +8695,14 @@ react-modal@^2.2.1: prop-types "^15.5.10" react-dom-factories "^1.0.0" +react-modal@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.2.4.tgz#a32483c3555bd7677f09bca65d82f51da3abcbc0" + dependencies: + exenv "^1.2.0" + prop-types "^15.5.10" + react-dom-factories "^1.0.0" + react-onclickoutside@^5.9.0: version "5.11.1" resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-5.11.1.tgz#00314e52567cf55faba94cabbacd119619070623" @@ -8024,7 +8715,7 @@ react-proxy@^3.0.0-alpha.0: dependencies: lodash "^4.6.1" -react-redux@5.0.6, react-redux@^5.0.5: +react-redux@^5.0.5, react-redux@^5.0.6: version "5.0.6" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946" dependencies: @@ -8069,7 +8760,7 @@ react-style-proptype@^3.0.0: dependencies: prop-types "^15.5.4" -react-test-renderer@15.6.1: +react-test-renderer@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.1.tgz#026f4a5bb5552661fd2cc4bbcd0d4bc8a35ebf7e" dependencies: @@ -8123,7 +8814,7 @@ react-virtualized@^8.11.3: dom-helpers "^2.4.0 || ^3.0.0" loose-envify "^1.3.0" -react@15.6.1, react@^15.4.2: +react@^15.4.2, react@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" dependencies: @@ -8200,7 +8891,7 @@ readable-stream@^1.0.33, readable-stream@^1.1.8, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -8302,7 +8993,7 @@ redux-thunk@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" -redux@3.7.2, redux@^3.4.0, redux@^3.6.0, redux@^3.7.1, redux@^3.7.2: +redux@^3.4.0, redux@^3.6.0, redux@^3.7.1, redux@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" dependencies: @@ -8381,9 +9072,9 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" -release@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/release/-/release-1.3.3.tgz#e52135efd8a141fe601b65381e2475a2d04b1393" +release@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/release/-/release-1.4.3.tgz#d00663e66c2a63925e610a21cc39434f0d83bd81" dependencies: args "3.0.4" async-retry "1.1.3" @@ -8457,6 +9148,14 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + request-promise-core@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" @@ -8586,7 +9285,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: +rimraf@2, rimraf@^2.2.6, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -8671,6 +9370,12 @@ seamless-immutable@^7.0.1: version "7.1.2" resolved "https://registry.yarnpkg.com/seamless-immutable/-/seamless-immutable-7.1.2.tgz#c87a1eba6767a32455311d76600ac5eddeafbb69" +seek-bzip@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + dependencies: + commander "~2.8.1" + select@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" @@ -8681,6 +9386,16 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + "semver@2 || 3 || 4 || 5", semver@5.4.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -8689,6 +9404,10 @@ semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +semver@^4.0.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" @@ -8752,7 +9471,7 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -set-immediate-shim@^1.0.1: +set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" @@ -8790,7 +9509,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@0.7.8, shelljs@^0.7.5, shelljs@^0.7.8: +shelljs@^0.7.5, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -8923,6 +9642,10 @@ sourcemapped-stacktrace@^1.1.6: dependencies: source-map "0.5.6" +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + spawn-sync@^1.0.15: version "1.0.15" resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" @@ -8985,6 +9708,14 @@ sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" +squeak@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3" + dependencies: + chalk "^1.0.0" + console-stream "^0.1.1" + lpad-align "^1.0.1" + sshpk@^1.7.0: version "1.13.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" @@ -9011,6 +9742,10 @@ staged-git-files@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" +stat-mode@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + "statuses@>= 1.2.1 < 2", "statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" @@ -9034,6 +9769,13 @@ stream-cache@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f" +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + stream-combiner@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" @@ -9150,6 +9892,13 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-bom-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" + dependencies: + first-chunk-stream "^1.0.0" + strip-bom "^2.0.0" + strip-bom@3.0.0, strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -9160,6 +9909,17 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-dirs@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0" + dependencies: + chalk "^1.0.0" + get-stdin "^4.0.1" + is-absolute "^0.1.5" + is-natural-number "^2.0.0" + minimist "^1.1.0" + sum-up "^1.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -9178,6 +9938,12 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +strip-outer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" + dependencies: + escape-string-regexp "^1.0.2" + style-loader@^0.17.0: version "0.17.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.17.0.tgz#e8254bccdb7af74bd58274e36107b4d5ab4df310" @@ -9205,7 +9971,7 @@ styled-components-stylefmt@^0.1.2: stylefmt "^5.3.2" stylelint-processor-styled-components "^0.1.0" -styled-components@2.1.2: +styled-components@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.2.tgz#bb419978e1287c5d0d88fa9106b2dd75f66a324c" dependencies: @@ -9295,9 +10061,9 @@ stylelint-processor-styled-components@^0.1.0: typescript "~2.3.2" typescript-eslint-parser "^3.0.0" -stylelint-processor-styled-components@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.2.2.tgz#be6e3a26d2a7e4d2655b2f8d92a743d399bd94ed" +stylelint-processor-styled-components@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.3.0.tgz#74fcfc600079bb80e83005e6e89dc75de53b7d95" dependencies: babel-traverse "^6.16.0" babylon "^6.12.0" @@ -9420,6 +10186,12 @@ sugarss@^1.0.0: dependencies: postcss "^6.0.0" +sum-up@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" + dependencies: + chalk "^1.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -9530,6 +10302,15 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" +tar-stream@^1.1.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" + dependencies: + bl "^1.0.0" + end-of-stream "^1.0.0" + readable-stream "^2.0.0" + xtend "^4.0.0" + tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" @@ -9538,6 +10319,24 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + +tempfile@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + +tempfile@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265" + dependencies: + temp-dir "^1.0.0" + uuid "^3.0.1" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -9580,14 +10379,21 @@ throat@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836" -through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^0.6.0, through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" dependencies: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^2.0.0: +through2@^2.0.0, through2@~2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -9605,6 +10411,10 @@ through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, t version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + time-stamp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" @@ -9613,6 +10423,10 @@ timed-out@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -9642,6 +10456,12 @@ tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + dependencies: + extend-shallow "^2.0.1" + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -9690,6 +10510,12 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + dependencies: + escape-string-regexp "^1.0.2" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -9706,6 +10532,10 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" +tunnel-agent@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -9817,6 +10647,13 @@ uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -9831,6 +10668,10 @@ unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" @@ -9872,7 +10713,7 @@ url-join@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" -url-loader@^0.5.8: +url-loader@^0.5.8, url-loader@^0.5.9: version "0.5.9" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" dependencies: @@ -9899,6 +10740,12 @@ url-parse@^1.1.8: querystringify "~1.0.0" requires-port "1.0.x" +url-regex@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724" + dependencies: + ip-regex "^1.0.1" + url@0.11.0, url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -9942,6 +10789,10 @@ uuid@^2.0.1, uuid@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -9978,6 +10829,58 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vinyl-assign@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45" + dependencies: + object-assign "^4.0.1" + readable-stream "^2.0.0" + +vinyl-fs@^2.2.0: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" + strip-bom "^2.0.0" + strip-bom-stream "^1.0.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" + +vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -9996,6 +10899,12 @@ walker@~1.0.5: dependencies: makeerror "1.0.x" +ware@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" + dependencies: + wrap-fn "^0.1.0" + warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" @@ -10022,7 +10931,7 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" -webpack-bundle-analyzer@2.9.0: +webpack-bundle-analyzer@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.0.tgz#b58bc34cc30b27ffdbaf3d00bf27aba6fa29c6e3" dependencies: @@ -10242,6 +11151,12 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-fn@^0.1.0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" + dependencies: + co "3.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -10323,7 +11238,7 @@ xss-filters@1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/xss-filters/-/xss-filters-1.2.7.tgz#59fa1de201f36f2f3470dcac5f58ccc2830b0a9a" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -10438,6 +11353,13 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" +yauzl@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" + zen-observable-ts@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz#a74bc9fe59747948a577bd513d438e70fcfae7e2" From 744641cfe893559a851c1188d065476d6e75e2d0 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sat, 19 Aug 2017 23:25:41 +0300 Subject: [PATCH 23/28] apollo-test-utils dont work, post info story test is working with MockedProvider --- .graphqlconfig | 2 +- app/__utils__/{Layout => Themed}/index.js | 0 app/__utils__/{Layout => Themed}/jest.js | 4 +- app/__utils__/{Layout => Themed}/storybook.js | 4 +- app/__utils__/makeWithMockedProvider/index.js | 27 + .../LinkList/__tests__/index.stories.js | 10 +- .../LinkList/__tests__/index.test.js | 10 +- .../PostInfo/__tests__/index.stories.js | 23 +- app/schema.json | 10027 ++++++++++++++++ package.json | 2 + schema.graphql | 1740 --- yarn.lock | 407 +- 12 files changed, 10296 insertions(+), 1960 deletions(-) rename app/__utils__/{Layout => Themed}/index.js (100%) rename app/__utils__/{Layout => Themed}/jest.js (70%) rename app/__utils__/{Layout => Themed}/storybook.js (81%) create mode 100644 app/__utils__/makeWithMockedProvider/index.js create mode 100644 app/schema.json delete mode 100644 schema.graphql diff --git a/.graphqlconfig b/.graphqlconfig index c94e942c..b8b69aa2 100644 --- a/.graphqlconfig +++ b/.graphqlconfig @@ -1,5 +1,5 @@ { - "schemaPath": "schema.graphql", + "schemaPath": "app/schema.json", "extensions": { "endpoints": { "default": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn" diff --git a/app/__utils__/Layout/index.js b/app/__utils__/Themed/index.js similarity index 100% rename from app/__utils__/Layout/index.js rename to app/__utils__/Themed/index.js diff --git a/app/__utils__/Layout/jest.js b/app/__utils__/Themed/jest.js similarity index 70% rename from app/__utils__/Layout/jest.js rename to app/__utils__/Themed/jest.js index 40085b2b..b6768107 100644 --- a/app/__utils__/Layout/jest.js +++ b/app/__utils__/Themed/jest.js @@ -1,9 +1,9 @@ import { ThemeProvider } from 'styled-components' import getTheme from '~/themes' -const JestLayout = ({ children, theme }) => +const JestThemed = ({ children, theme }) => {children} -export default JestLayout +export default JestThemed diff --git a/app/__utils__/Layout/storybook.js b/app/__utils__/Themed/storybook.js similarity index 81% rename from app/__utils__/Layout/storybook.js rename to app/__utils__/Themed/storybook.js index bb44b108..2708e183 100644 --- a/app/__utils__/Layout/storybook.js +++ b/app/__utils__/Themed/storybook.js @@ -6,9 +6,9 @@ const themes = ['main', 'eightbit', 'inverted'] const defaultTheme = themes[0] const themeSelector = select('Theme', themes, defaultTheme) -const StorybookLayout = ({ children, theme }) => +const StorybookThemed = ({ children, theme }) => {children} -export default StorybookLayout +export default StorybookThemed diff --git a/app/__utils__/makeWithMockedProvider/index.js b/app/__utils__/makeWithMockedProvider/index.js new file mode 100644 index 00000000..2b1ef57b --- /dev/null +++ b/app/__utils__/makeWithMockedProvider/index.js @@ -0,0 +1,27 @@ +import { buildClientSchema, addMockFunctionsToSchema } from 'graphql-tools' +import { mockNetworkInterfaceWithSchema } from 'apollo-test-utils' +import ApolloClient from 'apollo-client' +import { ApolloProvider } from 'react-apollo' + +import * as introspectionResult from '~/schema.json' +console.log(introspectionResult) + +export default function makeWithMockedProvider(mocks) { + const schema = buildClientSchema(introspectionResult) + + addMockFunctionsToSchema({ + schema, + mocks, + }) + + const mockNetworkInterface = mockNetworkInterfaceWithSchema({ schema }) + + const client = new ApolloClient({ + networkInterface: mockNetworkInterface, + }) + + return children => + + {children} + +} diff --git a/app/components/LinkList/__tests__/index.stories.js b/app/components/LinkList/__tests__/index.stories.js index 088d86a0..09f0d4b9 100644 --- a/app/components/LinkList/__tests__/index.stories.js +++ b/app/components/LinkList/__tests__/index.stories.js @@ -4,25 +4,25 @@ import { storiesOf } from '@storybook/react' import { action } from '@storybook/addon-actions' import { text, boolean } from '@storybook/addon-knobs' -import Layout from '~/__utils__/Layout' +import Themed from '~/__utils__/Themed' import LinkList from '../' storiesOf('LinkList', module) .add('authenticated', () => - + - + ) .add('nonauthenticated', () => - + - + ) diff --git a/app/components/LinkList/__tests__/index.test.js b/app/components/LinkList/__tests__/index.test.js index a3fd3f85..b1a4294d 100644 --- a/app/components/LinkList/__tests__/index.test.js +++ b/app/components/LinkList/__tests__/index.test.js @@ -1,7 +1,7 @@ import React from 'react' import { mount } from 'enzyme' -import Layout from '~/__utils__/Layout' +import Themed from '~/__utils__/Themed' import LinkList from '../' const noop = () => {} @@ -9,9 +9,9 @@ const noop = () => {} describe('', () => { it('when not authenticated', () => { const child = ( - + - + ) const wrapper = mount(child) const text = wrapper.text() @@ -25,9 +25,9 @@ describe('', () => { it('when authenticated', () => { const child = ( - + - + ) const wrapper = mount(child) const text = wrapper.text() diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index 9e762691..e0045251 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -4,13 +4,13 @@ import { addTypenameToDocument } from 'apollo-client' import { storiesOf } from '@storybook/react' import PostInfo from '../' -import PostInfoWithoutData from '../feature' +import PostInfoFeature from '../feature' import getPostGql from '../getPost.gql' const query = addTypenameToDocument(getPostGql) storiesOf('PostInfo', module) - .add('loading', () => ) + .add('loading', () => ) .add('showing post', () => { const variables = { postId: 1 } const data = { @@ -18,6 +18,9 @@ storiesOf('PostInfo', module) title: 'title', id: 'id', url: 'someurl', + votes: 1, + createdAt: new Date(), + __typename: 'Post', }, } @@ -29,3 +32,19 @@ storiesOf('PostInfo', module) ) }) +// .add('no such post', () => { +// const variables = { postId: 1 } +// const data = { +// error: { +// +// }, +// } +// +// const mocks = [{ request: { query, variables }, result: { data } }] +// +// return ( +// +// +// +// ) +// }) diff --git a/app/schema.json b/app/schema.json new file mode 100644 index 00000000..6cc70808 --- /dev/null +++ b/app/schema.json @@ -0,0 +1,10027 @@ +{ + "data": { + "__schema": { + "queryType": { + "name": "Query" + }, + "mutationType": { + "name": "Mutation" + }, + "subscriptionType": { + "name": "Subscription" + }, + "types": [ + { + "kind": "OBJECT", + "name": "Query", + "description": null, + "fields": [ + { + "name": "allFiles", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "FileOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "File", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allPosts", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "PostOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allUsers", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allFilesMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "FileOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allPostsMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "PostOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "_allUsersMeta", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "ENUM", + "name": "UserOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "_QueryMeta", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "File", + "description": null, + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Post", + "description": null, + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "User", + "description": null, + "args": [ + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "Fetches an object given its ID", + "args": [ + { + "name": "id", + "description": "The ID of an object", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DateTime", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "contentType_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "File", + "description": null, + "fields": [ + { + "name": "contentType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "description": "An object with an ID", + "fields": [ + { + "name": "id", + "description": "The id of the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PostOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Post", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserOrderBy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "createdAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "User", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "_QueryMeta", + "description": "Meta information about the query.", + "fields": [ + { + "name": "count", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": null, + "fields": [ + { + "name": "createFile", + "description": null, + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPost", + "description": null, + "args": [ + { + "name": "title", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "votes", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateFile", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePost", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateUser", + "description": null, + "args": [ + { + "name": "firstName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreateFile", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateFile", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateFile", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreatePost", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePost", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreatePost", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOrCreateUser", + "description": null, + "args": [ + { + "name": "update", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUser", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "create", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUser", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteFile", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletePost", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteUser", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "signinUser", + "description": null, + "args": [ + { + "name": "email", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SigninPayload", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createUser", + "description": null, + "args": [ + { + "name": "firstName", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authProvider", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AuthProviderSignupData", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateFile", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateFile", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdatePost", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreatePost", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "title", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateUser", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateUser", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "firstName", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "email", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SigninPayload", + "description": "If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.", + "fields": [ + { + "name": "token", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AuthProviderSignupData", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "email", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "AUTH_PROVIDER_EMAIL", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Subscription", + "description": null, + "fields": [ + { + "name": "File", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Post", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PostSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "User", + "description": null, + "args": [ + { + "name": "filter", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "_ModelMutationType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "contentType", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "contentType_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "contentType_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "secret_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "size_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "size_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "FilePreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FilePreviousValues", + "description": null, + "fields": [ + { + "name": "contentType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PostSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "title_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "url_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "votes_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "votes_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PostSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Post", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "PostPreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PostPreviousValues", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "votes", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": "Logical AND on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "OR", + "description": "Logical OR on all given filters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilter", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mutation_in", + "description": "The subscription event gets dispatched when it's listed in mutation_in", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains", + "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_every", + "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedFields_contains_some", + "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "node", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilterNode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserSubscriptionFilterNode", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "email_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "firstName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastName_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "password_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_contains", + "description": "All values containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_contains", + "description": "All values not containing the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_starts_with", + "description": "All values starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_starts_with", + "description": "All values not starting with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_ends_with", + "description": "All values ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password_not_ends_with", + "description": "All values not ending with the given string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt", + "description": "", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_not", + "description": "All values that are not equal to given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_in", + "description": "All values that are contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_not_in", + "description": "All values that are not contained in given list.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAt_lt", + "description": "All values less than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_lte", + "description": "All values less than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gt", + "description": "All values greater than the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAt_gte", + "description": "All values greater than or equal the given value.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserSubscriptionPayload", + "description": null, + "fields": [ + { + "name": "mutation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ModelMutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousValues", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreviousValues", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserPreviousValues", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "The `Boolean` scalar type represents `true` or `false`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onOperation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onFragment", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onField", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + } + ], + "directives": [ + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "ENUM_VALUE", + "FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"" + } + ] + } + ] + } + }, + "extensions": { + "graphql-config": { + "source": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn", + "timestamp": "Sat Aug 19 2017 22:45:55 GMT+0300 (EEST)" + } + } +} \ No newline at end of file diff --git a/package.json b/package.json index b8891ea0..eeed5f3c 100644 --- a/package.json +++ b/package.json @@ -103,6 +103,7 @@ "@storybook/addon-options": "3.2.4", "@storybook/addon-storyshots": "3.2.5", "@storybook/react": "3.2.5", + "apollo-test-utils": "^0.3.2", "babel-eslint": "7.2.3", "babel-plugin-inline-import-graphql-ast": "2.0.0", "babel-plugin-root-import": "5.1.0", @@ -127,6 +128,7 @@ "file-loader": "0.11.2", "graphql-cli": "1.0.0-beta.4", "graphql-cli-voyager": "0.1.2", + "graphql-tools": "^1.2.1", "handlebars": "4.0.10", "husky": "0.14.3", "image-webpack-loader": "3.3.1", diff --git a/schema.graphql b/schema.graphql deleted file mode 100644 index 61872441..00000000 --- a/schema.graphql +++ /dev/null @@ -1,1740 +0,0 @@ -# source: https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn -# timestamp: Wed Aug 16 2017 21:09:30 GMT+0300 (EEST) - -enum _ModelMutationType { - CREATED - UPDATED - DELETED -} - -# Meta information about the query. -type _QueryMeta { - count: Int! -} - -input AUTH_PROVIDER_EMAIL { - email: String! - password: String! -} - -input AuthProviderSignupData { - email: AUTH_PROVIDER_EMAIL -} - -# The `BigDecimal` scalar type represents signed fractional values with arbitrary precision. -scalar BigDecimal - -# The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent arbitrary big values. -scalar BigInt - -input CreateFile { - name: String! -} - -input CreatePost { - title: String! - url: String! - votes: Int -} - -input CreateUser { - firstName: String! - lastName: String! -} - -scalar DateTime - -type File implements Node { - contentType: String! - createdAt: DateTime - id: ID! - name: String! - secret: String! - size: Int! - updatedAt: DateTime - url: String! -} - -input FileFilter { - # Logical AND on all given filters. - AND: [FileFilter!] - - # Logical OR on all given filters. - OR: [FileFilter!] - contentType: String - - # All values that are not equal to given value. - contentType_not: String - - # All values that are contained in given list. - contentType_in: [String!] - - # All values that are not contained in given list. - contentType_not_in: [String!] - - # All values less than the given value. - contentType_lt: String - - # All values less than or equal the given value. - contentType_lte: String - - # All values greater than the given value. - contentType_gt: String - - # All values greater than or equal the given value. - contentType_gte: String - - # All values containing the given string. - contentType_contains: String - - # All values not containing the given string. - contentType_not_contains: String - - # All values starting with the given string. - contentType_starts_with: String - - # All values not starting with the given string. - contentType_not_starts_with: String - - # All values ending with the given string. - contentType_ends_with: String - - # All values not ending with the given string. - contentType_not_ends_with: String - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - name: String - - # All values that are not equal to given value. - name_not: String - - # All values that are contained in given list. - name_in: [String!] - - # All values that are not contained in given list. - name_not_in: [String!] - - # All values less than the given value. - name_lt: String - - # All values less than or equal the given value. - name_lte: String - - # All values greater than the given value. - name_gt: String - - # All values greater than or equal the given value. - name_gte: String - - # All values containing the given string. - name_contains: String - - # All values not containing the given string. - name_not_contains: String - - # All values starting with the given string. - name_starts_with: String - - # All values not starting with the given string. - name_not_starts_with: String - - # All values ending with the given string. - name_ends_with: String - - # All values not ending with the given string. - name_not_ends_with: String - secret: String - - # All values that are not equal to given value. - secret_not: String - - # All values that are contained in given list. - secret_in: [String!] - - # All values that are not contained in given list. - secret_not_in: [String!] - - # All values less than the given value. - secret_lt: String - - # All values less than or equal the given value. - secret_lte: String - - # All values greater than the given value. - secret_gt: String - - # All values greater than or equal the given value. - secret_gte: String - - # All values containing the given string. - secret_contains: String - - # All values not containing the given string. - secret_not_contains: String - - # All values starting with the given string. - secret_starts_with: String - - # All values not starting with the given string. - secret_not_starts_with: String - - # All values ending with the given string. - secret_ends_with: String - - # All values not ending with the given string. - secret_not_ends_with: String - size: Int - - # All values that are not equal to given value. - size_not: Int - - # All values that are contained in given list. - size_in: [Int!] - - # All values that are not contained in given list. - size_not_in: [Int!] - - # All values less than the given value. - size_lt: Int - - # All values less than or equal the given value. - size_lte: Int - - # All values greater than the given value. - size_gt: Int - - # All values greater than or equal the given value. - size_gte: Int - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String -} - -enum FileOrderBy { - contentType_ASC - contentType_DESC - createdAt_ASC - createdAt_DESC - id_ASC - id_DESC - name_ASC - name_DESC - secret_ASC - secret_DESC - size_ASC - size_DESC - updatedAt_ASC - updatedAt_DESC - url_ASC - url_DESC -} - -type FilePreviousValues { - contentType: String! - createdAt: DateTime - id: ID! - name: String! - secret: String! - size: Int! - updatedAt: DateTime - url: String! -} - -input FileSubscriptionFilter { - # Logical AND on all given filters. - AND: [FileSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [FileSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: FileSubscriptionFilterNode -} - -input FileSubscriptionFilterNode { - contentType: String - - # All values that are not equal to given value. - contentType_not: String - - # All values that are contained in given list. - contentType_in: [String!] - - # All values that are not contained in given list. - contentType_not_in: [String!] - - # All values less than the given value. - contentType_lt: String - - # All values less than or equal the given value. - contentType_lte: String - - # All values greater than the given value. - contentType_gt: String - - # All values greater than or equal the given value. - contentType_gte: String - - # All values containing the given string. - contentType_contains: String - - # All values not containing the given string. - contentType_not_contains: String - - # All values starting with the given string. - contentType_starts_with: String - - # All values not starting with the given string. - contentType_not_starts_with: String - - # All values ending with the given string. - contentType_ends_with: String - - # All values not ending with the given string. - contentType_not_ends_with: String - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - name: String - - # All values that are not equal to given value. - name_not: String - - # All values that are contained in given list. - name_in: [String!] - - # All values that are not contained in given list. - name_not_in: [String!] - - # All values less than the given value. - name_lt: String - - # All values less than or equal the given value. - name_lte: String - - # All values greater than the given value. - name_gt: String - - # All values greater than or equal the given value. - name_gte: String - - # All values containing the given string. - name_contains: String - - # All values not containing the given string. - name_not_contains: String - - # All values starting with the given string. - name_starts_with: String - - # All values not starting with the given string. - name_not_starts_with: String - - # All values ending with the given string. - name_ends_with: String - - # All values not ending with the given string. - name_not_ends_with: String - secret: String - - # All values that are not equal to given value. - secret_not: String - - # All values that are contained in given list. - secret_in: [String!] - - # All values that are not contained in given list. - secret_not_in: [String!] - - # All values less than the given value. - secret_lt: String - - # All values less than or equal the given value. - secret_lte: String - - # All values greater than the given value. - secret_gt: String - - # All values greater than or equal the given value. - secret_gte: String - - # All values containing the given string. - secret_contains: String - - # All values not containing the given string. - secret_not_contains: String - - # All values starting with the given string. - secret_starts_with: String - - # All values not starting with the given string. - secret_not_starts_with: String - - # All values ending with the given string. - secret_ends_with: String - - # All values not ending with the given string. - secret_not_ends_with: String - size: Int - - # All values that are not equal to given value. - size_not: Int - - # All values that are contained in given list. - size_in: [Int!] - - # All values that are not contained in given list. - size_not_in: [Int!] - - # All values less than the given value. - size_lt: Int - - # All values less than or equal the given value. - size_lte: Int - - # All values greater than the given value. - size_gt: Int - - # All values greater than or equal the given value. - size_gte: Int - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String -} - -type FileSubscriptionPayload { - mutation: _ModelMutationType! - node: File - updatedFields: [String!] - previousValues: FilePreviousValues -} - -# The `Long` scalar type represents non-fractional signed whole numeric values. -# Long can represent values between -(2^63) and 2^63 - 1. -scalar Long - -type Mutation { - createFile(name: String!): File - createPost(title: String!, url: String!, votes: Int): Post - updateFile(id: ID!, name: String): File - updatePost(id: ID!, title: String, url: String, votes: Int): Post - updateUser(firstName: String, id: ID!, lastName: String): User - updateOrCreateFile(update: UpdateFile!, create: CreateFile!): File - updateOrCreatePost(update: UpdatePost!, create: CreatePost!): Post - updateOrCreateUser(update: UpdateUser!, create: CreateUser!): User - deleteFile(id: ID!): File - deletePost(id: ID!): Post - deleteUser(id: ID!): User - signinUser(email: AUTH_PROVIDER_EMAIL): SigninPayload! - createUser(firstName: String!, lastName: String!, authProvider: AuthProviderSignupData!): User -} - -# An object with an ID -interface Node { - # The id of the object. - id: ID! -} - -type Post implements Node { - createdAt: DateTime - id: ID! - title: String! - updatedAt: DateTime - url: String! - votes: Int -} - -input PostFilter { - # Logical AND on all given filters. - AND: [PostFilter!] - - # Logical OR on all given filters. - OR: [PostFilter!] - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - title: String - - # All values that are not equal to given value. - title_not: String - - # All values that are contained in given list. - title_in: [String!] - - # All values that are not contained in given list. - title_not_in: [String!] - - # All values less than the given value. - title_lt: String - - # All values less than or equal the given value. - title_lte: String - - # All values greater than the given value. - title_gt: String - - # All values greater than or equal the given value. - title_gte: String - - # All values containing the given string. - title_contains: String - - # All values not containing the given string. - title_not_contains: String - - # All values starting with the given string. - title_starts_with: String - - # All values not starting with the given string. - title_not_starts_with: String - - # All values ending with the given string. - title_ends_with: String - - # All values not ending with the given string. - title_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String - votes: Int - - # All values that are not equal to given value. - votes_not: Int - - # All values that are contained in given list. - votes_in: [Int!] - - # All values that are not contained in given list. - votes_not_in: [Int!] - - # All values less than the given value. - votes_lt: Int - - # All values less than or equal the given value. - votes_lte: Int - - # All values greater than the given value. - votes_gt: Int - - # All values greater than or equal the given value. - votes_gte: Int -} - -enum PostOrderBy { - createdAt_ASC - createdAt_DESC - id_ASC - id_DESC - title_ASC - title_DESC - updatedAt_ASC - updatedAt_DESC - url_ASC - url_DESC - votes_ASC - votes_DESC -} - -type PostPreviousValues { - createdAt: DateTime - id: ID! - title: String! - updatedAt: DateTime - url: String! - votes: Int -} - -input PostSubscriptionFilter { - # Logical AND on all given filters. - AND: [PostSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [PostSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: PostSubscriptionFilterNode -} - -input PostSubscriptionFilterNode { - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - title: String - - # All values that are not equal to given value. - title_not: String - - # All values that are contained in given list. - title_in: [String!] - - # All values that are not contained in given list. - title_not_in: [String!] - - # All values less than the given value. - title_lt: String - - # All values less than or equal the given value. - title_lte: String - - # All values greater than the given value. - title_gt: String - - # All values greater than or equal the given value. - title_gte: String - - # All values containing the given string. - title_contains: String - - # All values not containing the given string. - title_not_contains: String - - # All values starting with the given string. - title_starts_with: String - - # All values not starting with the given string. - title_not_starts_with: String - - # All values ending with the given string. - title_ends_with: String - - # All values not ending with the given string. - title_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime - url: String - - # All values that are not equal to given value. - url_not: String - - # All values that are contained in given list. - url_in: [String!] - - # All values that are not contained in given list. - url_not_in: [String!] - - # All values less than the given value. - url_lt: String - - # All values less than or equal the given value. - url_lte: String - - # All values greater than the given value. - url_gt: String - - # All values greater than or equal the given value. - url_gte: String - - # All values containing the given string. - url_contains: String - - # All values not containing the given string. - url_not_contains: String - - # All values starting with the given string. - url_starts_with: String - - # All values not starting with the given string. - url_not_starts_with: String - - # All values ending with the given string. - url_ends_with: String - - # All values not ending with the given string. - url_not_ends_with: String - votes: Int - - # All values that are not equal to given value. - votes_not: Int - - # All values that are contained in given list. - votes_in: [Int!] - - # All values that are not contained in given list. - votes_not_in: [Int!] - - # All values less than the given value. - votes_lt: Int - - # All values less than or equal the given value. - votes_lte: Int - - # All values greater than the given value. - votes_gt: Int - - # All values greater than or equal the given value. - votes_gte: Int -} - -type PostSubscriptionPayload { - mutation: _ModelMutationType! - node: Post - updatedFields: [String!] - previousValues: PostPreviousValues -} - -type Query { - allFiles(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [File!]! - allPosts(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [Post!]! - allUsers(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [User!]! - _allFilesMeta(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - _allPostsMeta(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - _allUsersMeta(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! - File(id: ID, secret: String, url: String): File - Post(id: ID): Post - User(email: String, id: ID): User - user: User - - # Fetches an object given its ID - node( - # The ID of an object - id: ID! - ): Node -} - -# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null. -type SigninPayload { - token: String - user: User -} - -type Subscription { - File(filter: FileSubscriptionFilter): FileSubscriptionPayload - Post(filter: PostSubscriptionFilter): PostSubscriptionPayload - User(filter: UserSubscriptionFilter): UserSubscriptionPayload -} - -input UpdateFile { - id: ID! - name: String -} - -input UpdatePost { - id: ID! - title: String - url: String - votes: Int -} - -input UpdateUser { - firstName: String - id: ID! - lastName: String -} - -type User implements Node { - createdAt: DateTime - email: String - firstName: String! - id: ID! - lastName: String! - password: String - updatedAt: DateTime -} - -input UserFilter { - # Logical AND on all given filters. - AND: [UserFilter!] - - # Logical OR on all given filters. - OR: [UserFilter!] - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - email: String - - # All values that are not equal to given value. - email_not: String - - # All values that are contained in given list. - email_in: [String!] - - # All values that are not contained in given list. - email_not_in: [String!] - - # All values less than the given value. - email_lt: String - - # All values less than or equal the given value. - email_lte: String - - # All values greater than the given value. - email_gt: String - - # All values greater than or equal the given value. - email_gte: String - - # All values containing the given string. - email_contains: String - - # All values not containing the given string. - email_not_contains: String - - # All values starting with the given string. - email_starts_with: String - - # All values not starting with the given string. - email_not_starts_with: String - - # All values ending with the given string. - email_ends_with: String - - # All values not ending with the given string. - email_not_ends_with: String - firstName: String - - # All values that are not equal to given value. - firstName_not: String - - # All values that are contained in given list. - firstName_in: [String!] - - # All values that are not contained in given list. - firstName_not_in: [String!] - - # All values less than the given value. - firstName_lt: String - - # All values less than or equal the given value. - firstName_lte: String - - # All values greater than the given value. - firstName_gt: String - - # All values greater than or equal the given value. - firstName_gte: String - - # All values containing the given string. - firstName_contains: String - - # All values not containing the given string. - firstName_not_contains: String - - # All values starting with the given string. - firstName_starts_with: String - - # All values not starting with the given string. - firstName_not_starts_with: String - - # All values ending with the given string. - firstName_ends_with: String - - # All values not ending with the given string. - firstName_not_ends_with: String - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - lastName: String - - # All values that are not equal to given value. - lastName_not: String - - # All values that are contained in given list. - lastName_in: [String!] - - # All values that are not contained in given list. - lastName_not_in: [String!] - - # All values less than the given value. - lastName_lt: String - - # All values less than or equal the given value. - lastName_lte: String - - # All values greater than the given value. - lastName_gt: String - - # All values greater than or equal the given value. - lastName_gte: String - - # All values containing the given string. - lastName_contains: String - - # All values not containing the given string. - lastName_not_contains: String - - # All values starting with the given string. - lastName_starts_with: String - - # All values not starting with the given string. - lastName_not_starts_with: String - - # All values ending with the given string. - lastName_ends_with: String - - # All values not ending with the given string. - lastName_not_ends_with: String - password: String - - # All values that are not equal to given value. - password_not: String - - # All values that are contained in given list. - password_in: [String!] - - # All values that are not contained in given list. - password_not_in: [String!] - - # All values less than the given value. - password_lt: String - - # All values less than or equal the given value. - password_lte: String - - # All values greater than the given value. - password_gt: String - - # All values greater than or equal the given value. - password_gte: String - - # All values containing the given string. - password_contains: String - - # All values not containing the given string. - password_not_contains: String - - # All values starting with the given string. - password_starts_with: String - - # All values not starting with the given string. - password_not_starts_with: String - - # All values ending with the given string. - password_ends_with: String - - # All values not ending with the given string. - password_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime -} - -enum UserOrderBy { - createdAt_ASC - createdAt_DESC - email_ASC - email_DESC - firstName_ASC - firstName_DESC - id_ASC - id_DESC - lastName_ASC - lastName_DESC - password_ASC - password_DESC - updatedAt_ASC - updatedAt_DESC -} - -type UserPreviousValues { - createdAt: DateTime - email: String - firstName: String! - id: ID! - lastName: String! - password: String - updatedAt: DateTime -} - -input UserSubscriptionFilter { - # Logical AND on all given filters. - AND: [UserSubscriptionFilter!] - - # Logical OR on all given filters. - OR: [UserSubscriptionFilter!] - - # The subscription event gets dispatched when it's listed in mutation_in - mutation_in: [_ModelMutationType!] - - # The subscription event gets only dispatched when one of the updated fields names is included in this list - updatedFields_contains: String - - # The subscription event gets only dispatched when all of the field names included in this list have been updated - updatedFields_contains_every: [String!] - - # The subscription event gets only dispatched when some of the field names included in this list have been updated - updatedFields_contains_some: [String!] - node: UserSubscriptionFilterNode -} - -input UserSubscriptionFilterNode { - createdAt: DateTime - - # All values that are not equal to given value. - createdAt_not: DateTime - - # All values that are contained in given list. - createdAt_in: [DateTime!] - - # All values that are not contained in given list. - createdAt_not_in: [DateTime!] - - # All values less than the given value. - createdAt_lt: DateTime - - # All values less than or equal the given value. - createdAt_lte: DateTime - - # All values greater than the given value. - createdAt_gt: DateTime - - # All values greater than or equal the given value. - createdAt_gte: DateTime - email: String - - # All values that are not equal to given value. - email_not: String - - # All values that are contained in given list. - email_in: [String!] - - # All values that are not contained in given list. - email_not_in: [String!] - - # All values less than the given value. - email_lt: String - - # All values less than or equal the given value. - email_lte: String - - # All values greater than the given value. - email_gt: String - - # All values greater than or equal the given value. - email_gte: String - - # All values containing the given string. - email_contains: String - - # All values not containing the given string. - email_not_contains: String - - # All values starting with the given string. - email_starts_with: String - - # All values not starting with the given string. - email_not_starts_with: String - - # All values ending with the given string. - email_ends_with: String - - # All values not ending with the given string. - email_not_ends_with: String - firstName: String - - # All values that are not equal to given value. - firstName_not: String - - # All values that are contained in given list. - firstName_in: [String!] - - # All values that are not contained in given list. - firstName_not_in: [String!] - - # All values less than the given value. - firstName_lt: String - - # All values less than or equal the given value. - firstName_lte: String - - # All values greater than the given value. - firstName_gt: String - - # All values greater than or equal the given value. - firstName_gte: String - - # All values containing the given string. - firstName_contains: String - - # All values not containing the given string. - firstName_not_contains: String - - # All values starting with the given string. - firstName_starts_with: String - - # All values not starting with the given string. - firstName_not_starts_with: String - - # All values ending with the given string. - firstName_ends_with: String - - # All values not ending with the given string. - firstName_not_ends_with: String - id: ID - - # All values that are not equal to given value. - id_not: ID - - # All values that are contained in given list. - id_in: [ID!] - - # All values that are not contained in given list. - id_not_in: [ID!] - - # All values less than the given value. - id_lt: ID - - # All values less than or equal the given value. - id_lte: ID - - # All values greater than the given value. - id_gt: ID - - # All values greater than or equal the given value. - id_gte: ID - - # All values containing the given string. - id_contains: ID - - # All values not containing the given string. - id_not_contains: ID - - # All values starting with the given string. - id_starts_with: ID - - # All values not starting with the given string. - id_not_starts_with: ID - - # All values ending with the given string. - id_ends_with: ID - - # All values not ending with the given string. - id_not_ends_with: ID - lastName: String - - # All values that are not equal to given value. - lastName_not: String - - # All values that are contained in given list. - lastName_in: [String!] - - # All values that are not contained in given list. - lastName_not_in: [String!] - - # All values less than the given value. - lastName_lt: String - - # All values less than or equal the given value. - lastName_lte: String - - # All values greater than the given value. - lastName_gt: String - - # All values greater than or equal the given value. - lastName_gte: String - - # All values containing the given string. - lastName_contains: String - - # All values not containing the given string. - lastName_not_contains: String - - # All values starting with the given string. - lastName_starts_with: String - - # All values not starting with the given string. - lastName_not_starts_with: String - - # All values ending with the given string. - lastName_ends_with: String - - # All values not ending with the given string. - lastName_not_ends_with: String - password: String - - # All values that are not equal to given value. - password_not: String - - # All values that are contained in given list. - password_in: [String!] - - # All values that are not contained in given list. - password_not_in: [String!] - - # All values less than the given value. - password_lt: String - - # All values less than or equal the given value. - password_lte: String - - # All values greater than the given value. - password_gt: String - - # All values greater than or equal the given value. - password_gte: String - - # All values containing the given string. - password_contains: String - - # All values not containing the given string. - password_not_contains: String - - # All values starting with the given string. - password_starts_with: String - - # All values not starting with the given string. - password_not_starts_with: String - - # All values ending with the given string. - password_ends_with: String - - # All values not ending with the given string. - password_not_ends_with: String - updatedAt: DateTime - - # All values that are not equal to given value. - updatedAt_not: DateTime - - # All values that are contained in given list. - updatedAt_in: [DateTime!] - - # All values that are not contained in given list. - updatedAt_not_in: [DateTime!] - - # All values less than the given value. - updatedAt_lt: DateTime - - # All values less than or equal the given value. - updatedAt_lte: DateTime - - # All values greater than the given value. - updatedAt_gt: DateTime - - # All values greater than or equal the given value. - updatedAt_gte: DateTime -} - -type UserSubscriptionPayload { - mutation: _ModelMutationType! - node: User - updatedFields: [String!] - previousValues: UserPreviousValues -} diff --git a/yarn.lock b/yarn.lock index e6a84246..4d369432 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,11 +45,11 @@ react-inspector "^2.1.1" uuid "^3.1.0" -"@storybook/addon-centered@^3.2.0": +"@storybook/addon-centered@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-centered/-/addon-centered-3.2.0.tgz#5c62b2a61990b814cbf7427500310311407a7fa7" -"@storybook/addon-events@^3.2.0": +"@storybook/addon-events@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-3.2.0.tgz#685c241529abb0c4005c57ad08fe3329b27f954f" dependencies: @@ -60,7 +60,7 @@ react-textarea-autosize "^4.3.0" uuid "^3.1.0" -"@storybook/addon-knobs@^3.2.5": +"@storybook/addon-knobs@3.2.5": version "3.2.5" resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.2.5.tgz#2b9d5e0042054a115691510145c8b7cb84d847c1" dependencies: @@ -83,7 +83,7 @@ dependencies: "@storybook/addons" "^3.2.0" -"@storybook/addon-notes@^3.2.0": +"@storybook/addon-notes@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-3.2.0.tgz#e7b6720e260fab11c75a3799ee5d68d1b3496f2c" dependencies: @@ -93,13 +93,13 @@ optionalDependencies: "@types/react" "^15.0.24" -"@storybook/addon-options@^3.2.4": +"@storybook/addon-options@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.2.4.tgz#4bf7de5a6b1ec3e9f901136385b9fbbd40d1ae7f" dependencies: "@storybook/addons" "^3.2.0" -"@storybook/addon-storyshots@^3.2.5": +"@storybook/addon-storyshots@3.2.5": version "3.2.5" resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-3.2.5.tgz#4fa08da1d6307fb18d098b1d0c7aef67b65a2c4a" dependencies: @@ -133,7 +133,7 @@ fuse.js "^3.0.1" prop-types "^15.5.9" -"@storybook/react@^3.2.5": +"@storybook/react@3.2.5": version "3.2.5" resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.5.tgz#fd56815fe0fb521bd47051c650b6dce024ff7301" dependencies: @@ -222,7 +222,7 @@ version "0.10.2" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c" -"@types/graphql@^0.9.1": +"@types/graphql@^0.9.0", "@types/graphql@^0.9.1": version "0.9.4" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.9.4.tgz#cdeb6bcbef9b6c584374b81aa7f48ecf3da404fa" @@ -425,6 +425,14 @@ apollo-link-core@^0.5.0: graphql-tag "^2.4.2" zen-observable-ts "^0.4.0" +apollo-test-utils@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/apollo-test-utils/-/apollo-test-utils-0.3.2.tgz#8f71ed4626325ab495e99d2462479453d6858a57" + dependencies: + graphql "^0.10.0" + graphql-tag "^2.0.0" + graphql-tools "^1.0.0" + app-root-path@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" @@ -651,7 +659,7 @@ babel-core@6.25.0, babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.25.0: slash "^1.0.0" source-map "^0.5.0" -babel-eslint@^7.2.3: +babel-eslint@7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" dependencies: @@ -835,7 +843,7 @@ babel-plugin-dynamic-import-node@1.0.2: babel-template "^6.24.1" babel-types "^6.24.1" -babel-plugin-inline-import-graphql-ast@^2.0.0: +babel-plugin-inline-import-graphql-ast@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-inline-import-graphql-ast/-/babel-plugin-inline-import-graphql-ast-2.0.0.tgz#d897b88e122db74e5909adb06977877a01e121ac" dependencies: @@ -875,13 +883,13 @@ babel-plugin-react-require@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz#2e4e7b4496b93a654a1c80042276de4e4eeb20e3" -babel-plugin-root-import@^5.1.0: +babel-plugin-root-import@5.1.0, babel-plugin-root-import@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-root-import/-/babel-plugin-root-import-5.1.0.tgz#80ea1cd5945b463a5e3f7e204a69478c573e328c" dependencies: slash "^1.0.0" -babel-plugin-styled-components@^1.1.7: +babel-plugin-styled-components@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.1.7.tgz#a92c239779cc80e7838b645c12865c61c4ca71ce" dependencies: @@ -2109,7 +2117,7 @@ cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" -cli-clear@^1.0.4: +cli-clear@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/cli-clear/-/cli-clear-1.0.4.tgz#42cf3052f25b7068386fb7dbaee82d534b64c899" @@ -2243,6 +2251,13 @@ color-string@^1.4.0: color-name "^1.0.0" simple-swizzle "^0.2.2" +color@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-2.0.0.tgz#e0c9972d1e969857004b101eaa55ceab5961d67d" + dependencies: + color-convert "^1.8.2" + color-string "^1.4.0" + color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -2251,13 +2266,6 @@ color@^0.11.0: color-convert "^1.3.0" color-string "^0.3.0" -color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-2.0.0.tgz#e0c9972d1e969857004b101eaa55ceab5961d67d" - dependencies: - color-convert "^1.8.2" - color-string "^1.4.0" - colorguard@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/colorguard/-/colorguard-1.2.0.tgz#f3facaf5caaeba4ef54653d9fb25bb73177c0d84" @@ -2323,7 +2331,7 @@ compressible@~2.0.10: dependencies: mime-db ">= 1.29.0 < 2" -compression@^1.5.2, compression@^1.7.0: +compression@1.7.0, compression@^1.5.2: version "1.7.0" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.0.tgz#030c9f198f1643a057d776a738e922da4373012d" dependencies: @@ -2452,7 +2460,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cors@^2.8.4: +cors@2.8.4: version "2.8.4" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" dependencies: @@ -2970,6 +2978,10 @@ depd@1.1.1, depd@~1.1.0, depd@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" +deprecated-decorator@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" + des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -3124,7 +3136,7 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" -dotenv@^4.0.0: +dotenv@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" @@ -3269,7 +3281,7 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -enzyme-to-json@^1.5.1: +enzyme-to-json@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-1.5.1.tgz#e34f4d126bb3f4696ce3800b51f9ed83df708799" dependencies: @@ -3281,7 +3293,7 @@ enzyme-to-json@^1.5.1: object-values "^1.0.0" object.entries "^1.0.3" -enzyme@^2.9.1: +enzyme@2.9.1: version "2.9.1" resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.9.1.tgz#07d5ce691241240fb817bf2c4b18d6e530240df6" dependencies: @@ -3434,21 +3446,21 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-prettier@^2.3.0: +eslint-config-prettier@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.3.0.tgz#b75b1eabea0c8b97b34403647ee25db349b9d8a0" dependencies: get-stdin "^5.0.1" -eslint-config-standard-jsx@^4.0.2: +eslint-config-standard-jsx@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1" -eslint-config-standard@^10.2.1: +eslint-config-standard@10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" -eslint-import-resolver-babel-plugin-root-import@^0.0.11: +eslint-import-resolver-babel-plugin-root-import@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-plugin-root-import/-/eslint-import-resolver-babel-plugin-root-import-0.0.11.tgz#c66fb4fb0f6c5aa5a45092f2ef161e9abf880367" dependencies: @@ -3471,7 +3483,7 @@ eslint-import-resolver-node@^0.3.1: debug "^2.6.8" resolve "^1.2.0" -eslint-loader@^1.9.0: +eslint-loader@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13" dependencies: @@ -3488,7 +3500,7 @@ eslint-module-utils@^2.1.1: debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-graphql@^1.3.0: +eslint-plugin-graphql@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-1.3.0.tgz#99e44a93bfda4b1c9efbfb2bd93e7d0a710430c0" dependencies: @@ -3496,7 +3508,7 @@ eslint-plugin-graphql@^1.3.0: graphql-config "^1.0.0" lodash "^4.11.1" -eslint-plugin-import@^2.7.0: +eslint-plugin-import@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" dependencies: @@ -3511,11 +3523,11 @@ eslint-plugin-import@^2.7.0: minimatch "^3.0.3" read-pkg-up "^2.0.0" -eslint-plugin-jest@^20.0.3: +eslint-plugin-jest@20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-20.0.3.tgz#ec15eba6ac0ab44a67ebf6e02672ca9d7e7cba29" -eslint-plugin-node@^5.1.1: +eslint-plugin-node@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.1.1.tgz#a7ed956e780c22aef6afd1116005acd82f26eac6" dependencies: @@ -3524,19 +3536,19 @@ eslint-plugin-node@^5.1.1: resolve "^1.3.3" semver "5.3.0" -eslint-plugin-promise@^3.5.0: +eslint-plugin-promise@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" -eslint-plugin-react@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.1.tgz#c2673526ed6571b08c69c5f453d03f5f13e8ddbe" +eslint-plugin-react@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.2.0.tgz#25c77a4ec307e3eebb248ea3350960e372ab6406" dependencies: doctrine "^2.0.0" has "^1.0.1" jsx-ast-utils "^2.0.0" -eslint-plugin-standard@^3.0.1: +eslint-plugin-standard@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" @@ -3547,7 +3559,7 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-watch@^3.1.2: +eslint-watch@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-watch/-/eslint-watch-3.1.2.tgz#b93b3eca08915f113dc900994f880db1364de4b3" dependencies: @@ -3563,47 +3575,7 @@ eslint-watch@^3.1.2: text-table "^0.2.0" unicons "0.0.3" -eslint@^3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" - doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -eslint@^4.4.1: +eslint@4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.4.1.tgz#99cd7eafcffca2ff99a5c8f5f2a474d6364b4bd3" dependencies: @@ -3644,6 +3616,46 @@ eslint@^4.4.1: table "^4.0.1" text-table "~0.2.0" +eslint@^3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + espree@^3.4.0, espree@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" @@ -3850,7 +3862,7 @@ express-request-proxy@^2.0.0: type-is "^1.6.6" url-join "0.0.1" -express@^4.13.3, express@^4.15.2, express@^4.15.3, express@^4.15.4: +express@4.15.4, express@^4.13.3, express@^4.15.2, express@^4.15.3: version "4.15.4" resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1" dependencies: @@ -3976,7 +3988,7 @@ fd-slicer@~1.0.1: dependencies: pend "~1.2.0" -figlet@^1.2.0: +figlet@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" @@ -4000,7 +4012,7 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@^0.11.1, file-loader@^0.11.2: +file-loader@0.11.2, file-loader@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" dependencies: @@ -4678,7 +4690,7 @@ graphql-anywhere@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz#3ea0d8e8646b5cee68035016a9a7557c15c21e96" -graphql-cli-voyager@^0.1.2: +graphql-cli-voyager@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/graphql-cli-voyager/-/graphql-cli-voyager-0.1.2.tgz#8e0c43ca7133a9fdff20ac7ca427cddc4288b79f" dependencies: @@ -4688,7 +4700,7 @@ graphql-cli-voyager@^0.1.2: graphql-voyager "^1.0.0-rc.7" opn "^5.1.0" -graphql-cli@^1.0.0-beta.1, graphql-cli@^1.0.0-beta.4: +graphql-cli@1.0.0-beta.4, graphql-cli@^1.0.0-beta.1: version "1.0.0-beta.4" resolved "https://registry.yarnpkg.com/graphql-cli/-/graphql-cli-1.0.0-beta.4.tgz#2c654b1644c9d45a87b09d0f5119ba2264800e21" dependencies: @@ -4805,6 +4817,15 @@ graphql-tag@^2.0.0, graphql-tag@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.4.2.tgz#6a63297d8522d03a2b72d26f1b239aab343840cd" +graphql-tools@^1.0.0, graphql-tools@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-1.2.1.tgz#8d462abaa7b0f3bb2aa633df1e7a848720197671" + dependencies: + deprecated-decorator "^0.1.6" + uuid "^3.0.1" + optionalDependencies: + "@types/graphql" "^0.9.0" + graphql-voyager@^1.0.0-rc.7: version "1.0.0-rc.7" resolved "https://registry.yarnpkg.com/graphql-voyager/-/graphql-voyager-1.0.0-rc.7.tgz#0e18ffa38fbaece163d9c947a7c7bceecf57e86e" @@ -4824,7 +4845,7 @@ graphql-voyager@^1.0.0-rc.7: reselect "^3.0.1" svg-pan-zoom "^3.5.1" -"graphql@0.7.1 - 1.0.0", graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5: +graphql@0.10.5, "graphql@0.7.1 - 1.0.0", graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298" dependencies: @@ -4898,7 +4919,7 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" -handlebars@^4.0.10, handlebars@^4.0.3: +handlebars@4.0.10, handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -4985,7 +5006,7 @@ helmet-csp@2.5.1: lodash.reduce "4.6.0" platform "1.3.4" -helmet@^3.8.1: +helmet@3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/helmet/-/helmet-3.8.1.tgz#bef2b68ffbaa19759e858c19cca7db213bb58b2d" dependencies: @@ -5191,7 +5212,7 @@ https-proxy-agent@^1.0.0: debug "2" extend "3" -husky@^0.14.3: +husky@0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" dependencies: @@ -5241,7 +5262,7 @@ ignore@^3.2.0, ignore@^3.2.7, ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" -image-webpack-loader@^3.3.1: +image-webpack-loader@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/image-webpack-loader/-/image-webpack-loader-3.3.1.tgz#d2d72be024f8975e48c984f2401c0c484897cbd3" dependencies: @@ -5408,25 +5429,6 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.2.tgz#c2aaede1507cc54d826818737742d621bef2e823" - dependencies: - ansi-escapes "^2.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - insert-css@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-1.1.0.tgz#4a3f7a3e783877381bb8471a6452d1d27315db9e" @@ -5453,7 +5455,7 @@ ip-regex@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" -ip@^1.1.5: +ip@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -5778,7 +5780,7 @@ isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" -isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: +isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" dependencies: @@ -5931,7 +5933,7 @@ jest-environment-jsdom@^20.0.3: jest-util "^20.0.3" jsdom "^9.12.0" -jest-environment-node-debug@^2.0.0: +jest-environment-node-debug@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jest-environment-node-debug/-/jest-environment-node-debug-2.0.0.tgz#5ef098942fec1b6af5ee4841f4f8a2ff419562f9" @@ -6044,7 +6046,7 @@ jest-snapshot@^20.0.3: natural-compare "^1.4.0" pretty-format "^20.0.3" -jest-styled-components@^4.4.0: +jest-styled-components@4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-4.4.0.tgz#d1e2d8f07888f1b6b5affc45c0c53f7fb442b1d8" dependencies: @@ -6071,7 +6073,7 @@ jest-validate@^20.0.3: leven "^2.1.0" pretty-format "^20.0.3" -jest@^20.0.4: +jest@20.0.4: version "20.0.4" resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac" dependencies: @@ -6081,7 +6083,7 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-cookie@^2.1.4: +js-cookie@2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.1.4.tgz#da4ec503866f149d164cf25f579ef31015025d8d" @@ -6301,7 +6303,7 @@ limit-spawn@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/limit-spawn/-/limit-spawn-0.0.3.tgz#cc09c24467a0f0a1ed10a5196dba597cad3f65dc" -lint-staged@^4.0.3: +lint-staged@4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.0.3.tgz#1ce55591bc2c83a781a90b69a0a0c8aa0fc6370b" dependencies: @@ -6730,19 +6732,19 @@ lpad-align@^1.0.1: longest "^1.0.0" meow "^3.3.0" -lru-cache@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" - dependencies: - pseudomap "^1.0.1" - -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1: +lru-cache@4.1.1, lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" + dependencies: + pseudomap "^1.0.1" + macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" @@ -6978,7 +6980,7 @@ mobx@^2.3.4: version "2.7.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" -moment@^2.11.2, moment@^2.18.1: +moment@2.18.1, moment@^2.11.2, moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -7069,20 +7071,20 @@ netrc@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" -next-cookies@^1.0.1: +next-cookies@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/next-cookies/-/next-cookies-1.0.1.tgz#8ceeef4b88ba1b84571b1fccc9464b77548898f8" dependencies: component-cookie "^1.1.3" cookie "^0.3.1" -next-routes@^1.0.40: +next-routes@1.0.40: version "1.0.40" resolved "https://registry.yarnpkg.com/next-routes/-/next-routes-1.0.40.tgz#1987ed88be808440f7eb963d3836916f46938e73" dependencies: path-to-regexp "^1.7.0" -next@^3.0.6: +next@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/next/-/next-3.0.6.tgz#14d9330b1f4eab60fdb84523034a3016f16fe414" dependencies: @@ -7141,7 +7143,7 @@ next@^3.0.6: write-file-webpack-plugin "4.1.0" xss-filters "1.2.7" -ngrok@^2.2.17: +ngrok@2.2.17: version "2.2.17" resolved "https://registry.yarnpkg.com/ngrok/-/ngrok-2.2.17.tgz#173747e1d433f362145217a5764500e089806a2d" dependencies: @@ -7242,7 +7244,7 @@ node-version@1.1.0, node-version@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/node-version/-/node-version-1.1.0.tgz#f437d7ba407e65e2c4eaef8887b1718ba523d4f0" -nodemon@^1.11.0: +nodemon@1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" dependencies: @@ -7442,7 +7444,7 @@ object.values@^1.0.4: function-bind "^1.1.0" has "^1.0.1" -offline-plugin@^4.8.3: +offline-plugin@4.8.3: version "4.8.3" resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.3.tgz#9e95bd342ea2ac836b001b81f204c40638694d6c" dependencies: @@ -8239,7 +8241,7 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.6: source-map "^0.5.6" supports-color "^4.2.1" -pre-commit@^1.2.2: +pre-commit@1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" dependencies: @@ -8259,9 +8261,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier-eslint-cli@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.2.0.tgz#733e19efac70432c2ef989665c0e458985c62fd3" +prettier-eslint-cli@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.1.1.tgz#b2630e31ac3b3379ecf02c130f5b219c04a0bc3c" dependencies: arrify "^1.0.1" babel-runtime "^6.23.0" @@ -8269,7 +8271,6 @@ prettier-eslint-cli@^4.2.0: camelcase-keys "^4.1.0" chalk "^1.1.3" common-tags "^1.4.0" - eslint "^3.19.0" find-up "^2.1.0" get-stdin "^5.0.1" glob "^7.1.1" @@ -8282,7 +8283,7 @@ prettier-eslint-cli@^4.2.0: rxjs "^5.3.0" yargs "^7.1.0" -prettier-eslint@^6.0.0, prettier-eslint@^6.4.2: +prettier-eslint@6.4.2, prettier-eslint@^6.0.0: version "6.4.2" resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-6.4.2.tgz#9bafd9549e0827396c75848e8dbeb65525b9096e" dependencies: @@ -8300,7 +8301,7 @@ prettier@^1.5.0: version "1.5.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.3.tgz#59dadc683345ec6b88f88b94ed4ae7e1da394bfe" -pretty-error@^2.0.2, pretty-error@^2.1.1: +pretty-error@2.1.1, pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" dependencies: @@ -8540,11 +8541,11 @@ react-addons-shallow-compare@^15.4.2: fbjs "^0.8.4" object-assign "^4.1.0" -react-addons-test-utils@^15.6.0: +react-addons-test-utils@15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" -react-apollo@^1.4.14: +react-apollo@1.4.14: version "1.4.14" resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.14.tgz#86af913887e447710e4e5d85ca6277b35f1a3b82" dependencies: @@ -8602,7 +8603,7 @@ react-dom-factories@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.1.tgz#c50692ac5ff1adb39d86dfe6dbe3485dacf58455" -react-dom@^15.3.2, react-dom@^15.4.2, react-dom@^15.6.1: +react-dom@15.6.1, react-dom@^15.3.2, react-dom@^15.4.2: version "15.6.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" dependencies: @@ -8611,7 +8612,7 @@ react-dom@^15.3.2, react-dom@^15.4.2, react-dom@^15.6.1: object-assign "^4.1.0" prop-types "^15.5.10" -react-helmet@^5.1.3: +react-helmet@5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.1.3.tgz#cd40626593a29eecf684b6d38d711f44c48188af" dependencies: @@ -8715,7 +8716,7 @@ react-proxy@^3.0.0-alpha.0: dependencies: lodash "^4.6.1" -react-redux@^5.0.5, react-redux@^5.0.6: +react-redux@5.0.6, react-redux@^5.0.5: version "5.0.6" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946" dependencies: @@ -8760,7 +8761,7 @@ react-style-proptype@^3.0.0: dependencies: prop-types "^15.5.4" -react-test-renderer@^15.6.1: +react-test-renderer@15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.1.tgz#026f4a5bb5552661fd2cc4bbcd0d4bc8a35ebf7e" dependencies: @@ -8814,7 +8815,7 @@ react-virtualized@^8.11.3: dom-helpers "^2.4.0 || ^3.0.0" loose-envify "^1.3.0" -react@^15.4.2, react@^15.6.1: +react@15.6.1, react@^15.4.2: version "15.6.1" resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" dependencies: @@ -8993,7 +8994,7 @@ redux-thunk@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" -redux@^3.4.0, redux@^3.6.0, redux@^3.7.1, redux@^3.7.2: +redux@3.7.2, redux@^3.4.0, redux@^3.6.0, redux@^3.7.1, redux@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" dependencies: @@ -9072,9 +9073,9 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" -release@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/release/-/release-1.4.3.tgz#d00663e66c2a63925e610a21cc39434f0d83bd81" +release@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/release/-/release-1.3.3.tgz#e52135efd8a141fe601b65381e2475a2d04b1393" dependencies: args "3.0.4" async-retry "1.1.3" @@ -9509,7 +9510,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.7.5, shelljs@^0.7.8: +shelljs@0.7.8, shelljs@^0.7.5, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -9954,7 +9955,7 @@ style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" -styled-components-stylefmt@^0.1.2: +styled-components-stylefmt@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/styled-components-stylefmt/-/styled-components-stylefmt-0.1.2.tgz#800961ac94c359edc3484408dc2913adaebb961c" dependencies: @@ -9971,7 +9972,7 @@ styled-components-stylefmt@^0.1.2: stylefmt "^5.3.2" stylelint-processor-styled-components "^0.1.0" -styled-components@^2.1.2: +styled-components@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.2.tgz#bb419978e1287c5d0d88fa9106b2dd75f66a324c" dependencies: @@ -10038,7 +10039,7 @@ stylelint-config-recommended@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-1.0.0.tgz#752c17fc68fa64cd5e7589e24f6e46e77e14a735" -stylelint-config-standard@^17.0.0: +stylelint-config-standard@17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-17.0.0.tgz#42103a090054ee2a3dde9ecaed55e5d4d9d059fc" dependencies: @@ -10052,6 +10053,15 @@ stylelint-order@0.4.x: postcss "^5.2.16" stylelint "^7.9.0" +stylelint-processor-styled-components@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.2.2.tgz#be6e3a26d2a7e4d2655b2f8d92a743d399bd94ed" + dependencies: + babel-traverse "^6.16.0" + babylon "^6.12.0" + typescript "~2.3.2" + typescript-eslint-parser "^5.0.0" + stylelint-processor-styled-components@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.1.2.tgz#b760efb49fe56fe625ca99b4b9b2b2fab4dc507c" @@ -10061,14 +10071,46 @@ stylelint-processor-styled-components@^0.1.0: typescript "~2.3.2" typescript-eslint-parser "^3.0.0" -stylelint-processor-styled-components@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-0.3.0.tgz#74fcfc600079bb80e83005e6e89dc75de53b7d95" +stylelint@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.0.0.tgz#87611211776cb315c93fcf6c58bc261d3c92612e" dependencies: - babel-traverse "^6.16.0" - babylon "^6.12.0" - typescript "~2.3.2" - typescript-eslint-parser "^5.0.0" + autoprefixer "^7.1.2" + balanced-match "^1.0.0" + chalk "^2.0.1" + cosmiconfig "^2.1.3" + debug "^2.6.8" + execall "^1.0.0" + file-entry-cache "^2.0.0" + get-stdin "^5.0.1" + globby "^6.1.0" + globjoin "^0.1.4" + html-tags "^2.0.0" + ignore "^3.3.3" + imurmurhash "^0.1.4" + known-css-properties "^0.2.0" + lodash "^4.17.4" + log-symbols "^1.0.2" + mathml-tag-names "^2.0.1" + meow "^3.7.0" + micromatch "^2.3.11" + normalize-selector "^0.2.0" + pify "^3.0.0" + postcss "^6.0.6" + postcss-less "^1.1.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^4.0.0" + postcss-resolve-nested-selector "^0.1.1" + postcss-scss "^1.0.2" + postcss-selector-parser "^2.2.3" + postcss-value-parser "^3.3.0" + resolve-from "^3.0.0" + specificity "^0.3.1" + string-width "^2.1.0" + style-search "^0.1.0" + sugarss "^1.0.0" + svg-tags "^1.0.0" + table "^4.0.1" stylelint@^7.5.0, stylelint@^7.9.0: version "7.13.0" @@ -10114,47 +10156,6 @@ stylelint@^7.5.0, stylelint@^7.9.0: svg-tags "^1.0.0" table "^4.0.1" -stylelint@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.0.0.tgz#87611211776cb315c93fcf6c58bc261d3c92612e" - dependencies: - autoprefixer "^7.1.2" - balanced-match "^1.0.0" - chalk "^2.0.1" - cosmiconfig "^2.1.3" - debug "^2.6.8" - execall "^1.0.0" - file-entry-cache "^2.0.0" - get-stdin "^5.0.1" - globby "^6.1.0" - globjoin "^0.1.4" - html-tags "^2.0.0" - ignore "^3.3.3" - imurmurhash "^0.1.4" - known-css-properties "^0.2.0" - lodash "^4.17.4" - log-symbols "^1.0.2" - mathml-tag-names "^2.0.1" - meow "^3.7.0" - micromatch "^2.3.11" - normalize-selector "^0.2.0" - pify "^3.0.0" - postcss "^6.0.6" - postcss-less "^1.1.0" - postcss-media-query-parser "^0.2.3" - postcss-reporter "^4.0.0" - postcss-resolve-nested-selector "^0.1.1" - postcss-scss "^1.0.2" - postcss-selector-parser "^2.2.3" - postcss-value-parser "^3.3.0" - resolve-from "^3.0.0" - specificity "^0.3.1" - string-width "^2.1.0" - style-search "^0.1.0" - sugarss "^1.0.0" - svg-tags "^1.0.0" - table "^4.0.1" - stylis@3.2.8, stylis@^3.2.1: version "3.2.8" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.8.tgz#9b23a3e06597f7944a3d9ae880d5796248b8784f" @@ -10713,7 +10714,7 @@ url-join@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" -url-loader@^0.5.8, url-loader@^0.5.9: +url-loader@0.5.9, url-loader@^0.5.8: version "0.5.9" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" dependencies: @@ -10931,7 +10932,7 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" -webpack-bundle-analyzer@^2.9.0: +webpack-bundle-analyzer@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.0.tgz#b58bc34cc30b27ffdbaf3d00bf27aba6fa29c6e3" dependencies: From 368414e90bbdbd92e3b21db3ee062d5f5eefbf53 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 20 Aug 2017 10:43:57 +0300 Subject: [PATCH 24/28] postlist tests working, comma-dangle not play well with babel --- .eslintrc.yaml | 6 +-- app/__utils__/makeWithMockedProvider/index.js | 4 +- app/__utils__/setup/jest.js | 2 +- app/__utils__/setup/storybook.js | 2 +- app/components/AuthFields/index.js | 4 +- app/components/AuthFields/validation.js | 2 +- app/components/LinkList/index.js | 2 +- app/containers/CreatePost/feature.js | 4 +- app/containers/CreatePost/index.js | 12 ++--- app/containers/Header/feature.js | 6 +-- app/containers/Header/index.js | 6 +-- app/containers/Layout/App.js | 4 +- app/containers/Layout/index.js | 4 +- .../PostInfo/__tests__/index.stories.js | 49 ++++++++++--------- app/containers/PostInfo/feature.js | 22 +++++---- app/containers/PostInfo/index.js | 26 ++++------ app/containers/PostList/feature.js | 6 +-- app/containers/PostList/index.js | 14 +++--- app/containers/PostUpvoter/feature.js | 4 +- app/containers/PostUpvoter/index.js | 10 ++-- app/containers/SignInForm/feature.js | 14 +++--- app/containers/SignInForm/index.js | 12 ++--- app/containers/SignUpForm/feature.js | 16 +++--- app/containers/SignUpForm/index.js | 12 ++--- app/lib/apolloClient.js | 10 ++-- app/lib/installOfflinePlugin.js | 2 +- app/lib/reducer.js | 2 +- app/lib/withData.js | 10 ++-- app/stores/auth.js | 4 +- app/themes/eightbit.js | 8 +-- app/themes/index.js | 2 +- app/themes/inverted.js | 4 +- app/themes/main.js | 14 +++--- jest.config.js | 6 +-- next.config.js | 38 +++++++------- 35 files changed, 171 insertions(+), 172 deletions(-) diff --git a/.eslintrc.yaml b/.eslintrc.yaml index b8e10b3e..a69f2474 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -34,9 +34,9 @@ rules: quotes: - error - single - comma-dangle: - - error - - always-multiline + # comma-dangle: + # - error + # - always-multiline graphql/template-strings: - error - env: literal diff --git a/app/__utils__/makeWithMockedProvider/index.js b/app/__utils__/makeWithMockedProvider/index.js index 2b1ef57b..cddde146 100644 --- a/app/__utils__/makeWithMockedProvider/index.js +++ b/app/__utils__/makeWithMockedProvider/index.js @@ -11,13 +11,13 @@ export default function makeWithMockedProvider(mocks) { addMockFunctionsToSchema({ schema, - mocks, + mocks }) const mockNetworkInterface = mockNetworkInterfaceWithSchema({ schema }) const client = new ApolloClient({ - networkInterface: mockNetworkInterface, + networkInterface: mockNetworkInterface }) return children => diff --git a/app/__utils__/setup/jest.js b/app/__utils__/setup/jest.js index 896e7d5c..59f7b3b0 100644 --- a/app/__utils__/setup/jest.js +++ b/app/__utils__/setup/jest.js @@ -4,6 +4,6 @@ import 'jest-styled-components' import NextRouter from 'next/router' const mockedNextRouter = { push: () => {}, - prefetch: () => {}, + prefetch: () => {} } NextRouter.router = mockedNextRouter diff --git a/app/__utils__/setup/storybook.js b/app/__utils__/setup/storybook.js index 8b0410a0..c753ad23 100644 --- a/app/__utils__/setup/storybook.js +++ b/app/__utils__/setup/storybook.js @@ -7,6 +7,6 @@ const mockedNextRouter = { }, prefetch: () => { console.log('storybook prefetch') - }, + } } NextRouter.router = mockedNextRouter diff --git a/app/components/AuthFields/index.js b/app/components/AuthFields/index.js index b0864be0..3513fc89 100644 --- a/app/components/AuthFields/index.js +++ b/app/components/AuthFields/index.js @@ -10,7 +10,7 @@ const AuthFields = props => { handleChange, handleSubmit, touched, - errors, + errors } = props const mapFields = fields.map(field =>
@@ -56,7 +56,7 @@ AuthFields.propTypes = { handleChange: PropTypes.func.isRequired, handleSubmit: PropTypes.func.isRequired, touched: PropTypes.bool.isRequired, - errors: PropTypes.object.isRequired, + errors: PropTypes.object.isRequired } export default AuthFields diff --git a/app/components/AuthFields/validation.js b/app/components/AuthFields/validation.js index 586032e0..d7e6df1b 100644 --- a/app/components/AuthFields/validation.js +++ b/app/components/AuthFields/validation.js @@ -24,6 +24,6 @@ export default values => { return { errors, - touched: true, + touched: true } } diff --git a/app/components/LinkList/index.js b/app/components/LinkList/index.js index 6110858c..30cbb31a 100644 --- a/app/components/LinkList/index.js +++ b/app/components/LinkList/index.js @@ -39,7 +39,7 @@ const LinkList = ({ pathname, authenticated, logout }) => LinkList.propTypes = { pathname: PropTypes.string.isRequired, authenticated: PropTypes.bool.isRequired, - logout: PropTypes.func.isRequired, + logout: PropTypes.func.isRequired } export default LinkList diff --git a/app/containers/CreatePost/feature.js b/app/containers/CreatePost/feature.js index ff18c319..034a7ac8 100644 --- a/app/containers/CreatePost/feature.js +++ b/app/containers/CreatePost/feature.js @@ -6,8 +6,8 @@ import * as S from './styles' export default class CreateForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - createPost: PropTypes.func.isRequired, - }).isRequired, + createPost: PropTypes.func.isRequired + }).isRequired }; handleSubmit = e => { diff --git a/app/containers/CreatePost/index.js b/app/containers/CreatePost/index.js index ed6a53b2..bd02a921 100644 --- a/app/containers/CreatePost/index.js +++ b/app/containers/CreatePost/index.js @@ -13,13 +13,13 @@ export const withMutation = graphql(createPostGql, { const newPost = mutationResult.data.createPost return Object.assign({}, previousResult, { // Append the new post - allPosts: [newPost, ...previousResult.allPosts], + allPosts: [newPost, ...previousResult.allPosts] }) - }, - }, - }), - }, - }), + } + } + }) + } + }) }) export default withMutation(Feature) diff --git a/app/containers/Header/feature.js b/app/containers/Header/feature.js index fc73c433..4aea2512 100644 --- a/app/containers/Header/feature.js +++ b/app/containers/Header/feature.js @@ -14,15 +14,15 @@ const Header = ({ pathname, authenticated, actions: { logout } }) => Header.defaultProps = { - authenticated: false, + authenticated: false } Header.propTypes = { pathname: PropTypes.string.isRequired, authenticated: PropTypes.bool, actions: PropTypes.shape({ - logout: PropTypes.func.isRequired, - }).isRequired, + logout: PropTypes.func.isRequired + }).isRequired } export default Header diff --git a/app/containers/Header/index.js b/app/containers/Header/index.js index 93f24b05..0f3b5f0e 100644 --- a/app/containers/Header/index.js +++ b/app/containers/Header/index.js @@ -3,13 +3,13 @@ import { dispatchers } from '~/stores/auth' import Feature from './feature' const mapStateToProps = state => ({ - authenticated: state.auth.authenticated, + authenticated: state.auth.authenticated }) const mapDispatchToProps = dispatch => ({ actions: { - logout: () => dispatch(dispatchers.signOut()), - }, + logout: () => dispatch(dispatchers.signOut()) + } }) export default connect(mapStateToProps, mapDispatchToProps)(Feature) diff --git a/app/containers/Layout/App.js b/app/containers/Layout/App.js index 6230c2d4..82fab05f 100644 --- a/app/containers/Layout/App.js +++ b/app/containers/Layout/App.js @@ -17,12 +17,12 @@ const App = ({ children, theme }) => { } App.defaultProps = { - theme: 'main', + theme: 'main' } App.propTypes = { children: PropTypes.array.isRequired, - theme: PropTypes.string, + theme: PropTypes.string } injectGlobal` diff --git a/app/containers/Layout/index.js b/app/containers/Layout/index.js index ec0672b0..0947c535 100644 --- a/app/containers/Layout/index.js +++ b/app/containers/Layout/index.js @@ -17,11 +17,11 @@ const Default = props => Default.propTypes = { title: PropTypes.string, url: PropTypes.object.isRequired, - children: PropTypes.element.isRequired, + children: PropTypes.element.isRequired } Default.defaultProps = { - title: '', + title: '' } export default Default diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index e0045251..6f4807b6 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -3,14 +3,15 @@ import { MockedProvider } from 'react-apollo/test-utils' import { addTypenameToDocument } from 'apollo-client' import { storiesOf } from '@storybook/react' -import PostInfo from '../' -import PostInfoFeature from '../feature' +import PostInfoWithData from '../' +import PostInfo from '../feature' import getPostGql from '../getPost.gql' +import Themed from '~/__utils__/Themed' const query = addTypenameToDocument(getPostGql) storiesOf('PostInfo', module) - .add('loading', () => ) + .add('loading', () => ) .add('showing post', () => { const variables = { postId: 1 } const data = { @@ -19,32 +20,34 @@ storiesOf('PostInfo', module) id: 'id', url: 'someurl', votes: 1, - createdAt: new Date(), - __typename: 'Post', - }, + createdAt: Date.now(), + __typename: 'Post' + } } const mocks = [{ request: { query, variables }, result: { data } }] return ( - + + + + + ) + }) + .add('no such post error', () => { + const variables = { postId: 1 } + const data = { + Post: null + } + + const mocks = [{ request: { query, variables }, result: { data } }] + + return ( + + + + ) }) -// .add('no such post', () => { -// const variables = { postId: 1 } -// const data = { -// error: { -// -// }, -// } -// -// const mocks = [{ request: { query, variables }, result: { data } }] -// -// return ( -// -// -// -// ) -// }) diff --git a/app/containers/PostInfo/feature.js b/app/containers/PostInfo/feature.js index fb803f01..c569a693 100644 --- a/app/containers/PostInfo/feature.js +++ b/app/containers/PostInfo/feature.js @@ -2,9 +2,11 @@ import moment from 'moment' import PropTypes from 'prop-types' import * as S from './styles' -const PostInfo = ctx => { - console.log(ctx) - const { loading, Post, error } = ctx +const PostInfo = ({ loading, Post, error }) => { + if (error) { + console.log(error) // eslint-disable-line no-console + return + } if (loading) { return ( @@ -14,10 +16,12 @@ const PostInfo = ctx => { ) } - if (error) { - console.log(error) // eslint-disable-line no-console - window.alert('Load error, check console') // eslint-disable-line no-alert - return + if (!Post) { + return ( + +

No such post

+
+ ) } return ( @@ -47,12 +51,12 @@ const PostInfo = ctx => { PostInfo.propTypes = { loading: PropTypes.bool.isRequired, Post: PropTypes.object, - error: PropTypes.object, + error: PropTypes.object } PostInfo.defaultProps = { Post: null, - error: null, + error: null } export default PostInfo diff --git a/app/containers/PostInfo/index.js b/app/containers/PostInfo/index.js index cae78d78..7acd5a8c 100644 --- a/app/containers/PostInfo/index.js +++ b/app/containers/PostInfo/index.js @@ -3,24 +3,16 @@ import getPostGql from './getPost.gql' import Feature from './feature' const withData = graphql(getPostGql, { - options: ctx => { - const { postId } = ctx - console.log('options =', ctx) - return { - variables: { - postId, - }, + options: ({ postId }) => ({ + variables: { + postId } - }, - props: ctx => { - console.log('props = ', ctx) - const { data: { loading, Post, error } } = ctx - return { - loading, - Post, - error, - } - }, + }), + props: ({ data: { loading, Post, error } }) => ({ + loading, + Post, + error + }) }) export default withData(Feature) diff --git a/app/containers/PostList/feature.js b/app/containers/PostList/feature.js index cee45048..fbca8231 100644 --- a/app/containers/PostList/feature.js +++ b/app/containers/PostList/feature.js @@ -5,7 +5,7 @@ import * as S from './styles' const PostList = ({ data: { allPosts, loading, _allPostsMeta }, - loadMorePosts, + loadMorePosts }) => { if (allPosts && allPosts.length) { const areMorePosts = allPosts.length < _allPostsMeta.count @@ -22,7 +22,7 @@ const PostList = ({ route="details" params={{ postId: post.id, - postTitle: encodeURIComponent(post.title), + postTitle: encodeURIComponent(post.title) }} passHref > @@ -48,7 +48,7 @@ const PostList = ({ PostList.propTypes = { data: PropTypes.object.isRequired, - loadMorePosts: PropTypes.func.isRequired, + loadMorePosts: PropTypes.func.isRequired } export default PostList diff --git a/app/containers/PostList/index.js b/app/containers/PostList/index.js index 34ad871a..bf7fed43 100644 --- a/app/containers/PostList/index.js +++ b/app/containers/PostList/index.js @@ -8,15 +8,15 @@ const withData = graphql(allPostsGql, { options: () => ({ variables: { skip: 0, - first: POSTS_PER_PAGE, - }, + first: POSTS_PER_PAGE + } }), props: ({ data }) => ({ data, loadMorePosts: () => data.fetchMore({ variables: { - skip: data.allPosts.length, + skip: data.allPosts.length }, updateQuery: (previousResult, { fetchMoreResult }) => { if (!fetchMoreResult) { @@ -24,11 +24,11 @@ const withData = graphql(allPostsGql, { } return Object.assign({}, previousResult, { // Append the new posts results to the old one - allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts], + allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] }) - }, - }), - }), + } + }) + }) }) export default withData(Feature) diff --git a/app/containers/PostUpvoter/feature.js b/app/containers/PostUpvoter/feature.js index a3b858fd..954c8939 100644 --- a/app/containers/PostUpvoter/feature.js +++ b/app/containers/PostUpvoter/feature.js @@ -10,11 +10,11 @@ const PostUpvoter = ({ upvote, votes, id }) => PostUpvoter.propTypes = { upvote: PropTypes.func.isRequired, votes: PropTypes.number, - id: PropTypes.string.isRequired, + id: PropTypes.string.isRequired } PostUpvoter.defaultProps = { - votes: [], + votes: [] } export default PostUpvoter diff --git a/app/containers/PostUpvoter/index.js b/app/containers/PostUpvoter/index.js index 8026609c..1c0eb955 100644 --- a/app/containers/PostUpvoter/index.js +++ b/app/containers/PostUpvoter/index.js @@ -12,11 +12,11 @@ const withMutation = graphql(upvotePostGql, { updatePost: { __typename: 'Post', id: ownProps.id, - votes: ownProps.votes + 1, - }, - }, - }), - }), + votes: ownProps.votes + 1 + } + } + }) + }) }) export default withMutation(Feature) diff --git a/app/containers/SignInForm/feature.js b/app/containers/SignInForm/feature.js index dda334f1..fe03703b 100644 --- a/app/containers/SignInForm/feature.js +++ b/app/containers/SignInForm/feature.js @@ -6,17 +6,17 @@ import validate from '~/components/AuthFields/validation' export default class SignInForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - signIn: PropTypes.func.isRequired, + signIn: PropTypes.func.isRequired }).isRequired, actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired, - }).isRequired, + signIn: PropTypes.func.isRequired + }).isRequired }; state = { errors: {}, serverErrors: {}, - touched: false, + touched: false }; getServerErrors(err) { @@ -24,14 +24,14 @@ export default class SignInForm extends React.Component { const obj = {} obj.message = err.graphQLErrors[0].message this.setState({ - serverErrors: obj, + serverErrors: obj }) } } formFields = [ { key: 1, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } }, + { key: 2, attr: { name: 'password', type: 'password', label: 'Password' } } ]; handleTouch = () => { @@ -52,7 +52,7 @@ export default class SignInForm extends React.Component { // reset state this.setState({ errors: {}, - serverErrors: {}, + serverErrors: {} }) const handleValidate = validate(valuesPack) diff --git a/app/containers/SignInForm/index.js b/app/containers/SignInForm/index.js index b5020215..a8a37cb2 100644 --- a/app/containers/SignInForm/index.js +++ b/app/containers/SignInForm/index.js @@ -9,18 +9,18 @@ const withMutation = graphql(signInGql, { mutations: { signIn: ({ email, password }) => mutate({ - variables: { email, password }, - }), - }, - }), + variables: { email, password } + }) + } + }) }) const mapDispatchToProps = dispatch => ({ actions: { signIn(token) { dispatch(dispatchers.signIn(token)) - }, - }, + } + } }) const featureWithApollo = withMutation(Feature) diff --git a/app/containers/SignUpForm/feature.js b/app/containers/SignUpForm/feature.js index 9e656c98..6fc148e3 100644 --- a/app/containers/SignUpForm/feature.js +++ b/app/containers/SignUpForm/feature.js @@ -6,17 +6,17 @@ import validate from '~/components/AuthFields/validation' export default class SignUpForm extends React.Component { static propTypes = { mutations: PropTypes.shape({ - signUp: PropTypes.func.isRequired, + signUp: PropTypes.func.isRequired }).isRequired, actions: PropTypes.shape({ - signIn: PropTypes.func.isRequired, - }).isRequired, + signIn: PropTypes.func.isRequired + }).isRequired }; state = { errors: {}, serverErrors: {}, - touched: false, + touched: false }; getServerErrors(err) { @@ -24,7 +24,7 @@ export default class SignUpForm extends React.Component { const obj = {} obj.message = err.graphQLErrors[0].message this.setState({ - serverErrors: obj, + serverErrors: obj }) } } @@ -33,7 +33,7 @@ export default class SignUpForm extends React.Component { { key: 1, attr: { name: 'firstName', type: 'text', label: 'First Name' } }, { key: 2, attr: { name: 'lastName', type: 'text', label: 'Last Name' } }, { key: 3, attr: { name: 'email', type: 'email', label: 'Email' } }, - { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } }, + { key: 4, attr: { name: 'password', type: 'password', label: 'Password' } } ]; handleTouch = () => { @@ -54,7 +54,7 @@ export default class SignUpForm extends React.Component { // reset state this.setState({ errors: {}, - serverErrors: {}, + serverErrors: {} }) const handleValidate = validate(valuesPack) @@ -73,7 +73,7 @@ export default class SignUpForm extends React.Component { this.props.actions.signIn(response.data.signinUser.token) } else { this.setState({ - errors: response.data.createUser.errors, + errors: response.data.createUser.errors }) } }) diff --git a/app/containers/SignUpForm/index.js b/app/containers/SignUpForm/index.js index 67f29502..6e56f20c 100644 --- a/app/containers/SignUpForm/index.js +++ b/app/containers/SignUpForm/index.js @@ -9,18 +9,18 @@ const withMutation = graphql(createUserGql, { mutations: { signUp: ({ firstName, lastName, email, password }) => mutate({ - variables: { firstName, lastName, email, password }, - }), - }, - }), + variables: { firstName, lastName, email, password } + }) + } + }) }) const mapDispatchToProps = dispatch => ({ actions: { signIn(token) { dispatch(dispatchers.signIn(token)) - }, - }, + } + } }) const featureWithApollo = withMutation(Feature) diff --git a/app/lib/apolloClient.js b/app/lib/apolloClient.js index 9fe37b94..3aae348b 100644 --- a/app/lib/apolloClient.js +++ b/app/lib/apolloClient.js @@ -5,8 +5,8 @@ const initNetworkInterface = token => { const networkInterface = createNetworkInterface({ uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', opts: { - credentials: 'same-origin', - }, + credentials: 'same-origin' + } }) networkInterface.use([ @@ -21,8 +21,8 @@ const initNetworkInterface = token => { req.options.headers.authorization = token ? `Bearer ${token}` : null next() })() - }, - }, + } + } ]) return networkInterface @@ -35,7 +35,7 @@ const createClient = (headers, token) => ssrMode: !process.browser, ssrForceFetchDelay: 100, headers, - networkInterface: initNetworkInterface(token), + networkInterface: initNetworkInterface(token) }) export default (headers, token) => { diff --git a/app/lib/installOfflinePlugin.js b/app/lib/installOfflinePlugin.js index f2675d83..b7f401e1 100644 --- a/app/lib/installOfflinePlugin.js +++ b/app/lib/installOfflinePlugin.js @@ -10,7 +10,7 @@ export default function installOfflinePlugin() { }, onUpdated() { window.location.reload() - }, + } }) offlineInstalled = true } diff --git a/app/lib/reducer.js b/app/lib/reducer.js index ebde606c..5a93d415 100644 --- a/app/lib/reducer.js +++ b/app/lib/reducer.js @@ -4,6 +4,6 @@ import { reducer as authReducer } from '~/stores/auth' export default function getReducer(client) { return combineReducers({ apollo: client.reducer(), - auth: authReducer, + auth: authReducer }) } diff --git a/app/lib/withData.js b/app/lib/withData.js index 0625ae3d..57f7591d 100644 --- a/app/lib/withData.js +++ b/app/lib/withData.js @@ -12,7 +12,7 @@ export default Component => static propTypes = () => ({ headers: PropTypes.object.isRequired, accessToken: PropTypes.string, - initialState: PropTypes.object.isRequired, + initialState: PropTypes.object.isRequired }); static async getInitialProps(ctx) { @@ -25,7 +25,7 @@ export default Component => url: { query: ctx.query, pathname: ctx.pathname }, ...(await (Component.getInitialProps ? Component.getInitialProps(ctx) - : {})), + : {})) } if (!process.browser) { @@ -42,11 +42,11 @@ export default Component => initialState: { ...state, apollo: { - data: state.apollo.data, - }, + data: state.apollo.data + } }, headers, - ...props, + ...props } } diff --git a/app/stores/auth.js b/app/stores/auth.js index 25ea015f..f3731701 100644 --- a/app/stores/auth.js +++ b/app/stores/auth.js @@ -9,7 +9,7 @@ export const AUTH_SERVERERROR = 'AUTH/SERVERERROR' const initialState = { authenticated: false, token: null, - error: null, + error: null } // Reducer @@ -20,7 +20,7 @@ const reducer = (state = initialState, action) => { ...state, authenticated: true, token: action.token, - error: null, + error: null } case AUTH_SIGNOUT: return { ...state, authenticated: false, token: null, error: null } diff --git a/app/themes/eightbit.js b/app/themes/eightbit.js index 93e11b1d..d8848439 100644 --- a/app/themes/eightbit.js +++ b/app/themes/eightbit.js @@ -7,11 +7,11 @@ export default mergeObjects(main, { success: '#1bcb01', error: '#722640', background: '#000000', - text: '#ffffff', + text: '#ffffff' }, font: { family: { - normal: 'Consolas, monaco, monospace', - }, - }, + normal: 'Consolas, monaco, monospace' + } + } }) diff --git a/app/themes/index.js b/app/themes/index.js index 58637375..262e8f8f 100644 --- a/app/themes/index.js +++ b/app/themes/index.js @@ -7,7 +7,7 @@ import eightbit from './eightbit' const themeList = { main, inverted, - eightbit, + eightbit } export default function getTheme(name) { diff --git a/app/themes/inverted.js b/app/themes/inverted.js index eeb57418..432f3381 100644 --- a/app/themes/inverted.js +++ b/app/themes/inverted.js @@ -9,6 +9,6 @@ export default mergeObjects(main, { error: '#26ACB0', background: '#000000', text: '#ffffff', - textAlt: '#000000', - }, + textAlt: '#000000' + } }) diff --git a/app/themes/main.js b/app/themes/main.js index 48eb07fd..2e320fc5 100644 --- a/app/themes/main.js +++ b/app/themes/main.js @@ -6,12 +6,12 @@ export default { bigger: '16px', small: '13px', smaller: '12px', - tiny: '11px', + tiny: '11px' }, family: { normal: - 'Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif', - }, + 'Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif' + } }, spacing: { normal: '10px', @@ -20,11 +20,11 @@ export default { huge: '40px', small: '10px', smaller: '5px', - noSpace: '0', + noSpace: '0' }, alignment: { horizontalCenter: '0 auto', - center: 'auto', + center: 'auto' }, colors: { main: '#22BAD9', @@ -33,6 +33,6 @@ export default { error: '#d9534f', background: '#ffffff', text: '#000000', - textAlt: '#ffffff', - }, + textAlt: '#ffffff' + } } diff --git a/jest.config.js b/jest.config.js index f1c04233..896346e5 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,10 +7,10 @@ module.exports = { testRegex: '\\.test\\.js$', testPathIgnorePatterns: [ '/(build|docs|node_modules)/', - '/__mocks__/', + '/__mocks__/' ], moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': - '/app/__mocks__/fileMock.js', - }, + '/app/__mocks__/fileMock.js' + } } diff --git a/next.config.js b/next.config.js index 2e335c49..f1025457 100644 --- a/next.config.js +++ b/next.config.js @@ -17,8 +17,8 @@ module.exports = { { loader: 'emit-file-loader', options: { - name: 'dist/[path][name].[ext]', - }, + name: 'dist/[path][name].[ext]' + } }, // this will create image copy, that we will use { @@ -29,29 +29,29 @@ module.exports = { // this dont change url of image, // this is used just to shut up '__webpack_public_path__ is not defined' publicPath: '/_next/webpack/', - limit: 1000, - }, + limit: 1000 + } }, { loader: 'image-webpack-loader', options: { gifsicle: { - interlaced: false, + interlaced: false }, optipng: { - optimizationLevel: 7, + optimizationLevel: 7 }, pngquant: { quality: '65-90', - speed: 4, + speed: 4 }, mozjpeg: { progressive: true, - quality: 65, - }, - }, - }, - ], + quality: 65 + } + } + } + ] }) // FIXME: not fixing gql and graphql files, but fixing js files @@ -62,8 +62,8 @@ module.exports = { exclude: /node_modules/, enforce: 'pre', options: { - fix: true, - }, + fix: true + } }) } @@ -72,7 +72,7 @@ module.exports = { new BundleAnalyzerPlugin({ analyzerMode: 'server', analyzerPort: 8888, - openAnalyzer: true, + openAnalyzer: true }) ) } @@ -113,16 +113,16 @@ module.exports = { __tests: dev ? { ignoreRuntime: true } : {}, ServiceWorker: { events: true, - navigateFallbackURL: '/', + navigateFallbackURL: '/' }, AppCache: { directory: './', - events: true, - }, + events: true + } }) ) } return config - }, + } } From aa34fb80eff1db9cbd206c3f32b3ddcc0155feba Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 20 Aug 2017 17:02:08 +0300 Subject: [PATCH 25/28] post info normal stories tests --- .../__snapshots__/storyshots.test.js.snap | 80 ++++++++++++++++++- .../PostInfo/__tests__/index.stories.js | 41 +++------- 2 files changed, 92 insertions(+), 29 deletions(-) diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 9c1d4542..99c87b29 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -274,7 +274,57 @@ exports[`Storyshots PostInfo loading 1`] = `
`; +exports[`Storyshots PostInfo no post 1`] = ` +.c0 { + padding-bottom: 20px; +} + +.c0 > h1 { + margin-top: 0; +} + +.c0 > p { + font-size: 17px; +} + +
+
+
+

+ No such post +

+
+
+
+`; + exports[`Storyshots PostInfo showing post 1`] = ` +.c1 { + color: #22BAD9; +} + .c0 { padding-bottom: 20px; } @@ -313,8 +363,36 @@ exports[`Storyshots PostInfo showing post 1`] = ` className="c0" >

- Loading... + Hello World

+
+ + ID: + + uuidv4 + + + +  |  + + + Created At: + + + 01.01.1970 02:00 + + +
+

+ + http://bogus.com + +

diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index 6f4807b6..e97694d3 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -1,53 +1,38 @@ import React from 'react' -import { MockedProvider } from 'react-apollo/test-utils' -import { addTypenameToDocument } from 'apollo-client' import { storiesOf } from '@storybook/react' -import PostInfoWithData from '../' import PostInfo from '../feature' -import getPostGql from '../getPost.gql' import Themed from '~/__utils__/Themed' -const query = addTypenameToDocument(getPostGql) - storiesOf('PostInfo', module) .add('loading', () => ) .add('showing post', () => { - const variables = { postId: 1 } const data = { + loading: false, Post: { - title: 'title', - id: 'id', - url: 'someurl', + title: 'Hello World', + id: 'uuidv4', + url: 'http://bogus.com', votes: 1, - createdAt: Date.now(), - __typename: 'Post' + createdAt: new Date(0) } } - const mocks = [{ request: { query, variables }, result: { data } }] - return ( - - - - - + + + ) }) - .add('no such post error', () => { - const variables = { postId: 1 } + .add('no post', () => { const data = { + loading: false, Post: null } - const mocks = [{ request: { query, variables }, result: { data } }] - return ( - - - - - + + + ) }) From fc1379227e0a7fc5b6aca083872a058feb750ff9 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 20 Aug 2017 17:34:36 +0300 Subject: [PATCH 26/28] schema.json to gql --- .graphqlconfig | 2 +- app/schema.graphql | 1730 ++++++++ app/schema.json | 10027 ------------------------------------------- 3 files changed, 1731 insertions(+), 10028 deletions(-) create mode 100644 app/schema.graphql delete mode 100644 app/schema.json diff --git a/.graphqlconfig b/.graphqlconfig index b8b69aa2..8d03cec6 100644 --- a/.graphqlconfig +++ b/.graphqlconfig @@ -1,5 +1,5 @@ { - "schemaPath": "app/schema.json", + "schemaPath": "app/schema.graphql", "extensions": { "endpoints": { "default": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn" diff --git a/app/schema.graphql b/app/schema.graphql new file mode 100644 index 00000000..6b6a616f --- /dev/null +++ b/app/schema.graphql @@ -0,0 +1,1730 @@ +# source: https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn +# timestamp: Sun Aug 20 2017 17:33:51 GMT+0300 (EEST) + +enum _ModelMutationType { + CREATED + UPDATED + DELETED +} + +# Meta information about the query. +type _QueryMeta { + count: Int! +} + +input AUTH_PROVIDER_EMAIL { + email: String! + password: String! +} + +input AuthProviderSignupData { + email: AUTH_PROVIDER_EMAIL +} + +input CreateFile { + name: String! +} + +input CreatePost { + title: String! + url: String! + votes: Int +} + +input CreateUser { + firstName: String! + lastName: String! +} + +scalar DateTime + +type File implements Node { + contentType: String! + createdAt: DateTime + id: ID! + name: String! + secret: String! + size: Int! + updatedAt: DateTime + url: String! +} + +input FileFilter { + # Logical AND on all given filters. + AND: [FileFilter!] + + # Logical OR on all given filters. + OR: [FileFilter!] + contentType: String + + # All values that are not equal to given value. + contentType_not: String + + # All values that are contained in given list. + contentType_in: [String!] + + # All values that are not contained in given list. + contentType_not_in: [String!] + + # All values less than the given value. + contentType_lt: String + + # All values less than or equal the given value. + contentType_lte: String + + # All values greater than the given value. + contentType_gt: String + + # All values greater than or equal the given value. + contentType_gte: String + + # All values containing the given string. + contentType_contains: String + + # All values not containing the given string. + contentType_not_contains: String + + # All values starting with the given string. + contentType_starts_with: String + + # All values not starting with the given string. + contentType_not_starts_with: String + + # All values ending with the given string. + contentType_ends_with: String + + # All values not ending with the given string. + contentType_not_ends_with: String + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + name: String + + # All values that are not equal to given value. + name_not: String + + # All values that are contained in given list. + name_in: [String!] + + # All values that are not contained in given list. + name_not_in: [String!] + + # All values less than the given value. + name_lt: String + + # All values less than or equal the given value. + name_lte: String + + # All values greater than the given value. + name_gt: String + + # All values greater than or equal the given value. + name_gte: String + + # All values containing the given string. + name_contains: String + + # All values not containing the given string. + name_not_contains: String + + # All values starting with the given string. + name_starts_with: String + + # All values not starting with the given string. + name_not_starts_with: String + + # All values ending with the given string. + name_ends_with: String + + # All values not ending with the given string. + name_not_ends_with: String + secret: String + + # All values that are not equal to given value. + secret_not: String + + # All values that are contained in given list. + secret_in: [String!] + + # All values that are not contained in given list. + secret_not_in: [String!] + + # All values less than the given value. + secret_lt: String + + # All values less than or equal the given value. + secret_lte: String + + # All values greater than the given value. + secret_gt: String + + # All values greater than or equal the given value. + secret_gte: String + + # All values containing the given string. + secret_contains: String + + # All values not containing the given string. + secret_not_contains: String + + # All values starting with the given string. + secret_starts_with: String + + # All values not starting with the given string. + secret_not_starts_with: String + + # All values ending with the given string. + secret_ends_with: String + + # All values not ending with the given string. + secret_not_ends_with: String + size: Int + + # All values that are not equal to given value. + size_not: Int + + # All values that are contained in given list. + size_in: [Int!] + + # All values that are not contained in given list. + size_not_in: [Int!] + + # All values less than the given value. + size_lt: Int + + # All values less than or equal the given value. + size_lte: Int + + # All values greater than the given value. + size_gt: Int + + # All values greater than or equal the given value. + size_gte: Int + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String +} + +enum FileOrderBy { + contentType_ASC + contentType_DESC + createdAt_ASC + createdAt_DESC + id_ASC + id_DESC + name_ASC + name_DESC + secret_ASC + secret_DESC + size_ASC + size_DESC + updatedAt_ASC + updatedAt_DESC + url_ASC + url_DESC +} + +type FilePreviousValues { + contentType: String! + createdAt: DateTime + id: ID! + name: String! + secret: String! + size: Int! + updatedAt: DateTime + url: String! +} + +input FileSubscriptionFilter { + # Logical AND on all given filters. + AND: [FileSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [FileSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: FileSubscriptionFilterNode +} + +input FileSubscriptionFilterNode { + contentType: String + + # All values that are not equal to given value. + contentType_not: String + + # All values that are contained in given list. + contentType_in: [String!] + + # All values that are not contained in given list. + contentType_not_in: [String!] + + # All values less than the given value. + contentType_lt: String + + # All values less than or equal the given value. + contentType_lte: String + + # All values greater than the given value. + contentType_gt: String + + # All values greater than or equal the given value. + contentType_gte: String + + # All values containing the given string. + contentType_contains: String + + # All values not containing the given string. + contentType_not_contains: String + + # All values starting with the given string. + contentType_starts_with: String + + # All values not starting with the given string. + contentType_not_starts_with: String + + # All values ending with the given string. + contentType_ends_with: String + + # All values not ending with the given string. + contentType_not_ends_with: String + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + name: String + + # All values that are not equal to given value. + name_not: String + + # All values that are contained in given list. + name_in: [String!] + + # All values that are not contained in given list. + name_not_in: [String!] + + # All values less than the given value. + name_lt: String + + # All values less than or equal the given value. + name_lte: String + + # All values greater than the given value. + name_gt: String + + # All values greater than or equal the given value. + name_gte: String + + # All values containing the given string. + name_contains: String + + # All values not containing the given string. + name_not_contains: String + + # All values starting with the given string. + name_starts_with: String + + # All values not starting with the given string. + name_not_starts_with: String + + # All values ending with the given string. + name_ends_with: String + + # All values not ending with the given string. + name_not_ends_with: String + secret: String + + # All values that are not equal to given value. + secret_not: String + + # All values that are contained in given list. + secret_in: [String!] + + # All values that are not contained in given list. + secret_not_in: [String!] + + # All values less than the given value. + secret_lt: String + + # All values less than or equal the given value. + secret_lte: String + + # All values greater than the given value. + secret_gt: String + + # All values greater than or equal the given value. + secret_gte: String + + # All values containing the given string. + secret_contains: String + + # All values not containing the given string. + secret_not_contains: String + + # All values starting with the given string. + secret_starts_with: String + + # All values not starting with the given string. + secret_not_starts_with: String + + # All values ending with the given string. + secret_ends_with: String + + # All values not ending with the given string. + secret_not_ends_with: String + size: Int + + # All values that are not equal to given value. + size_not: Int + + # All values that are contained in given list. + size_in: [Int!] + + # All values that are not contained in given list. + size_not_in: [Int!] + + # All values less than the given value. + size_lt: Int + + # All values less than or equal the given value. + size_lte: Int + + # All values greater than the given value. + size_gt: Int + + # All values greater than or equal the given value. + size_gte: Int + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String +} + +type FileSubscriptionPayload { + mutation: _ModelMutationType! + node: File + updatedFields: [String!] + previousValues: FilePreviousValues +} + +type Mutation { + createFile(name: String!): File + createPost(title: String!, url: String!, votes: Int): Post + updateFile(id: ID!, name: String): File + updatePost(id: ID!, title: String, url: String, votes: Int): Post + updateUser(firstName: String, id: ID!, lastName: String): User + updateOrCreateFile(update: UpdateFile!, create: CreateFile!): File + updateOrCreatePost(update: UpdatePost!, create: CreatePost!): Post + updateOrCreateUser(update: UpdateUser!, create: CreateUser!): User + deleteFile(id: ID!): File + deletePost(id: ID!): Post + deleteUser(id: ID!): User + signinUser(email: AUTH_PROVIDER_EMAIL): SigninPayload! + createUser(firstName: String!, lastName: String!, authProvider: AuthProviderSignupData!): User +} + +# An object with an ID +interface Node { + # The id of the object. + id: ID! +} + +type Post implements Node { + createdAt: DateTime + id: ID! + title: String! + updatedAt: DateTime + url: String! + votes: Int +} + +input PostFilter { + # Logical AND on all given filters. + AND: [PostFilter!] + + # Logical OR on all given filters. + OR: [PostFilter!] + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + title: String + + # All values that are not equal to given value. + title_not: String + + # All values that are contained in given list. + title_in: [String!] + + # All values that are not contained in given list. + title_not_in: [String!] + + # All values less than the given value. + title_lt: String + + # All values less than or equal the given value. + title_lte: String + + # All values greater than the given value. + title_gt: String + + # All values greater than or equal the given value. + title_gte: String + + # All values containing the given string. + title_contains: String + + # All values not containing the given string. + title_not_contains: String + + # All values starting with the given string. + title_starts_with: String + + # All values not starting with the given string. + title_not_starts_with: String + + # All values ending with the given string. + title_ends_with: String + + # All values not ending with the given string. + title_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String + votes: Int + + # All values that are not equal to given value. + votes_not: Int + + # All values that are contained in given list. + votes_in: [Int!] + + # All values that are not contained in given list. + votes_not_in: [Int!] + + # All values less than the given value. + votes_lt: Int + + # All values less than or equal the given value. + votes_lte: Int + + # All values greater than the given value. + votes_gt: Int + + # All values greater than or equal the given value. + votes_gte: Int +} + +enum PostOrderBy { + createdAt_ASC + createdAt_DESC + id_ASC + id_DESC + title_ASC + title_DESC + updatedAt_ASC + updatedAt_DESC + url_ASC + url_DESC + votes_ASC + votes_DESC +} + +type PostPreviousValues { + createdAt: DateTime + id: ID! + title: String! + updatedAt: DateTime + url: String! + votes: Int +} + +input PostSubscriptionFilter { + # Logical AND on all given filters. + AND: [PostSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [PostSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: PostSubscriptionFilterNode +} + +input PostSubscriptionFilterNode { + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + title: String + + # All values that are not equal to given value. + title_not: String + + # All values that are contained in given list. + title_in: [String!] + + # All values that are not contained in given list. + title_not_in: [String!] + + # All values less than the given value. + title_lt: String + + # All values less than or equal the given value. + title_lte: String + + # All values greater than the given value. + title_gt: String + + # All values greater than or equal the given value. + title_gte: String + + # All values containing the given string. + title_contains: String + + # All values not containing the given string. + title_not_contains: String + + # All values starting with the given string. + title_starts_with: String + + # All values not starting with the given string. + title_not_starts_with: String + + # All values ending with the given string. + title_ends_with: String + + # All values not ending with the given string. + title_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime + url: String + + # All values that are not equal to given value. + url_not: String + + # All values that are contained in given list. + url_in: [String!] + + # All values that are not contained in given list. + url_not_in: [String!] + + # All values less than the given value. + url_lt: String + + # All values less than or equal the given value. + url_lte: String + + # All values greater than the given value. + url_gt: String + + # All values greater than or equal the given value. + url_gte: String + + # All values containing the given string. + url_contains: String + + # All values not containing the given string. + url_not_contains: String + + # All values starting with the given string. + url_starts_with: String + + # All values not starting with the given string. + url_not_starts_with: String + + # All values ending with the given string. + url_ends_with: String + + # All values not ending with the given string. + url_not_ends_with: String + votes: Int + + # All values that are not equal to given value. + votes_not: Int + + # All values that are contained in given list. + votes_in: [Int!] + + # All values that are not contained in given list. + votes_not_in: [Int!] + + # All values less than the given value. + votes_lt: Int + + # All values less than or equal the given value. + votes_lte: Int + + # All values greater than the given value. + votes_gt: Int + + # All values greater than or equal the given value. + votes_gte: Int +} + +type PostSubscriptionPayload { + mutation: _ModelMutationType! + node: Post + updatedFields: [String!] + previousValues: PostPreviousValues +} + +type Query { + allFiles(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [File!]! + allPosts(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [Post!]! + allUsers(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): [User!]! + _allFilesMeta(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + _allPostsMeta(filter: PostFilter, orderBy: PostOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + _allUsersMeta(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): _QueryMeta! + File(id: ID, secret: String, url: String): File + Post(id: ID): Post + User(email: String, id: ID): User + user: User + + # Fetches an object given its ID + node( + # The ID of an object + id: ID! + ): Node +} + +# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null. +type SigninPayload { + token: String + user: User +} + +type Subscription { + File(filter: FileSubscriptionFilter): FileSubscriptionPayload + Post(filter: PostSubscriptionFilter): PostSubscriptionPayload + User(filter: UserSubscriptionFilter): UserSubscriptionPayload +} + +input UpdateFile { + id: ID! + name: String +} + +input UpdatePost { + id: ID! + title: String + url: String + votes: Int +} + +input UpdateUser { + firstName: String + id: ID! + lastName: String +} + +type User implements Node { + createdAt: DateTime + email: String + firstName: String! + id: ID! + lastName: String! + password: String + updatedAt: DateTime +} + +input UserFilter { + # Logical AND on all given filters. + AND: [UserFilter!] + + # Logical OR on all given filters. + OR: [UserFilter!] + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + email: String + + # All values that are not equal to given value. + email_not: String + + # All values that are contained in given list. + email_in: [String!] + + # All values that are not contained in given list. + email_not_in: [String!] + + # All values less than the given value. + email_lt: String + + # All values less than or equal the given value. + email_lte: String + + # All values greater than the given value. + email_gt: String + + # All values greater than or equal the given value. + email_gte: String + + # All values containing the given string. + email_contains: String + + # All values not containing the given string. + email_not_contains: String + + # All values starting with the given string. + email_starts_with: String + + # All values not starting with the given string. + email_not_starts_with: String + + # All values ending with the given string. + email_ends_with: String + + # All values not ending with the given string. + email_not_ends_with: String + firstName: String + + # All values that are not equal to given value. + firstName_not: String + + # All values that are contained in given list. + firstName_in: [String!] + + # All values that are not contained in given list. + firstName_not_in: [String!] + + # All values less than the given value. + firstName_lt: String + + # All values less than or equal the given value. + firstName_lte: String + + # All values greater than the given value. + firstName_gt: String + + # All values greater than or equal the given value. + firstName_gte: String + + # All values containing the given string. + firstName_contains: String + + # All values not containing the given string. + firstName_not_contains: String + + # All values starting with the given string. + firstName_starts_with: String + + # All values not starting with the given string. + firstName_not_starts_with: String + + # All values ending with the given string. + firstName_ends_with: String + + # All values not ending with the given string. + firstName_not_ends_with: String + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + lastName: String + + # All values that are not equal to given value. + lastName_not: String + + # All values that are contained in given list. + lastName_in: [String!] + + # All values that are not contained in given list. + lastName_not_in: [String!] + + # All values less than the given value. + lastName_lt: String + + # All values less than or equal the given value. + lastName_lte: String + + # All values greater than the given value. + lastName_gt: String + + # All values greater than or equal the given value. + lastName_gte: String + + # All values containing the given string. + lastName_contains: String + + # All values not containing the given string. + lastName_not_contains: String + + # All values starting with the given string. + lastName_starts_with: String + + # All values not starting with the given string. + lastName_not_starts_with: String + + # All values ending with the given string. + lastName_ends_with: String + + # All values not ending with the given string. + lastName_not_ends_with: String + password: String + + # All values that are not equal to given value. + password_not: String + + # All values that are contained in given list. + password_in: [String!] + + # All values that are not contained in given list. + password_not_in: [String!] + + # All values less than the given value. + password_lt: String + + # All values less than or equal the given value. + password_lte: String + + # All values greater than the given value. + password_gt: String + + # All values greater than or equal the given value. + password_gte: String + + # All values containing the given string. + password_contains: String + + # All values not containing the given string. + password_not_contains: String + + # All values starting with the given string. + password_starts_with: String + + # All values not starting with the given string. + password_not_starts_with: String + + # All values ending with the given string. + password_ends_with: String + + # All values not ending with the given string. + password_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime +} + +enum UserOrderBy { + createdAt_ASC + createdAt_DESC + email_ASC + email_DESC + firstName_ASC + firstName_DESC + id_ASC + id_DESC + lastName_ASC + lastName_DESC + password_ASC + password_DESC + updatedAt_ASC + updatedAt_DESC +} + +type UserPreviousValues { + createdAt: DateTime + email: String + firstName: String! + id: ID! + lastName: String! + password: String + updatedAt: DateTime +} + +input UserSubscriptionFilter { + # Logical AND on all given filters. + AND: [UserSubscriptionFilter!] + + # Logical OR on all given filters. + OR: [UserSubscriptionFilter!] + + # The subscription event gets dispatched when it's listed in mutation_in + mutation_in: [_ModelMutationType!] + + # The subscription event gets only dispatched when one of the updated fields names is included in this list + updatedFields_contains: String + + # The subscription event gets only dispatched when all of the field names included in this list have been updated + updatedFields_contains_every: [String!] + + # The subscription event gets only dispatched when some of the field names included in this list have been updated + updatedFields_contains_some: [String!] + node: UserSubscriptionFilterNode +} + +input UserSubscriptionFilterNode { + createdAt: DateTime + + # All values that are not equal to given value. + createdAt_not: DateTime + + # All values that are contained in given list. + createdAt_in: [DateTime!] + + # All values that are not contained in given list. + createdAt_not_in: [DateTime!] + + # All values less than the given value. + createdAt_lt: DateTime + + # All values less than or equal the given value. + createdAt_lte: DateTime + + # All values greater than the given value. + createdAt_gt: DateTime + + # All values greater than or equal the given value. + createdAt_gte: DateTime + email: String + + # All values that are not equal to given value. + email_not: String + + # All values that are contained in given list. + email_in: [String!] + + # All values that are not contained in given list. + email_not_in: [String!] + + # All values less than the given value. + email_lt: String + + # All values less than or equal the given value. + email_lte: String + + # All values greater than the given value. + email_gt: String + + # All values greater than or equal the given value. + email_gte: String + + # All values containing the given string. + email_contains: String + + # All values not containing the given string. + email_not_contains: String + + # All values starting with the given string. + email_starts_with: String + + # All values not starting with the given string. + email_not_starts_with: String + + # All values ending with the given string. + email_ends_with: String + + # All values not ending with the given string. + email_not_ends_with: String + firstName: String + + # All values that are not equal to given value. + firstName_not: String + + # All values that are contained in given list. + firstName_in: [String!] + + # All values that are not contained in given list. + firstName_not_in: [String!] + + # All values less than the given value. + firstName_lt: String + + # All values less than or equal the given value. + firstName_lte: String + + # All values greater than the given value. + firstName_gt: String + + # All values greater than or equal the given value. + firstName_gte: String + + # All values containing the given string. + firstName_contains: String + + # All values not containing the given string. + firstName_not_contains: String + + # All values starting with the given string. + firstName_starts_with: String + + # All values not starting with the given string. + firstName_not_starts_with: String + + # All values ending with the given string. + firstName_ends_with: String + + # All values not ending with the given string. + firstName_not_ends_with: String + id: ID + + # All values that are not equal to given value. + id_not: ID + + # All values that are contained in given list. + id_in: [ID!] + + # All values that are not contained in given list. + id_not_in: [ID!] + + # All values less than the given value. + id_lt: ID + + # All values less than or equal the given value. + id_lte: ID + + # All values greater than the given value. + id_gt: ID + + # All values greater than or equal the given value. + id_gte: ID + + # All values containing the given string. + id_contains: ID + + # All values not containing the given string. + id_not_contains: ID + + # All values starting with the given string. + id_starts_with: ID + + # All values not starting with the given string. + id_not_starts_with: ID + + # All values ending with the given string. + id_ends_with: ID + + # All values not ending with the given string. + id_not_ends_with: ID + lastName: String + + # All values that are not equal to given value. + lastName_not: String + + # All values that are contained in given list. + lastName_in: [String!] + + # All values that are not contained in given list. + lastName_not_in: [String!] + + # All values less than the given value. + lastName_lt: String + + # All values less than or equal the given value. + lastName_lte: String + + # All values greater than the given value. + lastName_gt: String + + # All values greater than or equal the given value. + lastName_gte: String + + # All values containing the given string. + lastName_contains: String + + # All values not containing the given string. + lastName_not_contains: String + + # All values starting with the given string. + lastName_starts_with: String + + # All values not starting with the given string. + lastName_not_starts_with: String + + # All values ending with the given string. + lastName_ends_with: String + + # All values not ending with the given string. + lastName_not_ends_with: String + password: String + + # All values that are not equal to given value. + password_not: String + + # All values that are contained in given list. + password_in: [String!] + + # All values that are not contained in given list. + password_not_in: [String!] + + # All values less than the given value. + password_lt: String + + # All values less than or equal the given value. + password_lte: String + + # All values greater than the given value. + password_gt: String + + # All values greater than or equal the given value. + password_gte: String + + # All values containing the given string. + password_contains: String + + # All values not containing the given string. + password_not_contains: String + + # All values starting with the given string. + password_starts_with: String + + # All values not starting with the given string. + password_not_starts_with: String + + # All values ending with the given string. + password_ends_with: String + + # All values not ending with the given string. + password_not_ends_with: String + updatedAt: DateTime + + # All values that are not equal to given value. + updatedAt_not: DateTime + + # All values that are contained in given list. + updatedAt_in: [DateTime!] + + # All values that are not contained in given list. + updatedAt_not_in: [DateTime!] + + # All values less than the given value. + updatedAt_lt: DateTime + + # All values less than or equal the given value. + updatedAt_lte: DateTime + + # All values greater than the given value. + updatedAt_gt: DateTime + + # All values greater than or equal the given value. + updatedAt_gte: DateTime +} + +type UserSubscriptionPayload { + mutation: _ModelMutationType! + node: User + updatedFields: [String!] + previousValues: UserPreviousValues +} diff --git a/app/schema.json b/app/schema.json deleted file mode 100644 index 6cc70808..00000000 --- a/app/schema.json +++ /dev/null @@ -1,10027 +0,0 @@ -{ - "data": { - "__schema": { - "queryType": { - "name": "Query" - }, - "mutationType": { - "name": "Mutation" - }, - "subscriptionType": { - "name": "Subscription" - }, - "types": [ - { - "kind": "OBJECT", - "name": "Query", - "description": null, - "fields": [ - { - "name": "allFiles", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "FileOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "File", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "allPosts", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "PostOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "allUsers", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allFilesMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "FileOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allPostsMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "PostOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_allUsersMeta", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserOrderBy", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "skip", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "after", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "before", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "last", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "_QueryMeta", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "File", - "description": null, - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Post", - "description": null, - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User", - "description": null, - "args": [ - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": "Fetches an object given its ID", - "args": [ - { - "name": "id", - "description": "The ID of an object", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "String", - "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "DateTime", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ID", - "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Int", - "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "FileOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "contentType_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contentType_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "File", - "description": null, - "fields": [ - { - "name": "contentType", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Node", - "description": "An object with an ID", - "fields": [ - { - "name": "id", - "description": "The id of the object.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - ] - }, - { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "PostOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Post", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserOrderBy", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_ASC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt_DESC", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Node", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "_QueryMeta", - "description": "Meta information about the query.", - "fields": [ - { - "name": "count", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Mutation", - "description": null, - "fields": [ - { - "name": "createFile", - "description": null, - "args": [ - { - "name": "name", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createPost", - "description": null, - "args": [ - { - "name": "title", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "votes", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateFile", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatePost", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUser", - "description": null, - "args": [ - { - "name": "firstName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreateFile", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateFile", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateFile", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreatePost", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdatePost", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreatePost", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateOrCreateUser", - "description": null, - "args": [ - { - "name": "update", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateUser", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "create", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateUser", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteFile", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletePost", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUser", - "description": null, - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "signinUser", - "description": null, - "args": [ - { - "name": "email", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SigninPayload", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createUser", - "description": null, - "args": [ - { - "name": "firstName", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "authProvider", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "AuthProviderSignupData", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateFile", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateFile", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "name", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdatePost", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreatePost", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "title", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateUser", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateUser", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "firstName", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "email", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SigninPayload", - "description": "If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.", - "fields": [ - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AuthProviderSignupData", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "email", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "AUTH_PROVIDER_EMAIL", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Subscription", - "description": null, - "fields": [ - { - "name": "File", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "FileSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Post", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "PostSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User", - "description": null, - "args": [ - { - "name": "filter", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserSubscriptionPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "_ModelMutationType", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CREATED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UPDATED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DELETED", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "FileSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "contentType", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "contentType_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "name_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "name_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "secret_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "secret_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "size_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "size_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FileSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "File", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "FilePreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FilePreviousValues", - "description": null, - "fields": [ - { - "name": "contentType", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "secret", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "size", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "PostSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "title_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "title_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "url_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "votes_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "votes_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PostSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Post", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "PostPreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "PostPreviousValues", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "votes", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "AND", - "description": "Logical AND on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "OR", - "description": "Logical OR on all given filters.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilter", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "mutation_in", - "description": "The subscription event gets dispatched when it's listed in mutation_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains", - "description": "The subscription event gets only dispatched when one of the updated fields names is included in this list", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_every", - "description": "The subscription event gets only dispatched when all of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedFields_contains_some", - "description": "The subscription event gets only dispatched when some of the field names included in this list have been updated", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "node", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilterNode", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserSubscriptionFilterNode", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "createdAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "createdAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "email_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "firstName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "firstName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "id_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "id_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "lastName_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "lastName_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "password_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_contains", - "description": "All values containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_contains", - "description": "All values not containing the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_starts_with", - "description": "All values starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_starts_with", - "description": "All values not starting with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_ends_with", - "description": "All values ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "password_not_ends_with", - "description": "All values not ending with the given string.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt", - "description": "", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_not", - "description": "All values that are not equal to given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_in", - "description": "All values that are contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_not_in", - "description": "All values that are not contained in given list.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "updatedAt_lt", - "description": "All values less than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_lte", - "description": "All values less than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gt", - "description": "All values greater than the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "updatedAt_gte", - "description": "All values greater than or equal the given value.", - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserSubscriptionPayload", - "description": null, - "fields": [ - { - "name": "mutation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ModelMutationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "node", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "previousValues", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserPreviousValues", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserPreviousValues", - "description": null, - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "firstName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "lastName", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "password", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "DateTime", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Schema", - "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", - "fields": [ - { - "name": "types", - "description": "A list of all types supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "queryType", - "description": "The type that query operations will be rooted at.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mutationType", - "description": "If this server supports mutation, the type that mutation operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscriptionType", - "description": "If this server support subscription, the type that subscription operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "directives", - "description": "A list of all directives supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Directive", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Type", - "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", - "fields": [ - { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__TypeKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fields", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Field", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "interfaces", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "possibleTypes", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "enumValues", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__EnumValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "inputFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ofType", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__TypeKind", - "description": "An enum describing what kind of type a given `__Type` is.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "SCALAR", - "description": "Indicates this type is a scalar.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Indicates this type is a union. `possibleTypes` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Indicates this type is an enum. `enumValues` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Indicates this type is an input object. `inputFields` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIST", - "description": "Indicates this type is a list. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NON_NULL", - "description": "Indicates this type is a non-null. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Boolean", - "description": "The `Boolean` scalar type represents `true` or `false`.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Field", - "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__InputValue", - "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultValue", - "description": "A GraphQL-formatted string representing the default value for this input value.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__EnumValue", - "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Directive", - "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "locations", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__DirectiveLocation", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onOperation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onFragment", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onField", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__DirectiveLocation", - "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "QUERY", - "description": "Location adjacent to a query operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MUTATION", - "description": "Location adjacent to a mutation operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SUBSCRIPTION", - "description": "Location adjacent to a subscription operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD", - "description": "Location adjacent to a field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_DEFINITION", - "description": "Location adjacent to a fragment definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_SPREAD", - "description": "Location adjacent to a fragment spread.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INLINE_FRAGMENT", - "description": "Location adjacent to an inline fragment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA", - "description": "Location adjacent to a schema definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCALAR", - "description": "Location adjacent to a scalar definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Location adjacent to an object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD_DEFINITION", - "description": "Location adjacent to a field definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ARGUMENT_DEFINITION", - "description": "Location adjacent to an argument definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Location adjacent to an interface definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Location adjacent to a union definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Location adjacent to an enum definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM_VALUE", - "description": "Location adjacent to an enum value definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Location adjacent to an input object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_FIELD_DEFINITION", - "description": "Location adjacent to an input object field definition.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - } - ], - "directives": [ - { - "name": "include", - "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Included when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "skip", - "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Included when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "deprecated", - "description": "Marks an element of a GraphQL schema as no longer supported.", - "locations": [ - "ENUM_VALUE", - "FIELD_DEFINITION" - ], - "args": [ - { - "name": "reason", - "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"No longer supported\"" - } - ] - } - ] - } - }, - "extensions": { - "graphql-config": { - "source": "https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn", - "timestamp": "Sat Aug 19 2017 22:45:55 GMT+0300 (EEST)" - } - } -} \ No newline at end of file From b79a52f4b334cd09c415e9a8965322d3ffd2b5a3 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 20 Aug 2017 21:12:26 +0300 Subject: [PATCH 27/28] fixes for merge --- app/__utils__/makeWithMockedProvider/index.js | 27 -------------- app/__utils__/themeSelector.js | 6 ---- app/components/LinkList/index.js | 18 +++++----- app/containers/CreatePost/feature.js | 8 ++--- app/containers/Header/feature.js | 6 ++-- app/containers/PostInfo/feature.js | 35 +++++++++--------- app/containers/PostList/feature.js | 36 +++++++++++-------- 7 files changed, 55 insertions(+), 81 deletions(-) delete mode 100644 app/__utils__/makeWithMockedProvider/index.js delete mode 100644 app/__utils__/themeSelector.js diff --git a/app/__utils__/makeWithMockedProvider/index.js b/app/__utils__/makeWithMockedProvider/index.js deleted file mode 100644 index cddde146..00000000 --- a/app/__utils__/makeWithMockedProvider/index.js +++ /dev/null @@ -1,27 +0,0 @@ -import { buildClientSchema, addMockFunctionsToSchema } from 'graphql-tools' -import { mockNetworkInterfaceWithSchema } from 'apollo-test-utils' -import ApolloClient from 'apollo-client' -import { ApolloProvider } from 'react-apollo' - -import * as introspectionResult from '~/schema.json' -console.log(introspectionResult) - -export default function makeWithMockedProvider(mocks) { - const schema = buildClientSchema(introspectionResult) - - addMockFunctionsToSchema({ - schema, - mocks - }) - - const mockNetworkInterface = mockNetworkInterfaceWithSchema({ schema }) - - const client = new ApolloClient({ - networkInterface: mockNetworkInterface - }) - - return children => - - {children} - -} diff --git a/app/__utils__/themeSelector.js b/app/__utils__/themeSelector.js deleted file mode 100644 index 04e97529..00000000 --- a/app/__utils__/themeSelector.js +++ /dev/null @@ -1,6 +0,0 @@ -import { select } from '@storybook/addon-knobs' - -const themes = ['main', 'eightbit', 'inverted'] -const defaultTheme = themes[0] - -export default select('Theme', themes, defaultTheme) diff --git a/app/components/LinkList/index.js b/app/components/LinkList/index.js index 30cbb31a..43144634 100644 --- a/app/components/LinkList/index.js +++ b/app/components/LinkList/index.js @@ -1,39 +1,39 @@ import PropTypes from 'prop-types' import { Link } from '~/routes' -import * as S from './styles' +import { A, LogOutButton } from './styles' const LinkList = ({ pathname, authenticated, logout }) => LinkList.propTypes = { diff --git a/app/containers/CreatePost/feature.js b/app/containers/CreatePost/feature.js index 034a7ac8..dc9b8640 100644 --- a/app/containers/CreatePost/feature.js +++ b/app/containers/CreatePost/feature.js @@ -1,7 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' import { Router } from '~/routes' -import * as S from './styles' +import { Form, SubmitButton } from './styles' export default class CreateForm extends React.Component { static propTypes = { @@ -37,10 +37,10 @@ export default class CreateForm extends React.Component { }; render = () => - +

Add new post

- Submit - ; + Submit +
; } diff --git a/app/containers/Header/feature.js b/app/containers/Header/feature.js index 4aea2512..05ea1ea3 100644 --- a/app/containers/Header/feature.js +++ b/app/containers/Header/feature.js @@ -1,17 +1,17 @@ import PropTypes from 'prop-types' import LinkList from '~/components/LinkList' import Logo from '~/components/Logo' -import * as S from './styles' +import { Header as StyledHeader } from './styles' const Header = ({ pathname, authenticated, actions: { logout } }) => - + - + Header.defaultProps = { authenticated: false diff --git a/app/containers/PostInfo/feature.js b/app/containers/PostInfo/feature.js index c569a693..fdb2e765 100644 --- a/app/containers/PostInfo/feature.js +++ b/app/containers/PostInfo/feature.js @@ -1,31 +1,30 @@ import moment from 'moment' import PropTypes from 'prop-types' -import * as S from './styles' +import { Section, A } from './styles' const PostInfo = ({ loading, Post, error }) => { - if (error) { - console.log(error) // eslint-disable-line no-console - return - } + let title if (loading) { - return ( - -

Loading...

-
- ) + title = 'Loading...' + } else if (error) { + title = error.toString() + } else if (!Post) { + title = 'No such post' } - if (!Post) { + if (title) { return ( - -

No such post

-
+
+

+ {title} +

+
) } return ( - +

{Post.title}

@@ -40,11 +39,11 @@ const PostInfo = ({ loading, Post, error }) => {

- + {Post.url} - +

- +
) } diff --git a/app/containers/PostList/feature.js b/app/containers/PostList/feature.js index fbca8231..dc51d9c8 100644 --- a/app/containers/PostList/feature.js +++ b/app/containers/PostList/feature.js @@ -1,7 +1,15 @@ import PropTypes from 'prop-types' import { Link } from '~/routes' import PostUpvoter from '~/containers/PostUpvoter' -import * as S from './styles' +import { + Main, + ItemList, + Index, + Title, + ShowMore, + Item, + Loading +} from './styles' const PostList = ({ data: { allPosts, loading, _allPostsMeta }, @@ -10,14 +18,14 @@ const PostList = ({ if (allPosts && allPosts.length) { const areMorePosts = allPosts.length < _allPostsMeta.count return ( - - +
+ {allPosts.map((post, index) => - +
- + {index + 1}.{' '} - + - + {post.title} - </S.Title> +
-
+ )} - +
{areMorePosts - ? loadMorePosts()}> + ? loadMorePosts()}> {loading ? 'Loading...' : 'Show More'} - + : ''} - +
) } - return Loading + return Loading } PostList.propTypes = { From cddb67ed95140ed0bd1bb7acd534e485c3e3b038 Mon Sep 17 00:00:00 2001 From: BjornMelgaard Date: Sun, 20 Aug 2017 21:25:13 +0300 Subject: [PATCH 28/28] make date in tests independent from local date --- app/.storybook/__snapshots__/storyshots.test.js.snap | 2 +- app/containers/PostInfo/__tests__/index.stories.js | 2 +- package.json | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/.storybook/__snapshots__/storyshots.test.js.snap b/app/.storybook/__snapshots__/storyshots.test.js.snap index 99c87b29..8d410707 100644 --- a/app/.storybook/__snapshots__/storyshots.test.js.snap +++ b/app/.storybook/__snapshots__/storyshots.test.js.snap @@ -379,7 +379,7 @@ exports[`Storyshots PostInfo showing post 1`] = ` Created At: - 01.01.1970 02:00 + 20.08.2014 15:30 diff --git a/app/containers/PostInfo/__tests__/index.stories.js b/app/containers/PostInfo/__tests__/index.stories.js index e97694d3..126e9f31 100644 --- a/app/containers/PostInfo/__tests__/index.stories.js +++ b/app/containers/PostInfo/__tests__/index.stories.js @@ -14,7 +14,7 @@ storiesOf('PostInfo', module) id: 'uuidv4', url: 'http://bogus.com', votes: 1, - createdAt: new Date(0) + createdAt: '2014-08-20 15:30:00' } } diff --git a/package.json b/package.json index eeed5f3c..0a26681e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ran-boilerplate", "version": "0.4.0", - "main": "server.js", + "main": "server/index.js", "description": "React . Apollo (GraphQL) . Next.js Boilerplate", "author": "Ilker Guller (http://ilkerguller.com)", "license": "MIT", @@ -47,7 +47,6 @@ "lint:css": "stylelint '**/*.js'", "lint:all": "yarn run lint && yarn run lint:css", "format": "prettier-eslint --write \"{app, helper_scripts, __{tests, mocks, utils}__}/**/*.js\" app/.storybook/*.js *.js", - "format:css": "styled-components-stylefmt -r '**/*.js'", "analyze": "ANALYZE_BUILD=true yarn run build", "setup": "node ./helper_scripts/CL_commands/setup.js && yarn run setup:after", "setup:after": "yarn run build", @@ -147,7 +146,6 @@ "react-test-renderer": "15.6.1", "release": "1.3.3", "shelljs": "0.7.8", - "styled-components-stylefmt": "0.1.2", "stylelint": "8.0.0", "stylelint-config-standard": "17.0.0", "stylelint-processor-styled-components": "0.2.2",