summaryrefslogtreecommitdiffstats
path: root/stepped-solutions
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-06-22 14:23:49 -0400
committerWes Bos <wesbos@gmail.com>2018-06-22 14:23:49 -0400
commit5f2d4ba39a19e2900192a69a58ee211f4eda9a98 (patch)
tree87392a1849f3535b2603acd30eee2e1f9305ff57 /stepped-solutions
parent8d4dffa6f01487be0cf5546653803d32282992eb (diff)
stepped solutions
Diffstat (limited to 'stepped-solutions')
-rwxr-xr-xstepped-solutions/07/frontend/components/Header.js16
-rwxr-xr-xstepped-solutions/07/frontend/components/Page.js17
-rwxr-xr-xstepped-solutions/08/frontend/components/Nav.js14
-rwxr-xr-xstepped-solutions/08/frontend/components/Page.js41
-rwxr-xr-xstepped-solutions/09/frontend/components/Header.js60
-rw-r--r--stepped-solutions/10/frontend/pages/_document.js23
-rw-r--r--stepped-solutions/12/backend/datamodel.graphql5
-rw-r--r--stepped-solutions/12/backend/prisma.yml6
-rwxr-xr-xstepped-solutions/12/backend/src/generated/prisma.graphql2126
9 files changed, 2308 insertions, 0 deletions
diff --git a/stepped-solutions/07/frontend/components/Header.js b/stepped-solutions/07/frontend/components/Header.js
new file mode 100755
index 0000000..51de94c
--- /dev/null
+++ b/stepped-solutions/07/frontend/components/Header.js
@@ -0,0 +1,16 @@
+import Nav from './Nav';
+
+const Header = () => (
+ <div>
+ <div className="bar">
+ <a href="">Sick Fits</a>
+ <Nav />
+ </div>
+ <div className="sub-bar">
+ <p>Search</p>
+ </div>
+ <div>Cart</div>
+ </div>
+);
+
+export default Header;
diff --git a/stepped-solutions/07/frontend/components/Page.js b/stepped-solutions/07/frontend/components/Page.js
new file mode 100755
index 0000000..96fb9f5
--- /dev/null
+++ b/stepped-solutions/07/frontend/components/Page.js
@@ -0,0 +1,17 @@
+import React, { Component } from 'react';
+import Header from '../components/Header';
+import Meta from '../components/Meta';
+
+class Page extends Component {
+ render() {
+ return (
+ <div>
+ <Meta />
+ <Header />
+ {this.props.children}
+ </div>
+ );
+ }
+}
+
+export default Page;
diff --git a/stepped-solutions/08/frontend/components/Nav.js b/stepped-solutions/08/frontend/components/Nav.js
new file mode 100755
index 0000000..0bd20b7
--- /dev/null
+++ b/stepped-solutions/08/frontend/components/Nav.js
@@ -0,0 +1,14 @@
+import Link from 'next/link';
+
+const Nav = () => (
+ <div>
+ <Link href="/sell">
+ <a>Sell!</a>
+ </Link>
+ <Link href="/">
+ <a>Home!</a>
+ </Link>
+ </div>
+);
+
+export default Nav;
diff --git a/stepped-solutions/08/frontend/components/Page.js b/stepped-solutions/08/frontend/components/Page.js
new file mode 100755
index 0000000..1256703
--- /dev/null
+++ b/stepped-solutions/08/frontend/components/Page.js
@@ -0,0 +1,41 @@
+import React, { Component } from 'react';
+import Header from '../components/Header';
+import Meta from '../components/Meta';
+import styled, { ThemeProvider, injectGlobal } from 'styled-components';
+
+const theme = {
+ red: '#FF0000',
+ black: '#393939',
+ grey: '#3A3A3A',
+ lightgrey: '#E1E1E1',
+ offWhite: '#EDEDED',
+ maxWidth: '1000px',
+ bs: '0 12px 24px 0 rgba(0, 0, 0, 0.09)',
+};
+
+const StyledPage = styled.div`
+ background: white;
+ color: ${props => props.theme.black};
+`;
+
+const Inner = styled.div`
+ max-width: ${props => props.theme.maxWidth};
+ margin: 0 auto;
+ padding: 2rem;
+`;
+
+class Page extends Component {
+ render() {
+ return (
+ <ThemeProvider theme={theme}>
+ <StyledPage>
+ <Meta />
+ <Header />
+ <Inner>{this.props.children}</Inner>
+ </StyledPage>
+ </ThemeProvider>
+ );
+ }
+}
+
+export default Page;
diff --git a/stepped-solutions/09/frontend/components/Header.js b/stepped-solutions/09/frontend/components/Header.js
new file mode 100755
index 0000000..b75fbc1
--- /dev/null
+++ b/stepped-solutions/09/frontend/components/Header.js
@@ -0,0 +1,60 @@
+import Nav from './Nav';
+import Link from 'next/link';
+import styled from 'styled-components';
+
+const Logo = styled.h1`
+ font-size: 4rem;
+ margin-left: 2rem;
+ position: relative;
+ z-index: 2;
+ transform: skew(-7deg);
+ a {
+ padding: 0.5rem 1rem;
+ background: ${props => props.theme.red};
+ color: white;
+ text-transform: uppercase;
+ text-decoration: none;
+ }
+ @media (max-width: 1300px) {
+ margin: 0;
+ text-align: center;
+ }
+`;
+
+const StyledHeader = styled.header`
+ .bar {
+ border-bottom: 10px solid ${props => props.theme.black};
+ display: grid;
+ grid-template-columns: auto 1fr;
+ justify-content: space-between;
+ align-items: stretch;
+ @media (max-width: 1300px) {
+ grid-template-columns: 1fr;
+ justify-content: center;
+ }
+ }
+ .sub-bar {
+ display: grid;
+ grid-template-columns: 1fr auto;
+ border-bottom: 1px solid ${props => props.theme.lightgrey};
+ }
+`;
+
+const Header = () => (
+ <StyledHeader>
+ <div className="bar">
+ <Logo>
+ <Link href="/">
+ <a>Sick Fits</a>
+ </Link>
+ </Logo>
+ <Nav />
+ </div>
+ <div className="sub-bar">
+ <p>Search</p>
+ </div>
+ <div>Cart</div>
+ </StyledHeader>
+);
+
+export default Header;
diff --git a/stepped-solutions/10/frontend/pages/_document.js b/stepped-solutions/10/frontend/pages/_document.js
new file mode 100644
index 0000000..0ac8935
--- /dev/null
+++ b/stepped-solutions/10/frontend/pages/_document.js
@@ -0,0 +1,23 @@
+import Document, { Head, Main, NextScript } from 'next/document';
+import { ServerStyleSheet } from 'styled-components';
+
+export default class MyDocument extends Document {
+ static getInitialProps({ renderPage }) {
+ const sheet = new ServerStyleSheet();
+ const page = renderPage(App => props => sheet.collectStyles(<App {...props} />));
+ const styleTags = sheet.getStyleElement();
+ return { ...page, styleTags };
+ }
+
+ render() {
+ return (
+ <html>
+ <Head>{this.props.styleTags}</Head>
+ <body>
+ <Main />
+ <NextScript />
+ </body>
+ </html>
+ );
+ }
+}
diff --git a/stepped-solutions/12/backend/datamodel.graphql b/stepped-solutions/12/backend/datamodel.graphql
new file mode 100644
index 0000000..095d841
--- /dev/null
+++ b/stepped-solutions/12/backend/datamodel.graphql
@@ -0,0 +1,5 @@
+type User {
+ id: ID! @unique
+ name: String!
+ email: String!
+}
diff --git a/stepped-solutions/12/backend/prisma.yml b/stepped-solutions/12/backend/prisma.yml
new file mode 100644
index 0000000..ab88006
--- /dev/null
+++ b/stepped-solutions/12/backend/prisma.yml
@@ -0,0 +1,6 @@
+endpoint: ${env:PRISMA_ENDPOINT}
+datamodel: datamodel.graphql
+# secret: ${env:PRISMA_SECRET}
+hooks:
+ post-deploy:
+ - graphql get-schema -p prisma
diff --git a/stepped-solutions/12/backend/src/generated/prisma.graphql b/stepped-solutions/12/backend/src/generated/prisma.graphql
new file mode 100755
index 0000000..953ddc2
--- /dev/null
+++ b/stepped-solutions/12/backend/src/generated/prisma.graphql
@@ -0,0 +1,2126 @@
+# source: https://us1.prisma.sh/wesbos/sick-fits/dev
+# timestamp: Fri May 25 2018 10:46:45 GMT-0400 (EDT)
+
+type AggregateCartItem {
+ count: Int!
+}
+
+type AggregateItem {
+ count: Int!
+}
+
+type AggregateOrder {
+ count: Int!
+}
+
+type AggregateOrderItem {
+ count: Int!
+}
+
+type AggregateUser {
+ count: Int!
+}
+
+type BatchPayload {
+ """The number of nodes that have been affected by the Batch operation."""
+ count: Long!
+}
+
+type CartItem implements Node {
+ id: ID!
+ quantity: Int!
+ item(where: ItemWhereInput): Item
+ user(where: UserWhereInput): User!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+}
+
+"""A connection to a list of items."""
+type CartItemConnection {
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
+
+ """A list of edges."""
+ edges: [CartItemEdge]!
+ aggregate: AggregateCartItem!
+}
+
+input CartItemCreateInput {
+ quantity: Int
+ item: ItemCreateOneInput
+ user: UserCreateOneWithoutCartInput!
+}
+
+input CartItemCreateManyWithoutUserInput {
+ create: [CartItemCreateWithoutUserInput!]
+ connect: [CartItemWhereUniqueInput!]
+}
+
+input CartItemCreateWithoutUserInput {
+ quantity: Int
+ item: ItemCreateOneInput
+}
+
+"""An edge in a connection."""
+type CartItemEdge {
+ """The item at the end of the edge."""
+ node: CartItem!
+
+ """A cursor for use in pagination."""
+ cursor: String!
+}
+
+enum CartItemOrderByInput {
+ id_ASC
+ id_DESC
+ quantity_ASC
+ quantity_DESC
+ createdAt_ASC
+ createdAt_DESC
+ updatedAt_ASC
+ updatedAt_DESC
+}
+
+type CartItemPreviousValues {
+ id: ID!
+ quantity: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+}
+
+type CartItemSubscriptionPayload {
+ mutation: MutationType!
+ node: CartItem
+ updatedFields: [String!]
+ previousValues: CartItemPreviousValues
+}
+
+input CartItemSubscriptionWhereInput {
+ """Logical AND on all given filters."""
+ AND: [CartItemSubscriptionWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [CartItemSubscriptionWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [CartItemSubscriptionWhereInput!]
+
+ """
+ The subscription event gets dispatched when it's listed in mutation_in
+ """
+ mutation_in: [MutationType!]
+
+ """
+ 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: CartItemWhereInput
+}
+
+input CartItemUpdateInput {
+ quantity: Int
+ item: ItemUpdateOneInput
+ user: UserUpdateOneWithoutCartInput
+}
+
+input CartItemUpdateManyWithoutUserInput {
+ create: [CartItemCreateWithoutUserInput!]
+ connect: [CartItemWhereUniqueInput!]
+ disconnect: [CartItemWhereUniqueInput!]
+ delete: [CartItemWhereUniqueInput!]
+ update: [CartItemUpdateWithWhereUniqueWithoutUserInput!]
+ upsert: [CartItemUpsertWithWhereUniqueWithoutUserInput!]
+}
+
+input CartItemUpdateWithoutUserDataInput {
+ quantity: Int
+ item: ItemUpdateOneInput
+}
+
+input CartItemUpdateWithWhereUniqueWithoutUserInput {
+ where: CartItemWhereUniqueInput!
+ data: CartItemUpdateWithoutUserDataInput!
+}
+
+input CartItemUpsertWithWhereUniqueWithoutUserInput {
+ where: CartItemWhereUniqueInput!
+ update: CartItemUpdateWithoutUserDataInput!
+ create: CartItemCreateWithoutUserInput!
+}
+
+input CartItemWhereInput {
+ """Logical AND on all given filters."""
+ AND: [CartItemWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [CartItemWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [CartItemWhereInput!]
+ 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
+ quantity: Int
+
+ """All values that are not equal to given value."""
+ quantity_not: Int
+
+ """All values that are contained in given list."""
+ quantity_in: [Int!]
+
+ """All values that are not contained in given list."""
+ quantity_not_in: [Int!]
+
+ """All values less than the given value."""
+ quantity_lt: Int
+
+ """All values less than or equal the given value."""
+ quantity_lte: Int
+
+ """All values greater than the given value."""
+ quantity_gt: Int
+
+ """All values greater than or equal the given value."""
+ quantity_gte: Int
+ 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
+ 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
+ item: ItemWhereInput
+ user: UserWhereInput
+}
+
+input CartItemWhereUniqueInput {
+ id: ID
+}
+
+scalar DateTime
+
+type Item implements Node {
+ id: ID!
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ user(where: UserWhereInput): User!
+}
+
+"""A connection to a list of items."""
+type ItemConnection {
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
+
+ """A list of edges."""
+ edges: [ItemEdge]!
+ aggregate: AggregateItem!
+}
+
+input ItemCreateInput {
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ user: UserCreateOneInput!
+}
+
+input ItemCreateOneInput {
+ create: ItemCreateInput
+ connect: ItemWhereUniqueInput
+}
+
+"""An edge in a connection."""
+type ItemEdge {
+ """The item at the end of the edge."""
+ node: Item!
+
+ """A cursor for use in pagination."""
+ cursor: String!
+}
+
+enum ItemOrderByInput {
+ id_ASC
+ id_DESC
+ title_ASC
+ title_DESC
+ description_ASC
+ description_DESC
+ image_ASC
+ image_DESC
+ largeImage_ASC
+ largeImage_DESC
+ price_ASC
+ price_DESC
+ createdAt_ASC
+ createdAt_DESC
+ updatedAt_ASC
+ updatedAt_DESC
+}
+
+type ItemPreviousValues {
+ id: ID!
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+}
+
+type ItemSubscriptionPayload {
+ mutation: MutationType!
+ node: Item
+ updatedFields: [String!]
+ previousValues: ItemPreviousValues
+}
+
+input ItemSubscriptionWhereInput {
+ """Logical AND on all given filters."""
+ AND: [ItemSubscriptionWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [ItemSubscriptionWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [ItemSubscriptionWhereInput!]
+
+ """
+ The subscription event gets dispatched when it's listed in mutation_in
+ """
+ mutation_in: [MutationType!]
+
+ """
+ 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: ItemWhereInput
+}
+
+input ItemUpdateDataInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ user: UserUpdateOneInput
+}
+
+input ItemUpdateInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ user: UserUpdateOneInput
+}
+
+input ItemUpdateOneInput {
+ create: ItemCreateInput
+ connect: ItemWhereUniqueInput
+ disconnect: Boolean
+ delete: Boolean
+ update: ItemUpdateDataInput
+ upsert: ItemUpsertNestedInput
+}
+
+input ItemUpsertNestedInput {
+ update: ItemUpdateDataInput!
+ create: ItemCreateInput!
+}
+
+input ItemWhereInput {
+ """Logical AND on all given filters."""
+ AND: [ItemWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [ItemWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [ItemWhereInput!]
+ 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
+ description: String
+
+ """All values that are not equal to given value."""
+ description_not: String
+
+ """All values that are contained in given list."""
+ description_in: [String!]
+
+ """All values that are not contained in given list."""
+ description_not_in: [String!]
+
+ """All values less than the given value."""
+ description_lt: String
+
+ """All values less than or equal the given value."""
+ description_lte: String
+
+ """All values greater than the given value."""
+ description_gt: String
+
+ """All values greater than or equal the given value."""
+ description_gte: String
+
+ """All values containing the given string."""
+ description_contains: String
+
+ """All values not containing the given string."""
+ description_not_contains: String
+
+ """All values starting with the given string."""
+ description_starts_with: String
+
+ """All values not starting with the given string."""
+ description_not_starts_with: String
+
+ """All values ending with the given string."""
+ description_ends_with: String
+
+ """All values not ending with the given string."""
+ description_not_ends_with: String
+ image: String
+
+ """All values that are not equal to given value."""
+ image_not: String
+
+ """All values that are contained in given list."""
+ image_in: [String!]
+
+ """All values that are not contained in given list."""
+ image_not_in: [String!]
+
+ """All values less than the given value."""
+ image_lt: String
+
+ """All values less than or equal the given value."""
+ image_lte: String
+
+ """All values greater than the given value."""
+ image_gt: String
+
+ """All values greater than or equal the given value."""
+ image_gte: String
+
+ """All values containing the given string."""
+ image_contains: String
+
+ """All values not containing the given string."""
+ image_not_contains: String
+
+ """All values starting with the given string."""
+ image_starts_with: String
+
+ """All values not starting with the given string."""
+ image_not_starts_with: String
+
+ """All values ending with the given string."""
+ image_ends_with: String
+
+ """All values not ending with the given string."""
+ image_not_ends_with: String
+ largeImage: String
+
+ """All values that are not equal to given value."""
+ largeImage_not: String
+
+ """All values that are contained in given list."""
+ largeImage_in: [String!]
+
+ """All values that are not contained in given list."""
+ largeImage_not_in: [String!]
+
+ """All values less than the given value."""
+ largeImage_lt: String
+
+ """All values less than or equal the given value."""
+ largeImage_lte: String
+
+ """All values greater than the given value."""
+ largeImage_gt: String
+
+ """All values greater than or equal the given value."""
+ largeImage_gte: String
+
+ """All values containing the given string."""
+ largeImage_contains: String
+
+ """All values not containing the given string."""
+ largeImage_not_contains: String
+
+ """All values starting with the given string."""
+ largeImage_starts_with: String
+
+ """All values not starting with the given string."""
+ largeImage_not_starts_with: String
+
+ """All values ending with the given string."""
+ largeImage_ends_with: String
+
+ """All values not ending with the given string."""
+ largeImage_not_ends_with: String
+ price: Int
+
+ """All values that are not equal to given value."""
+ price_not: Int
+
+ """All values that are contained in given list."""
+ price_in: [Int!]
+
+ """All values that are not contained in given list."""
+ price_not_in: [Int!]
+
+ """All values less than the given value."""
+ price_lt: Int
+
+ """All values less than or equal the given value."""
+ price_lte: Int
+
+ """All values greater than the given value."""
+ price_gt: Int
+
+ """All values greater than or equal the given value."""
+ price_gte: Int
+ 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
+ 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
+ user: UserWhereInput
+}
+
+input ItemWhereUniqueInput {
+ id: ID
+}
+
+"""
+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 {
+ createUser(data: UserCreateInput!): User!
+ createCartItem(data: CartItemCreateInput!): CartItem!
+ createItem(data: ItemCreateInput!): Item!
+ createOrderItem(data: OrderItemCreateInput!): OrderItem!
+ createOrder(data: OrderCreateInput!): Order!
+ updateUser(data: UserUpdateInput!, where: UserWhereUniqueInput!): User
+ updateCartItem(data: CartItemUpdateInput!, where: CartItemWhereUniqueInput!): CartItem
+ updateItem(data: ItemUpdateInput!, where: ItemWhereUniqueInput!): Item
+ updateOrderItem(data: OrderItemUpdateInput!, where: OrderItemWhereUniqueInput!): OrderItem
+ updateOrder(data: OrderUpdateInput!, where: OrderWhereUniqueInput!): Order
+ deleteUser(where: UserWhereUniqueInput!): User
+ deleteCartItem(where: CartItemWhereUniqueInput!): CartItem
+ deleteItem(where: ItemWhereUniqueInput!): Item
+ deleteOrderItem(where: OrderItemWhereUniqueInput!): OrderItem
+ deleteOrder(where: OrderWhereUniqueInput!): Order
+ upsertUser(where: UserWhereUniqueInput!, create: UserCreateInput!, update: UserUpdateInput!): User!
+ upsertCartItem(where: CartItemWhereUniqueInput!, create: CartItemCreateInput!, update: CartItemUpdateInput!): CartItem!
+ upsertItem(where: ItemWhereUniqueInput!, create: ItemCreateInput!, update: ItemUpdateInput!): Item!
+ upsertOrderItem(where: OrderItemWhereUniqueInput!, create: OrderItemCreateInput!, update: OrderItemUpdateInput!): OrderItem!
+ upsertOrder(where: OrderWhereUniqueInput!, create: OrderCreateInput!, update: OrderUpdateInput!): Order!
+ updateManyUsers(data: UserUpdateInput!, where: UserWhereInput): BatchPayload!
+ updateManyCartItems(data: CartItemUpdateInput!, where: CartItemWhereInput): BatchPayload!
+ updateManyItems(data: ItemUpdateInput!, where: ItemWhereInput): BatchPayload!
+ updateManyOrderItems(data: OrderItemUpdateInput!, where: OrderItemWhereInput): BatchPayload!
+ updateManyOrders(data: OrderUpdateInput!, where: OrderWhereInput): BatchPayload!
+ deleteManyUsers(where: UserWhereInput): BatchPayload!
+ deleteManyCartItems(where: CartItemWhereInput): BatchPayload!
+ deleteManyItems(where: ItemWhereInput): BatchPayload!
+ deleteManyOrderItems(where: OrderItemWhereInput): BatchPayload!
+ deleteManyOrders(where: OrderWhereInput): BatchPayload!
+}
+
+enum MutationType {
+ CREATED
+ UPDATED
+ DELETED
+}
+
+"""An object with an ID"""
+interface Node {
+ """The id of the object."""
+ id: ID!
+}
+
+type Order implements Node {
+ id: ID!
+ items(where: OrderItemWhereInput, orderBy: OrderItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [OrderItem!]
+ total: Int!
+ user(where: UserWhereInput): User!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ charge: String!
+}
+
+"""A connection to a list of items."""
+type OrderConnection {
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
+
+ """A list of edges."""
+ edges: [OrderEdge]!
+ aggregate: AggregateOrder!
+}
+
+input OrderCreateInput {
+ total: Int!
+ charge: String!
+ items: OrderItemCreateManyInput
+ user: UserCreateOneWithoutOrdersInput!
+}
+
+input OrderCreateManyWithoutUserInput {
+ create: [OrderCreateWithoutUserInput!]
+ connect: [OrderWhereUniqueInput!]
+}
+
+input OrderCreateWithoutUserInput {
+ total: Int!
+ charge: String!
+ items: OrderItemCreateManyInput
+}
+
+"""An edge in a connection."""
+type OrderEdge {
+ """The item at the end of the edge."""
+ node: Order!
+
+ """A cursor for use in pagination."""
+ cursor: String!
+}
+
+type OrderItem implements Node {
+ id: ID!
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ quantity: Int!
+}
+
+"""A connection to a list of items."""
+type OrderItemConnection {
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
+
+ """A list of edges."""
+ edges: [OrderItemEdge]!
+ aggregate: AggregateOrderItem!
+}
+
+input OrderItemCreateInput {
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ quantity: Int
+}
+
+input OrderItemCreateManyInput {
+ create: [OrderItemCreateInput!]
+ connect: [OrderItemWhereUniqueInput!]
+}
+
+"""An edge in a connection."""
+type OrderItemEdge {
+ """The item at the end of the edge."""
+ node: OrderItem!
+
+ """A cursor for use in pagination."""
+ cursor: String!
+}
+
+enum OrderItemOrderByInput {
+ id_ASC
+ id_DESC
+ title_ASC
+ title_DESC
+ description_ASC
+ description_DESC
+ image_ASC
+ image_DESC
+ largeImage_ASC
+ largeImage_DESC
+ price_ASC
+ price_DESC
+ createdAt_ASC
+ createdAt_DESC
+ updatedAt_ASC
+ updatedAt_DESC
+ quantity_ASC
+ quantity_DESC
+}
+
+type OrderItemPreviousValues {
+ id: ID!
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ quantity: Int!
+}
+
+type OrderItemSubscriptionPayload {
+ mutation: MutationType!
+ node: OrderItem
+ updatedFields: [String!]
+ previousValues: OrderItemPreviousValues
+}
+
+input OrderItemSubscriptionWhereInput {
+ """Logical AND on all given filters."""
+ AND: [OrderItemSubscriptionWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [OrderItemSubscriptionWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [OrderItemSubscriptionWhereInput!]
+
+ """
+ The subscription event gets dispatched when it's listed in mutation_in
+ """
+ mutation_in: [MutationType!]
+
+ """
+ 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: OrderItemWhereInput
+}
+
+input OrderItemUpdateDataInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ quantity: Int
+}
+
+input OrderItemUpdateInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ quantity: Int
+}
+
+input OrderItemUpdateManyInput {
+ create: [OrderItemCreateInput!]
+ connect: [OrderItemWhereUniqueInput!]
+ disconnect: [OrderItemWhereUniqueInput!]
+ delete: [OrderItemWhereUniqueInput!]
+ update: [OrderItemUpdateWithWhereUniqueNestedInput!]
+ upsert: [OrderItemUpsertWithWhereUniqueNestedInput!]
+}
+
+input OrderItemUpdateWithWhereUniqueNestedInput {
+ where: OrderItemWhereUniqueInput!
+ data: OrderItemUpdateDataInput!
+}
+
+input OrderItemUpsertWithWhereUniqueNestedInput {
+ where: OrderItemWhereUniqueInput!
+ update: OrderItemUpdateDataInput!
+ create: OrderItemCreateInput!
+}
+
+input OrderItemWhereInput {
+ """Logical AND on all given filters."""
+ AND: [OrderItemWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [OrderItemWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [OrderItemWhereInput!]
+ 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
+ description: String
+
+ """All values that are not equal to given value."""
+ description_not: String
+
+ """All values that are contained in given list."""
+ description_in: [String!]
+
+ """All values that are not contained in given list."""
+ description_not_in: [String!]
+
+ """All values less than the given value."""
+ description_lt: String
+
+ """All values less than or equal the given value."""
+ description_lte: String
+
+ """All values greater than the given value."""
+ description_gt: String
+
+ """All values greater than or equal the given value."""
+ description_gte: String
+
+ """All values containing the given string."""
+ description_contains: String
+
+ """All values not containing the given string."""
+ description_not_contains: String
+
+ """All values starting with the given string."""
+ description_starts_with: String
+
+ """All values not starting with the given string."""
+ description_not_starts_with: String
+
+ """All values ending with the given string."""
+ description_ends_with: String
+
+ """All values not ending with the given string."""
+ description_not_ends_with: String
+ image: String
+
+ """All values that are not equal to given value."""
+ image_not: String
+
+ """All values that are contained in given list."""
+ image_in: [String!]
+
+ """All values that are not contained in given list."""
+ image_not_in: [String!]
+
+ """All values less than the given value."""
+ image_lt: String
+
+ """All values less than or equal the given value."""
+ image_lte: String
+
+ """All values greater than the given value."""
+ image_gt: String
+
+ """All values greater than or equal the given value."""
+ image_gte: String
+
+ """All values containing the given string."""
+ image_contains: String
+
+ """All values not containing the given string."""
+ image_not_contains: String
+
+ """All values starting with the given string."""
+ image_starts_with: String
+
+ """All values not starting with the given string."""
+ image_not_starts_with: String
+
+ """All values ending with the given string."""
+ image_ends_with: String
+
+ """All values not ending with the given string."""
+ image_not_ends_with: String
+ largeImage: String
+
+ """All values that are not equal to given value."""
+ largeImage_not: String
+
+ """All values that are contained in given list."""
+ largeImage_in: [String!]
+
+ """All values that are not contained in given list."""
+ largeImage_not_in: [String!]
+
+ """All values less than the given value."""
+ largeImage_lt: String
+
+ """All values less than or equal the given value."""
+ largeImage_lte: String
+
+ """All values greater than the given value."""
+ largeImage_gt: String
+
+ """All values greater than or equal the given value."""
+ largeImage_gte: String
+
+ """All values containing the given string."""
+ largeImage_contains: String
+
+ """All values not containing the given string."""
+ largeImage_not_contains: String
+
+ """All values starting with the given string."""
+ largeImage_starts_with: String
+
+ """All values not starting with the given string."""
+ largeImage_not_starts_with: String
+
+ """All values ending with the given string."""
+ largeImage_ends_with: String
+
+ """All values not ending with the given string."""
+ largeImage_not_ends_with: String
+ price: Int
+
+ """All values that are not equal to given value."""
+ price_not: Int
+
+ """All values that are contained in given list."""
+ price_in: [Int!]
+
+ """All values that are not contained in given list."""
+ price_not_in: [Int!]
+
+ """All values less than the given value."""
+ price_lt: Int
+
+ """All values less than or equal the given value."""
+ price_lte: Int
+
+ """All values greater than the given value."""
+ price_gt: Int
+
+ """All values greater than or equal the given value."""
+ price_gte: Int
+ 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
+ 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
+ quantity: Int
+
+ """All values that are not equal to given value."""
+ quantity_not: Int
+
+ """All values that are contained in given list."""
+ quantity_in: [Int!]
+
+ """All values that are not contained in given list."""
+ quantity_not_in: [Int!]
+
+ """All values less than the given value."""
+ quantity_lt: Int
+
+ """All values less than or equal the given value."""
+ quantity_lte: Int
+
+ """All values greater than the given value."""
+ quantity_gt: Int
+
+ """All values greater than or equal the given value."""
+ quantity_gte: Int
+}
+
+input OrderItemWhereUniqueInput {
+ id: ID
+}
+
+enum OrderOrderByInput {
+ id_ASC
+ id_DESC
+ total_ASC
+ total_DESC
+ createdAt_ASC
+ createdAt_DESC
+ updatedAt_ASC
+ updatedAt_DESC
+ charge_ASC
+ charge_DESC
+}
+
+type OrderPreviousValues {
+ id: ID!
+ total: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ charge: String!
+}
+
+type OrderSubscriptionPayload {
+ mutation: MutationType!
+ node: Order
+ updatedFields: [String!]
+ previousValues: OrderPreviousValues
+}
+
+input OrderSubscriptionWhereInput {
+ """Logical AND on all given filters."""
+ AND: [OrderSubscriptionWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [OrderSubscriptionWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [OrderSubscriptionWhereInput!]
+
+ """
+ The subscription event gets dispatched when it's listed in mutation_in
+ """
+ mutation_in: [MutationType!]
+
+ """
+ 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: OrderWhereInput
+}
+
+input OrderUpdateInput {
+ total: Int
+ charge: String
+ items: OrderItemUpdateManyInput
+ user: UserUpdateOneWithoutOrdersInput
+}
+
+input OrderUpdateManyWithoutUserInput {
+ create: [OrderCreateWithoutUserInput!]
+ connect: [OrderWhereUniqueInput!]
+ disconnect: [OrderWhereUniqueInput!]
+ delete: [OrderWhereUniqueInput!]
+ update: [OrderUpdateWithWhereUniqueWithoutUserInput!]
+ upsert: [OrderUpsertWithWhereUniqueWithoutUserInput!]
+}
+
+input OrderUpdateWithoutUserDataInput {
+ total: Int
+ charge: String
+ items: OrderItemUpdateManyInput
+}
+
+input OrderUpdateWithWhereUniqueWithoutUserInput {
+ where: OrderWhereUniqueInput!
+ data: OrderUpdateWithoutUserDataInput!
+}
+
+input OrderUpsertWithWhereUniqueWithoutUserInput {
+ where: OrderWhereUniqueInput!
+ update: OrderUpdateWithoutUserDataInput!
+ create: OrderCreateWithoutUserInput!
+}
+
+input OrderWhereInput {
+ """Logical AND on all given filters."""
+ AND: [OrderWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [OrderWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [OrderWhereInput!]
+ 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
+ total: Int
+
+ """All values that are not equal to given value."""
+ total_not: Int
+
+ """All values that are contained in given list."""
+ total_in: [Int!]
+
+ """All values that are not contained in given list."""
+ total_not_in: [Int!]
+
+ """All values less than the given value."""
+ total_lt: Int
+
+ """All values less than or equal the given value."""
+ total_lte: Int
+
+ """All values greater than the given value."""
+ total_gt: Int
+
+ """All values greater than or equal the given value."""
+ total_gte: Int
+ 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
+ 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
+ charge: String
+
+ """All values that are not equal to given value."""
+ charge_not: String
+
+ """All values that are contained in given list."""
+ charge_in: [String!]
+
+ """All values that are not contained in given list."""
+ charge_not_in: [String!]
+
+ """All values less than the given value."""
+ charge_lt: String
+
+ """All values less than or equal the given value."""
+ charge_lte: String
+
+ """All values greater than the given value."""
+ charge_gt: String
+
+ """All values greater than or equal the given value."""
+ charge_gte: String
+
+ """All values containing the given string."""
+ charge_contains: String
+
+ """All values not containing the given string."""
+ charge_not_contains: String
+
+ """All values starting with the given string."""
+ charge_starts_with: String
+
+ """All values not starting with the given string."""
+ charge_not_starts_with: String
+
+ """All values ending with the given string."""
+ charge_ends_with: String
+
+ """All values not ending with the given string."""
+ charge_not_ends_with: String
+ items_every: OrderItemWhereInput
+ items_some: OrderItemWhereInput
+ items_none: OrderItemWhereInput
+ user: UserWhereInput
+}
+
+input OrderWhereUniqueInput {
+ id: ID
+}
+
+"""Information about pagination in a connection."""
+type PageInfo {
+ """When paginating forwards, are there more items?"""
+ hasNextPage: Boolean!
+
+ """When paginating backwards, are there more items?"""
+ hasPreviousPage: Boolean!
+
+ """When paginating backwards, the cursor to continue."""
+ startCursor: String
+
+ """When paginating forwards, the cursor to continue."""
+ endCursor: String
+}
+
+enum Permission {
+ ADMIN
+ USER
+ ITEMCREATE
+ ITEMUPDATE
+ ITEMDELETE
+ PERMISSIONUPDATE
+}
+
+type Query {
+ users(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User]!
+ cartItems(where: CartItemWhereInput, orderBy: CartItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [CartItem]!
+ items(where: ItemWhereInput, orderBy: ItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Item]!
+ orderItems(where: OrderItemWhereInput, orderBy: OrderItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [OrderItem]!
+ orders(where: OrderWhereInput, orderBy: OrderOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Order]!
+ user(where: UserWhereUniqueInput!): User
+ cartItem(where: CartItemWhereUniqueInput!): CartItem
+ item(where: ItemWhereUniqueInput!): Item
+ orderItem(where: OrderItemWhereUniqueInput!): OrderItem
+ order(where: OrderWhereUniqueInput!): Order
+ usersConnection(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection!
+ cartItemsConnection(where: CartItemWhereInput, orderBy: CartItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): CartItemConnection!
+ itemsConnection(where: ItemWhereInput, orderBy: ItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): ItemConnection!
+ orderItemsConnection(where: OrderItemWhereInput, orderBy: OrderItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): OrderItemConnection!
+ ordersConnection(where: OrderWhereInput, orderBy: OrderOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): OrderConnection!
+
+ """Fetches an object given its ID"""
+ node(
+ """The ID of an object"""
+ id: ID!
+ ): Node
+}
+
+type Subscription {
+ user(where: UserSubscriptionWhereInput): UserSubscriptionPayload
+ cartItem(where: CartItemSubscriptionWhereInput): CartItemSubscriptionPayload
+ item(where: ItemSubscriptionWhereInput): ItemSubscriptionPayload
+ orderItem(where: OrderItemSubscriptionWhereInput): OrderItemSubscriptionPayload
+ order(where: OrderSubscriptionWhereInput): OrderSubscriptionPayload
+}
+
+type User implements Node {
+ id: ID!
+ email: String!
+ password: String!
+ name: String!
+ orders(where: OrderWhereInput, orderBy: OrderOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Order!]
+ resetToken: String
+ resetTokenExpiry: String
+ cart(where: CartItemWhereInput, orderBy: CartItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [CartItem!]
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ permissions: [Permission!]
+}
+
+"""A connection to a list of items."""
+type UserConnection {
+ """Information to aid in pagination."""
+ pageInfo: PageInfo!
+
+ """A list of edges."""
+ edges: [UserEdge]!
+ aggregate: AggregateUser!
+}
+
+input UserCreateInput {
+ email: String!
+ password: String!
+ name: String!
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserCreatepermissionsInput
+ orders: OrderCreateManyWithoutUserInput
+ cart: CartItemCreateManyWithoutUserInput
+}
+
+input UserCreateOneInput {
+ create: UserCreateInput
+ connect: UserWhereUniqueInput
+}
+
+input UserCreateOneWithoutCartInput {
+ create: UserCreateWithoutCartInput
+ connect: UserWhereUniqueInput
+}
+
+input UserCreateOneWithoutOrdersInput {
+ create: UserCreateWithoutOrdersInput
+ connect: UserWhereUniqueInput
+}
+
+input UserCreatepermissionsInput {
+ set: [Permission!]
+}
+
+input UserCreateWithoutCartInput {
+ email: String!
+ password: String!
+ name: String!
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserCreatepermissionsInput
+ orders: OrderCreateManyWithoutUserInput
+}
+
+input UserCreateWithoutOrdersInput {
+ email: String!
+ password: String!
+ name: String!
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserCreatepermissionsInput
+ cart: CartItemCreateManyWithoutUserInput
+}
+
+"""An edge in a connection."""
+type UserEdge {
+ """The item at the end of the edge."""
+ node: User!
+
+ """A cursor for use in pagination."""
+ cursor: String!
+}
+
+enum UserOrderByInput {
+ id_ASC
+ id_DESC
+ email_ASC
+ email_DESC
+ password_ASC
+ password_DESC
+ name_ASC
+ name_DESC
+ resetToken_ASC
+ resetToken_DESC
+ resetTokenExpiry_ASC
+ resetTokenExpiry_DESC
+ createdAt_ASC
+ createdAt_DESC
+ updatedAt_ASC
+ updatedAt_DESC
+}
+
+type UserPreviousValues {
+ id: ID!
+ email: String!
+ password: String!
+ name: String!
+ resetToken: String
+ resetTokenExpiry: String
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ permissions: [Permission!]
+}
+
+type UserSubscriptionPayload {
+ mutation: MutationType!
+ node: User
+ updatedFields: [String!]
+ previousValues: UserPreviousValues
+}
+
+input UserSubscriptionWhereInput {
+ """Logical AND on all given filters."""
+ AND: [UserSubscriptionWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [UserSubscriptionWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [UserSubscriptionWhereInput!]
+
+ """
+ The subscription event gets dispatched when it's listed in mutation_in
+ """
+ mutation_in: [MutationType!]
+
+ """
+ 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: UserWhereInput
+}
+
+input UserUpdateDataInput {
+ email: String
+ password: String
+ name: String
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserUpdatepermissionsInput
+ orders: OrderUpdateManyWithoutUserInput
+ cart: CartItemUpdateManyWithoutUserInput
+}
+
+input UserUpdateInput {
+ email: String
+ password: String
+ name: String
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserUpdatepermissionsInput
+ orders: OrderUpdateManyWithoutUserInput
+ cart: CartItemUpdateManyWithoutUserInput
+}
+
+input UserUpdateOneInput {
+ create: UserCreateInput
+ connect: UserWhereUniqueInput
+ delete: Boolean
+ update: UserUpdateDataInput
+ upsert: UserUpsertNestedInput
+}
+
+input UserUpdateOneWithoutCartInput {
+ create: UserCreateWithoutCartInput
+ connect: UserWhereUniqueInput
+ delete: Boolean
+ update: UserUpdateWithoutCartDataInput
+ upsert: UserUpsertWithoutCartInput
+}
+
+input UserUpdateOneWithoutOrdersInput {
+ create: UserCreateWithoutOrdersInput
+ connect: UserWhereUniqueInput
+ delete: Boolean
+ update: UserUpdateWithoutOrdersDataInput
+ upsert: UserUpsertWithoutOrdersInput
+}
+
+input UserUpdatepermissionsInput {
+ set: [Permission!]
+}
+
+input UserUpdateWithoutCartDataInput {
+ email: String
+ password: String
+ name: String
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserUpdatepermissionsInput
+ orders: OrderUpdateManyWithoutUserInput
+}
+
+input UserUpdateWithoutOrdersDataInput {
+ email: String
+ password: String
+ name: String
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: UserUpdatepermissionsInput
+ cart: CartItemUpdateManyWithoutUserInput
+}
+
+input UserUpsertNestedInput {
+ update: UserUpdateDataInput!
+ create: UserCreateInput!
+}
+
+input UserUpsertWithoutCartInput {
+ update: UserUpdateWithoutCartDataInput!
+ create: UserCreateWithoutCartInput!
+}
+
+input UserUpsertWithoutOrdersInput {
+ update: UserUpdateWithoutOrdersDataInput!
+ create: UserCreateWithoutOrdersInput!
+}
+
+input UserWhereInput {
+ """Logical AND on all given filters."""
+ AND: [UserWhereInput!]
+
+ """Logical OR on all given filters."""
+ OR: [UserWhereInput!]
+
+ """Logical NOT on all given filters combined by AND."""
+ NOT: [UserWhereInput!]
+ 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
+ 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
+ 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
+ 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
+ resetToken: String
+
+ """All values that are not equal to given value."""
+ resetToken_not: String
+
+ """All values that are contained in given list."""
+ resetToken_in: [String!]
+
+ """All values that are not contained in given list."""
+ resetToken_not_in: [String!]
+
+ """All values less than the given value."""
+ resetToken_lt: String
+
+ """All values less than or equal the given value."""
+ resetToken_lte: String
+
+ """All values greater than the given value."""
+ resetToken_gt: String
+
+ """All values greater than or equal the given value."""
+ resetToken_gte: String
+
+ """All values containing the given string."""
+ resetToken_contains: String
+
+ """All values not containing the given string."""
+ resetToken_not_contains: String
+
+ """All values starting with the given string."""
+ resetToken_starts_with: String
+
+ """All values not starting with the given string."""
+ resetToken_not_starts_with: String
+
+ """All values ending with the given string."""
+ resetToken_ends_with: String
+
+ """All values not ending with the given string."""
+ resetToken_not_ends_with: String
+ resetTokenExpiry: String
+
+ """All values that are not equal to given value."""
+ resetTokenExpiry_not: String
+
+ """All values that are contained in given list."""
+ resetTokenExpiry_in: [String!]
+
+ """All values that are not contained in given list."""
+ resetTokenExpiry_not_in: [String!]
+
+ """All values less than the given value."""
+ resetTokenExpiry_lt: String
+
+ """All values less than or equal the given value."""
+ resetTokenExpiry_lte: String
+
+ """All values greater than the given value."""
+ resetTokenExpiry_gt: String
+
+ """All values greater than or equal the given value."""
+ resetTokenExpiry_gte: String
+
+ """All values containing the given string."""
+ resetTokenExpiry_contains: String
+
+ """All values not containing the given string."""
+ resetTokenExpiry_not_contains: String
+
+ """All values starting with the given string."""
+ resetTokenExpiry_starts_with: String
+
+ """All values not starting with the given string."""
+ resetTokenExpiry_not_starts_with: String
+
+ """All values ending with the given string."""
+ resetTokenExpiry_ends_with: String
+
+ """All values not ending with the given string."""
+ resetTokenExpiry_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
+ 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
+ orders_every: OrderWhereInput
+ orders_some: OrderWhereInput
+ orders_none: OrderWhereInput
+ cart_every: CartItemWhereInput
+ cart_some: CartItemWhereInput
+ cart_none: CartItemWhereInput
+}
+
+input UserWhereUniqueInput {
+ id: ID
+ email: String
+}