summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-05-22 09:33:29 -0400
committerGitHub <noreply@github.com>2018-05-22 09:33:29 -0400
commit176b6e1b0c2133a28e65953e1f710bc265b9c971 (patch)
tree34e7560276d0b32aa09b406b6566415f67125c1d
parent51f593384f1325b78a263d0d870d162236ed28d2 (diff)
parent6e617cbcb456bd0316392d53550e9b34de16001a (diff)
Merge pull request #6 from wesbos/prisma
WIP: Updated Prisma related setup/code
-rw-r--r--backend/.graphqlconfig.yml6
-rw-r--r--backend/database/prisma.yml3
-rw-r--r--backend/package-lock.json1256
-rw-r--r--backend/package.json1
-rw-r--r--backend/prisma/datamodel.graphql (renamed from backend/database/datamodel.graphql)0
-rw-r--r--backend/prisma/prisma.yml6
-rw-r--r--backend/src/createServer.js13
-rw-r--r--backend/src/db.js10
-rw-r--r--backend/src/generated/prisma.graphql2328
-rw-r--r--backend/src/index.js5
-rw-r--r--backend/src/resolvers/Query.js5
-rw-r--r--backend/src/schema.graphql7
-rw-r--r--backend/variables.env.sample2
13 files changed, 2268 insertions, 1374 deletions
diff --git a/backend/.graphqlconfig.yml b/backend/.graphqlconfig.yml
index b495937..2f01155 100644
--- a/backend/.graphqlconfig.yml
+++ b/backend/.graphqlconfig.yml
@@ -3,8 +3,8 @@ projects:
schemaPath: "src/schema.graphql"
extensions:
endpoints:
- default: "http://localhost:4000"
- database:
+ default: "http://localhost:4444"
+ prisma:
schemaPath: "src/generated/prisma.graphql"
extensions:
- prisma: database/prisma.yml \ No newline at end of file
+ prisma: prisma/prisma.yml \ No newline at end of file
diff --git a/backend/database/prisma.yml b/backend/database/prisma.yml
deleted file mode 100644
index 8a11c08..0000000
--- a/backend/database/prisma.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-endpoint: ${PRISMA_ENDPOINT}
-datamodel: datamodel.graphql
-secret: ${env:PRISMA_SECRET}
diff --git a/backend/package-lock.json b/backend/package-lock.json
index fd2a1a7..e4efb0f 100644
--- a/backend/package-lock.json
+++ b/backend/package-lock.json
@@ -12,6 +12,33 @@
"@babel/highlight": "7.0.0-beta.46"
}
},
+ "@babel/generator": {
+ "version": "7.0.0-beta.38",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.38.tgz",
+ "integrity": "sha512-aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.38",
+ "jsesc": "2.5.1",
+ "lodash": "4.17.10",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
+ "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
"@babel/highlight": {
"version": "7.0.0-beta.46",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz",
@@ -32,12 +59,176 @@
"regenerator-runtime": "0.11.1"
}
},
+ "@babel/types": {
+ "version": "7.0.0-beta.38",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.38.tgz",
+ "integrity": "sha512-SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2",
+ "lodash": "4.17.10",
+ "to-fast-properties": "2.0.0"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
"@heroku/linewrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@heroku/linewrap/-/linewrap-1.0.0.tgz",
"integrity": "sha512-qPeQp2DnALUwWKaL6ZXfnOw/lHp+zNg5V8whx5c/Y10HMWYjuQFqKupgoJgyuEYjnvYwoZTarW280+aOXWQLCQ==",
"dev": true
},
+ "@kbrandwijk/swagger-to-graphql": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/@kbrandwijk/swagger-to-graphql/-/swagger-to-graphql-2.4.3.tgz",
+ "integrity": "sha512-CNVsCrMge/jq6DCT5buNZ8PACY9RTvPJbCNoIcndfkJOCsNxOx9dnc5qw4pHZdHi8GS6l3qlgkuFKp33iD8J2Q==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "isomorphic-fetch": "2.2.1",
+ "js-yaml": "3.11.0",
+ "json-schema-ref-parser": "3.3.1",
+ "lodash": "4.17.10",
+ "node-request-by-swagger": "1.1.0",
+ "request": "2.85.0",
+ "request-promise": "4.2.2",
+ "yargs": "8.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
"@types/body-parser": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
@@ -535,6 +726,108 @@
"graphql-extensions": "0.0.10"
}
},
+ "apollo-codegen": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/apollo-codegen/-/apollo-codegen-0.19.1.tgz",
+ "integrity": "sha512-jlxz/b5iinRWfh48hXdmMtrjTPn/rDok0Z3b7icvkiaD6I30w4sq9B+JDkFbLnkldzsFLV2BZtBDa/dkZhx8Ng==",
+ "dev": true,
+ "requires": {
+ "@babel/generator": "7.0.0-beta.38",
+ "@babel/types": "7.0.0-beta.38",
+ "change-case": "3.0.2",
+ "common-tags": "1.7.2",
+ "core-js": "2.5.6",
+ "glob": "7.1.2",
+ "graphql": "0.13.2",
+ "graphql-config": "1.2.1",
+ "inflected": "2.0.4",
+ "node-fetch": "1.7.3",
+ "rimraf": "2.6.2",
+ "source-map-support": "0.5.5",
+ "yargs": "10.1.2"
+ },
+ "dependencies": {
+ "graphql-config": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-1.2.1.tgz",
+ "integrity": "sha512-BOtbEOn/fD13jT0peCy3Fzp1DSTsA/1AcZp266AQ5Sk3wFndKCEa/H7donbu5UriOw1V/N1WDirYPnr7rd8E7Q==",
+ "dev": true,
+ "requires": {
+ "graphql": "0.12.3",
+ "graphql-import": "0.4.5",
+ "graphql-request": "1.6.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4"
+ },
+ "dependencies": {
+ "graphql": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.12.3.tgz",
+ "integrity": "sha512-Hn9rdu4zacplKXNrLCvR8YFiTGnbM4Zw/UH8FDmzBDsH7ou40lSNH4tIlsxcYnz2TGNVJCpu1WxCM23yd6kzhA==",
+ "dev": true,
+ "requires": {
+ "iterall": "1.1.3"
+ }
+ }
+ }
+ },
+ "graphql-import": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz",
+ "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.10"
+ }
+ },
+ "iterall": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz",
+ "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==",
+ "dev": true
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "dev": true,
+ "requires": {
+ "encoding": "0.1.12",
+ "is-stream": "1.1.0"
+ }
+ },
+ "yargs": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
+ "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.1.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
"apollo-link": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.2.tgz",
@@ -2010,6 +2303,12 @@
"integrity": "sha1-EqYHWj5JiNpMIvIY4pSFZj5MSmM=",
"dev": true
},
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
"callsites": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
@@ -2101,6 +2400,54 @@
"supports-color": "5.4.0"
}
},
+ "change-case": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz",
+ "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==",
+ "dev": true,
+ "requires": {
+ "camel-case": "3.0.0",
+ "constant-case": "2.0.0",
+ "dot-case": "2.1.1",
+ "header-case": "1.0.1",
+ "is-lower-case": "1.1.3",
+ "is-upper-case": "1.1.2",
+ "lower-case": "1.1.4",
+ "lower-case-first": "1.0.2",
+ "no-case": "2.3.2",
+ "param-case": "2.1.1",
+ "pascal-case": "2.0.1",
+ "path-case": "2.1.1",
+ "sentence-case": "2.1.1",
+ "snake-case": "2.1.0",
+ "swap-case": "1.1.2",
+ "title-case": "2.1.1",
+ "upper-case": "1.1.3",
+ "upper-case-first": "1.1.2"
+ },
+ "dependencies": {
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case": "1.1.3"
+ }
+ },
+ "sentence-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz",
+ "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case-first": "1.1.2"
+ }
+ }
+ }
+ },
"chardet": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
@@ -2284,6 +2631,12 @@
"restore-cursor": "2.0.0"
}
},
+ "cli-spinners": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
+ "dev": true
+ },
"cli-table": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
@@ -2309,6 +2662,12 @@
"wrap-ansi": "2.1.0"
}
},
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -2349,6 +2708,33 @@
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
"dev": true
},
+ "columnify": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz",
+ "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=",
+ "dev": true,
+ "requires": {
+ "strip-ansi": "3.0.1",
+ "wcwidth": "1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ }
+ }
+ },
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
@@ -2358,11 +2744,26 @@
"delayed-stream": "1.0.0"
}
},
+ "command-exists": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.6.tgz",
+ "integrity": "sha512-Qst/zUUNmS/z3WziPxyqjrcz09pm+2Knbs5mAZL4VAE0sSrNY1/w8+/YxeHcoBTsO6iojA6BW7eFf27Eg2MRuw==",
+ "dev": true
+ },
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
},
+ "common-tags": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz",
+ "integrity": "sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
"compare-versions": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.1.0.tgz",
@@ -2448,6 +2849,16 @@
"xdg-basedir": "3.0.0"
}
},
+ "constant-case": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz",
+ "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=",
+ "dev": true,
+ "requires": {
+ "snake-case": "2.1.0",
+ "upper-case": "1.1.3"
+ }
+ },
"content-disposition": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
@@ -2518,6 +2929,29 @@
"vary": "1.1.2"
}
},
+ "cosmiconfig": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-3.1.0.tgz",
+ "integrity": "sha512-zedsBhLSbPBms+kE7AH4vHg6JsKDz6epSv2/+5XHs8ILHlgDciSJfSWf8sX9aQ52Jb7KI7VswUTsLpR/G0cr2Q==",
+ "dev": true,
+ "requires": {
+ "is-directory": "0.3.1",
+ "js-yaml": "3.11.0",
+ "parse-json": "3.0.0",
+ "require-from-string": "2.0.2"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz",
+ "integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ }
+ }
+ },
"crc": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz",
@@ -2635,6 +3069,42 @@
"cssom": "0.3.2"
}
},
+ "cucumber-html-reporter": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/cucumber-html-reporter/-/cucumber-html-reporter-3.0.4.tgz",
+ "integrity": "sha512-uit68jymdI8Z6m+kJ5YnJPeHf5IdYXt2j52l5xLwgpcLBQRhCvr1peV9UODaCN5nLnRN9nqh1qaw4iNp1rTpvQ==",
+ "dev": true,
+ "requires": {
+ "find": "0.2.9",
+ "fs-extra": "3.0.1",
+ "js-base64": "2.4.5",
+ "jsonfile": "3.0.1",
+ "lodash": "4.17.10",
+ "open": "0.0.5"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
+ "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "3.0.1",
+ "universalify": "0.1.1"
+ }
+ },
+ "jsonfile": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
+ "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
+ }
+ }
+ },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -2798,6 +3268,15 @@
"strip-bom": "2.0.0"
}
},
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.4"
+ }
+ },
"define-properties": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
@@ -2917,6 +3396,30 @@
"integrity": "sha1-4MGmb2JUgar31gN0Hw09k83Uhno=",
"dev": true
},
+ "disparity": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/disparity/-/disparity-2.0.0.tgz",
+ "integrity": "sha1-V92stHMkrl9Y0swNqIbbTOnutxg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "diff": "1.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "diff": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
+ "dev": true
+ }
+ }
+ },
"domexception": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
@@ -2926,6 +3429,15 @@
"webidl-conversions": "4.0.2"
}
},
+ "dot-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
+ "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2"
+ }
+ },
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
@@ -3246,6 +3758,15 @@
"fill-range": "2.2.4"
}
},
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "1.0.1"
+ }
+ },
"expect": {
"version": "22.4.3",
"resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz",
@@ -3537,6 +4058,15 @@
}
}
},
+ "find": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/find/-/find-0.2.9.tgz",
+ "integrity": "sha1-S3Px/55WrZG3bnFkB/5f/mVUu4w=",
+ "dev": true,
+ "requires": {
+ "traverse-chain": "0.1.0"
+ }
+ },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -3583,6 +4113,12 @@
"mime-types": "2.1.18"
}
},
+ "format-util": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.3.tgz",
+ "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=",
+ "dev": true
+ },
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@@ -4248,6 +4784,30 @@
"ini": "1.3.5"
}
},
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "1.0.2",
+ "is-windows": "1.0.2",
+ "resolve-dir": "1.0.1"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "homedir-polyfill": "1.0.1",
+ "ini": "1.3.5",
+ "is-windows": "1.0.2",
+ "which": "1.3.0"
+ }
+ },
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
@@ -4320,6 +4880,62 @@
"through": "2.3.8"
}
},
+ "graphcool-json-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/graphcool-json-schema/-/graphcool-json-schema-1.2.1.tgz",
+ "integrity": "sha1-bO+2yLUFQ2FebvpDu1T54/uygfM=",
+ "dev": true
+ },
+ "graphcool-yml": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/graphcool-yml/-/graphcool-yml-0.4.15.tgz",
+ "integrity": "sha512-ZVbRfVI8l21+1JQkcG0XuRam9mgiVUh9/PIcluzCZca2+lZQg/e1WCDXpwsC69i2ZdPcZwpOCLFKQMg5rnulCA==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "bluebird": "3.5.1",
+ "debug": "3.1.0",
+ "dotenv": "4.0.0",
+ "fs-extra": "4.0.3",
+ "graphcool-json-schema": "1.2.1",
+ "isomorphic-fetch": "2.2.1",
+ "js-yaml": "3.11.0",
+ "json-stable-stringify": "1.0.1",
+ "jsonwebtoken": "8.2.1",
+ "lodash": "4.17.10",
+ "replaceall": "0.1.6",
+ "scuid": "1.1.0",
+ "yaml-ast-parser": "0.0.40"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "dotenv": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz",
+ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
+ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.1"
+ }
+ }
+ }
+ },
"graphql": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz",
@@ -4371,6 +4987,214 @@
}
}
},
+ "graphql-cli": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/graphql-cli/-/graphql-cli-2.16.0.tgz",
+ "integrity": "sha512-JIfynto1O85LGNAZFc+cASpZGtYVgUlAQZUZcFZjSghAEgx/22E/u2m+aOuffcrrH9Hko8pNZ5X69okvu5D8+Q==",
+ "dev": true,
+ "requires": {
+ "adm-zip": "0.4.7",
+ "apollo-codegen": "0.19.1",
+ "chalk": "2.4.1",
+ "command-exists": "1.2.6",
+ "cross-spawn": "6.0.5",
+ "disparity": "2.0.0",
+ "dotenv": "5.0.1",
+ "express": "4.16.3",
+ "express-request-proxy": "2.0.0",
+ "graphql": "0.13.2",
+ "graphql-cli-prepare": "1.4.19",
+ "graphql-config": "2.0.1",
+ "graphql-config-extension-graphcool": "1.0.8",
+ "graphql-config-extension-openapi": "1.0.6",
+ "graphql-config-extension-prisma": "0.0.11",
+ "graphql-playground-middleware-express": "1.6.2",
+ "graphql-schema-linter": "0.1.1",
+ "inquirer": "5.1.0",
+ "is-url-superb": "2.0.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.10",
+ "mkdirp": "0.5.1",
+ "node-fetch": "2.0.0",
+ "npm-paths": "1.0.0",
+ "npm-run": "5.0.1",
+ "opn": "5.3.0",
+ "ora": "1.4.0",
+ "parse-github-url": "1.0.2",
+ "request": "2.85.0",
+ "rimraf": "2.6.2",
+ "source-map-support": "0.5.5",
+ "update-notifier": "2.5.0",
+ "yargs": "11.0.0"
+ },
+ "dependencies": {
+ "adm-zip": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz",
+ "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.4",
+ "path-key": "2.0.1",
+ "semver": "5.5.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "graphql-config": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz",
+ "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==",
+ "dev": true,
+ "requires": {
+ "graphql-import": "0.4.5",
+ "graphql-request": "1.6.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4"
+ }
+ },
+ "graphql-config-extension-prisma": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/graphql-config-extension-prisma/-/graphql-config-extension-prisma-0.0.11.tgz",
+ "integrity": "sha512-Mlj/VYshHbwDrVHgNyNAl2cBU7+Rh503S43UYXcBtR9Am2KNvmPPPccXEeP6yist0yY2WM0WTwL8JoIGrWeFOw==",
+ "dev": true,
+ "requires": {
+ "graphql-config": "2.0.1",
+ "prisma-yml": "1.0.50"
+ }
+ },
+ "graphql-import": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz",
+ "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.10"
+ }
+ },
+ "graphql-playground-middleware-express": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.6.2.tgz",
+ "integrity": "sha512-BHaEZe2J2lQ1TX2W73a6PI2zVjB9Nb0J9pFdbG1L7ugYdbait/elDrsNMxLCsDHVOGJF009VlYszrk7Cq7FiTg==",
+ "dev": true,
+ "requires": {
+ "graphql-playground-html": "1.5.5"
+ }
+ },
+ "inquirer": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.1.0.tgz",
+ "integrity": "sha512-kn7N70US1MSZHZHSGJLiZ7iCwwncc7b0gc68YtlX29OjI3Mp0tSVV+snVXpZ1G+ONS3Ac9zd1m6hve2ibLDYfA==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.1.0",
+ "chalk": "2.4.1",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.2.0",
+ "figures": "2.0.0",
+ "lodash": "4.17.10",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rxjs": "5.5.10",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "2.3.8"
+ }
+ },
+ "prisma-yml": {
+ "version": "1.0.50",
+ "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.0.50.tgz",
+ "integrity": "sha512-Vpt6q+YzS6yozMnIPU75hlHzmDR1Hj4Z3FXaazJrOXUyeQx/xDqeEwRJ+ii4xl/GRYiFnMEVSLfsPzjLehA1Zw==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "bluebird": "3.5.1",
+ "chalk": "2.4.1",
+ "debug": "3.1.0",
+ "dotenv": "4.0.0",
+ "fs-extra": "5.0.0",
+ "graphql-request": "1.6.0",
+ "http-proxy-agent": "2.1.0",
+ "https-proxy-agent": "2.2.1",
+ "isomorphic-fetch": "2.2.1",
+ "js-yaml": "3.11.0",
+ "json-stable-stringify": "1.0.1",
+ "jsonwebtoken": "8.2.1",
+ "lodash": "4.17.10",
+ "prisma-json-schema": "0.0.4",
+ "replaceall": "0.1.6",
+ "scuid": "1.1.0",
+ "yaml-ast-parser": "0.0.40"
+ },
+ "dependencies": {
+ "dotenv": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz",
+ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "graphql-cli-prepare": {
+ "version": "1.4.19",
+ "resolved": "https://registry.npmjs.org/graphql-cli-prepare/-/graphql-cli-prepare-1.4.19.tgz",
+ "integrity": "sha512-PJFm9/DvfZwKz3h2Wyn/5Sr/sX35XsYzNO3olfm5V8qqueNIONI0g7sVqpF7wYdvhEtt/8YA9DjgrGclCbpMfA==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.1",
+ "fs-extra": "5.0.0",
+ "graphql-import": "0.4.5",
+ "graphql-static-binding": "0.9.3",
+ "lodash": "4.17.5"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
+ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
+ },
+ "graphql-import": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz",
+ "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.5"
+ }
+ },
+ "lodash": {
+ "version": "4.17.5",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
+ "dev": true
+ }
+ }
+ },
"graphql-config": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.0.tgz",
@@ -4393,6 +5217,74 @@
}
}
},
+ "graphql-config-extension-graphcool": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/graphql-config-extension-graphcool/-/graphql-config-extension-graphcool-1.0.8.tgz",
+ "integrity": "sha512-eMvL/RAo88EHo8SmP40Zcsrx7nrLTE82G4ZochsHYoEvP+QMo0XA+Vq9lxYeRTJEtGMFD4imjHXGHWh4B0srQw==",
+ "dev": true,
+ "requires": {
+ "graphcool-yml": "0.4.15",
+ "graphql-config": "2.0.1"
+ },
+ "dependencies": {
+ "graphql-config": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz",
+ "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==",
+ "dev": true,
+ "requires": {
+ "graphql-import": "0.4.5",
+ "graphql-request": "1.6.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4"
+ }
+ },
+ "graphql-import": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz",
+ "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.10"
+ }
+ }
+ }
+ },
+ "graphql-config-extension-openapi": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/graphql-config-extension-openapi/-/graphql-config-extension-openapi-1.0.6.tgz",
+ "integrity": "sha512-Do6tHyQyxaPhaZdJ+ZCpYbVhczlqNqMVuO46aG/YkMuRQPoj/FRmeH9BFXniFkz60TZyRpLTQNel2sllMekRLQ==",
+ "dev": true,
+ "requires": {
+ "@kbrandwijk/swagger-to-graphql": "2.4.3",
+ "graphql-config": "2.0.1"
+ },
+ "dependencies": {
+ "graphql-config": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz",
+ "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==",
+ "dev": true,
+ "requires": {
+ "graphql-import": "0.4.5",
+ "graphql-request": "1.6.0",
+ "js-yaml": "3.11.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4"
+ }
+ },
+ "graphql-import": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz",
+ "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.10"
+ }
+ }
+ }
+ },
"graphql-config-extension-prisma": {
"version": "0.0.12",
"resolved": "https://registry.npmjs.org/graphql-config-extension-prisma/-/graphql-config-extension-prisma-0.0.12.tgz",
@@ -4530,6 +5422,31 @@
"cross-fetch": "2.0.0"
}
},
+ "graphql-schema-linter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/graphql-schema-linter/-/graphql-schema-linter-0.1.1.tgz",
+ "integrity": "sha512-caZbOgNw08/9p3a+qusmaFi1TklG9ti+KHI6a2yfdp009gyoClWGQ+ElKVIiZkJQSeWCri2s2UFBCZjoM0JwTw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1",
+ "columnify": "1.5.4",
+ "commander": "2.15.1",
+ "cosmiconfig": "3.1.0",
+ "figures": "2.0.0",
+ "glob": "7.1.2",
+ "graphql": "0.13.2",
+ "lodash": "4.17.10"
+ }
+ },
+ "graphql-static-binding": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/graphql-static-binding/-/graphql-static-binding-0.9.3.tgz",
+ "integrity": "sha512-C8+EqwNCiQxUhbrWEokxN16oINAkhIDBzEpKHXeatBRaAyMczXm0J6HMaMSKOuQmk7P1PbDHIVW3FVZwXF2WJQ==",
+ "dev": true,
+ "requires": {
+ "cucumber-html-reporter": "3.0.4"
+ }
+ },
"graphql-subscriptions": {
"version": "0.5.8",
"resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz",
@@ -4747,6 +5664,16 @@
"sntp": "2.1.0"
}
},
+ "header-case": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz",
+ "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case": "1.1.3"
+ }
+ },
"hoek": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
@@ -4763,6 +5690,15 @@
"os-tmpdir": "1.0.2"
}
},
+ "homedir-polyfill": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "1.0.0"
+ }
+ },
"hosted-git-info": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
@@ -4890,6 +5826,12 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
+ "inflected": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.0.4.tgz",
+ "integrity": "sha512-HQPzFLTTUvwfeUH6RAGjD8cHS069mBqXG5n4qaxX7sJXBhVQrsGgF+0ZJGkSuN6a8pcUWB/GXStta11kKi/WvA==",
+ "dev": true
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -4946,6 +5888,12 @@
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
+ "ip-regex": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
+ "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
+ "dev": true
+ },
"ipaddr.js": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz",
@@ -5039,6 +5987,12 @@
}
}
},
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
"is-dotfile": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
@@ -5105,6 +6059,15 @@
"is-path-inside": "1.0.1"
}
},
+ "is-lower-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz",
+ "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
"is-natural-number": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
@@ -5243,6 +6206,24 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
+ "is-upper-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
+ "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=",
+ "dev": true,
+ "requires": {
+ "upper-case": "1.1.3"
+ }
+ },
+ "is-url-superb": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-2.0.0.tgz",
+ "integrity": "sha1-tyihjPaS5NFtprlMdAioEdsNBJI=",
+ "dev": true,
+ "requires": {
+ "url-regex": "3.2.0"
+ }
+ },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -5872,6 +6853,12 @@
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",
"integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc="
},
+ "js-base64": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
+ "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==",
+ "dev": true
+ },
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
@@ -5958,6 +6945,31 @@
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
+ "json-schema-ref-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-3.3.1.tgz",
+ "integrity": "sha512-stQTMhec2R/p2L9dH4XXRlpNCP0mY8QrLd/9Kl+8SHJQmwHtE1nDfXH4wbsSM+GkJMl8t92yZbI0OIol432CIQ==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "1.0.1",
+ "debug": "3.1.0",
+ "es6-promise": "4.2.4",
+ "js-yaml": "3.11.0",
+ "ono": "4.0.5",
+ "z-schema": "3.22.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
@@ -6252,6 +7264,12 @@
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
+ },
"lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
@@ -6336,6 +7354,15 @@
"integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=",
"dev": true
},
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1"
+ }
+ },
"longest": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
@@ -6357,6 +7384,15 @@
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
"dev": true
},
+ "lower-case-first": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz",
+ "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@@ -6757,6 +7793,21 @@
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
+ "nice-try": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
+ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
"node-emoji": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
@@ -6795,6 +7846,12 @@
"which": "1.3.0"
}
},
+ "node-request-by-swagger": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/node-request-by-swagger/-/node-request-by-swagger-1.1.0.tgz",
+ "integrity": "sha512-BptVwRKkvTotIKtw31TpKJ7ifFXdIu1mhD3q6pyZtjYv3rfKVLgVH1Yedto/BqIt1bYWiNY3gS3mPvPcU+ONAg==",
+ "dev": true
+ },
"nodemailer": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.6.4.tgz",
@@ -6886,6 +7943,16 @@
"which": "1.3.0"
}
},
+ "npm-paths": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/npm-paths/-/npm-paths-1.0.0.tgz",
+ "integrity": "sha512-COlxSO5PK9UvZXIa7/sqJDZOlffWFx9+CKJJWkdbhUJMBwcf9sof2jxt4uiVsl+nY3sy0/XFGl4iGr8GoKfiXA==",
+ "dev": true,
+ "requires": {
+ "global-modules": "1.0.0",
+ "is-windows": "1.0.2"
+ }
+ },
"npm-run": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/npm-run/-/npm-run-5.0.1.tgz",
@@ -7057,6 +8124,21 @@
"mimic-fn": "1.2.0"
}
},
+ "ono": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.5.tgz",
+ "integrity": "sha512-ZVNuV9kJbr/2tWs83I2snrYo+WIS0DISF/xUfX9p9b6GyDD6F5N9PzHjW+p/dep6IGwSYylf1HCub5I/nM0R5Q==",
+ "dev": true,
+ "requires": {
+ "format-util": "1.0.3"
+ }
+ },
+ "open": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
+ "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
+ "dev": true
+ },
"opn": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
@@ -7106,6 +8188,18 @@
}
}
},
+ "ora": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz",
+ "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1",
+ "cli-cursor": "2.1.0",
+ "cli-spinners": "1.3.1",
+ "log-symbols": "2.2.0"
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -7196,6 +8290,21 @@
"integrity": "sha1-zWLmCvjX/qinBexP+ZCHHEaHHyc=",
"dev": true
},
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2"
+ }
+ },
+ "parse-github-url": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
+ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
+ "dev": true
+ },
"parse-glob": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
@@ -7217,6 +8326,12 @@
"error-ex": "1.3.1"
}
},
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
"parse5": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
@@ -7228,12 +8343,43 @@
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
},
+ "pascal-case": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz",
+ "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=",
+ "dev": true,
+ "requires": {
+ "camel-case": "3.0.0",
+ "upper-case-first": "1.1.2"
+ },
+ "dependencies": {
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case": "1.1.3"
+ }
+ }
+ }
+ },
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
+ "path-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz",
+ "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2"
+ }
+ },
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
@@ -8373,6 +9519,18 @@
"uuid": "3.1.0"
}
},
+ "request-promise": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz",
+ "integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "request-promise-core": "1.1.1",
+ "stealthy-require": "1.1.1",
+ "tough-cookie": "2.3.4"
+ }
+ },
"request-promise-core": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
@@ -8398,6 +9556,12 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
@@ -8417,6 +9581,16 @@
"resolve-from": "3.0.0"
}
},
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "global-modules": "1.0.0"
+ }
+ },
"resolve-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
@@ -9027,6 +10201,15 @@
"is-fullwidth-code-point": "2.0.0"
}
},
+ "snake-case": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz",
+ "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2"
+ }
+ },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -9454,6 +10637,16 @@
"has-flag": "3.0.0"
}
},
+ "swap-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz",
+ "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4",
+ "upper-case": "1.1.3"
+ }
+ },
"symbol-observable": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
@@ -9911,6 +11104,16 @@
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
"dev": true
},
+ "title-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz",
+ "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case": "1.1.3"
+ }
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -10023,6 +11226,12 @@
}
}
},
+ "traverse-chain": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz",
+ "integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=",
+ "dev": true
+ },
"treeify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
@@ -10352,6 +11561,15 @@
"integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
"dev": true
},
+ "upper-case-first": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
+ "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "dev": true,
+ "requires": {
+ "upper-case": "1.1.3"
+ }
+ },
"uri-js": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.1.tgz",
@@ -10399,6 +11617,15 @@
"prepend-http": "1.0.4"
}
},
+ "url-regex": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
+ "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+ "dev": true,
+ "requires": {
+ "ip-regex": "1.0.3"
+ }
+ },
"url-to-options": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
@@ -10508,6 +11735,15 @@
"minimist": "1.2.0"
}
},
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "1.0.3"
+ }
+ },
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
@@ -10741,6 +11977,26 @@
"resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
"integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo="
},
+ "z-schema": {
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.22.0.tgz",
+ "integrity": "sha512-Oq82unxX2PTcJ031gFGcksDHE5PNBs5CbcQ1tbre0Sl4Mu5habZTVmEAkuZS4cK//VgIdNg9UG9PMgMlN6KmiA==",
+ "dev": true,
+ "requires": {
+ "commander": "2.15.1",
+ "lodash.get": "4.4.2",
+ "lodash.isequal": "4.5.0",
+ "validator": "10.2.0"
+ },
+ "dependencies": {
+ "validator": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-10.2.0.tgz",
+ "integrity": "sha512-gz/uknWtNfZTj1BLUzYHDxOoiQ7A4wZ6xPuuE6RpxswR4cNyT4I5kN9jmU0AQr7IBEap9vfYChI2TpssTN6Itg==",
+ "dev": true
+ }
+ }
+ },
"zen-observable": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.8.tgz",
diff --git a/backend/package.json b/backend/package.json
index a2c9199..10c7903 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -19,6 +19,7 @@
"devDependencies": {
"babel-preset-env": "^1.7.0",
"dotenv": "5.0.1",
+ "graphql-cli": "^2.16.0",
"jest-cli": "^22.4.3",
"nodemon": "1.17.4",
"prisma": "1.8.0"
diff --git a/backend/database/datamodel.graphql b/backend/prisma/datamodel.graphql
index 9465524..9465524 100644
--- a/backend/database/datamodel.graphql
+++ b/backend/prisma/datamodel.graphql
diff --git a/backend/prisma/prisma.yml b/backend/prisma/prisma.yml
new file mode 100644
index 0000000..2940bab
--- /dev/null
+++ b/backend/prisma/prisma.yml
@@ -0,0 +1,6 @@
+datamodel: datamodel.graphql
+endpoint: ${env:PRISMA_ENDPOINT}
+secret: ${env:PRISMA_SECRET}
+hooks:
+ post-deploy:
+ - graphql get-schema -p prisma
diff --git a/backend/src/createServer.js b/backend/src/createServer.js
index e913fde..036d15a 100644
--- a/backend/src/createServer.js
+++ b/backend/src/createServer.js
@@ -1,8 +1,7 @@
const { GraphQLServer } = require('graphql-yoga');
-const { Prisma } = require('prisma-binding');
-
const Mutation = require('./resolvers/Mutation');
const Query = require('./resolvers/Query');
+const db = require('./db');
function createServer() {
return new GraphQLServer({
@@ -14,15 +13,7 @@ function createServer() {
Mutation,
Query,
},
- context: req => ({
- ...req,
- db: new Prisma({
- typeDefs: 'src/generated/prisma.graphql',
- endpoint: process.env.PRISMA_ENDPOINT, // the endpoint of the Prisma DB service (value is set in variables.env)
- secret: process.env.PRISMA_SECRET, // taken from database/prisma.yml (value is set in .env)
- debug: false, // log all GraphQL queries & mutations
- }),
- }),
+ context: req => ({ ...req, db }),
});
}
diff --git a/backend/src/db.js b/backend/src/db.js
new file mode 100644
index 0000000..e8caa14
--- /dev/null
+++ b/backend/src/db.js
@@ -0,0 +1,10 @@
+const { Prisma } = require('prisma-binding');
+
+const db = new Prisma({
+ typeDefs: 'src/generated/prisma.graphql',
+ endpoint: process.env.PRISMA_ENDPOINT, // the endpoint of the Prisma DB service (value is set in variables.env)
+ secret: process.env.PRISMA_SECRET, // taken from prisma/prisma.yml (value is set in .env)
+ debug: false, // log all GraphQL queries & mutations
+});
+
+module.exports = db; \ No newline at end of file
diff --git a/backend/src/generated/prisma.graphql b/backend/src/generated/prisma.graphql
index c88f966..aeacf68 100644
--- a/backend/src/generated/prisma.graphql
+++ b/backend/src/generated/prisma.graphql
@@ -1,73 +1,5 @@
-# THIS FILE HAS BEEN AUTO-GENERATED BY "PRISMA DEPLOY"
-# DO NOT EDIT THIS FILE DIRECTLY
-
-#
-# Model Types
-#
-
-type CartItem implements Node {
- id: ID!
- quantity: Int!
- item(where: ItemWhereInput): Item
- user(where: UserWhereInput): User!
- createdAt: DateTime!
- updatedAt: 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!
-}
-
-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!
-}
-
-type OrderItem implements Node {
- id: ID!
- title: String!
- description: String!
- image: String
- largeImage: String
- price: Int!
- createdAt: DateTime!
- updatedAt: DateTime!
- quantity: Int!
- item(where: ItemWhereInput): Item!
- user(where: UserWhereInput): User!
-}
-
-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!]
-}
-
-
-#
-# Other Types
-#
+# source: https://us1.prisma.sh/johannes-schickling/wesbos/dev
+# timestamp: Mon May 21 2018 18:02:25 GMT-0700 (PDT)
type AggregateCartItem {
count: Int!
@@ -90,23 +22,25 @@ type AggregateUser {
}
type BatchPayload {
- """
- The number of nodes that have been affected by the Batch operation.
- """
+ """The number of nodes that have been affected by the Batch operation."""
count: Long!
}
-"""
-A connection to a list of items.
-"""
+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.
- """
+ """Information to aid in pagination."""
pageInfo: PageInfo!
- """
- A list of edges.
- """
+
+ """A list of edges."""
edges: [CartItemEdge]!
aggregate: AggregateCartItem!
}
@@ -127,17 +61,12 @@ input CartItemCreateWithoutUserInput {
item: ItemCreateOneInput
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type CartItemEdge {
- """
- The item at the end of the edge.
- """
+ """The item at the end of the edge."""
node: CartItem!
- """
- A cursor for use in pagination.
- """
+
+ """A cursor for use in pagination."""
cursor: String!
}
@@ -167,26 +96,30 @@ type CartItemSubscriptionPayload {
}
input CartItemSubscriptionWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [CartItemSubscriptionWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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
"""
@@ -205,8 +138,8 @@ input CartItemUpdateManyWithoutUserInput {
connect: [CartItemWhereUniqueInput!]
disconnect: [CartItemWhereUniqueInput!]
delete: [CartItemWhereUniqueInput!]
- update: [CartItemUpdateWithoutUserInput!]
- upsert: [CartItemUpsertWithoutUserInput!]
+ update: [CartItemUpdateWithWhereUniqueWithoutUserInput!]
+ upsert: [CartItemUpsertWithWhereUniqueWithoutUserInput!]
}
input CartItemUpdateWithoutUserDataInput {
@@ -214,165 +147,131 @@ input CartItemUpdateWithoutUserDataInput {
item: ItemUpdateOneInput
}
-input CartItemUpdateWithoutUserInput {
+input CartItemUpdateWithWhereUniqueWithoutUserInput {
where: CartItemWhereUniqueInput!
data: CartItemUpdateWithoutUserDataInput!
}
-input CartItemUpsertWithoutUserInput {
+input CartItemUpsertWithWhereUniqueWithoutUserInput {
where: CartItemWhereUniqueInput!
update: CartItemUpdateWithoutUserDataInput!
create: CartItemCreateWithoutUserInput!
}
input CartItemWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [CartItemWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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.
- """
+
+ """All values that are not equal to given value."""
id_not: ID
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
id_in: [ID!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
id_not_in: [ID!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
id_lt: ID
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
id_lte: ID
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
id_gt: ID
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
id_gte: ID
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
id_contains: ID
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
id_not_contains: ID
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
id_starts_with: ID
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
id_not_starts_with: ID
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
id_ends_with: ID
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
id_not_ends_with: ID
quantity: Int
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
quantity_not: Int
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
quantity_in: [Int!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
quantity_not_in: [Int!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
quantity_lt: Int
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
quantity_lte: Int
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
quantity_gt: Int
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
quantity_gte: Int
createdAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
createdAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
createdAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
createdAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
createdAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
createdAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
createdAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
createdAt_gte: DateTime
updatedAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
updatedAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
updatedAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
updatedAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
updatedAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
updatedAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
updatedAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
updatedAt_gte: DateTime
item: ItemWhereInput
user: UserWhereInput
@@ -384,17 +283,24 @@ input CartItemWhereUniqueInput {
scalar DateTime
-"""
-A connection to a list of items.
-"""
+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.
- """
+ """Information to aid in pagination."""
pageInfo: PageInfo!
- """
- A list of edges.
- """
+
+ """A list of edges."""
edges: [ItemEdge]!
aggregate: AggregateItem!
}
@@ -413,17 +319,12 @@ input ItemCreateOneInput {
connect: ItemWhereUniqueInput
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type ItemEdge {
- """
- The item at the end of the edge.
- """
+ """The item at the end of the edge."""
node: Item!
- """
- A cursor for use in pagination.
- """
+
+ """A cursor for use in pagination."""
cursor: String!
}
@@ -465,26 +366,30 @@ type ItemSubscriptionPayload {
}
input ItemSubscriptionWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [ItemSubscriptionWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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
"""
@@ -492,6 +397,15 @@ input ItemSubscriptionWhereInput {
node: ItemWhereInput
}
+input ItemUpdateDataInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ user: UserUpdateOneInput
+}
+
input ItemUpdateInput {
title: String
description: String
@@ -504,370 +418,290 @@ input ItemUpdateInput {
input ItemUpdateOneInput {
create: ItemCreateInput
connect: ItemWhereUniqueInput
- disconnect: ItemWhereUniqueInput
- delete: ItemWhereUniqueInput
+ delete: Boolean
+ update: ItemUpdateDataInput
+ upsert: ItemUpsertNestedInput
+}
+
+input ItemUpsertNestedInput {
+ update: ItemUpdateDataInput!
+ create: ItemCreateInput!
}
input ItemWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [ItemWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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.
- """
+
+ """All values that are not equal to given value."""
id_not: ID
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
id_in: [ID!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
id_not_in: [ID!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
id_lt: ID
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
id_lte: ID
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
id_gt: ID
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
id_gte: ID
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
id_contains: ID
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
id_not_contains: ID
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
id_starts_with: ID
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
id_not_starts_with: ID
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
id_ends_with: ID
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
id_not_ends_with: ID
title: String
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
title_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
title_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
title_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
title_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
title_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
title_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
title_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
title_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
title_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
title_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
title_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
title_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
description_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
description_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
description_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
description_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
description_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
description_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
description_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
description_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
description_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
description_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
description_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
description_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
image_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
image_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
image_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
image_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
image_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
image_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
image_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
image_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
image_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
image_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
image_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
image_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
largeImage_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
largeImage_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
largeImage_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
largeImage_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
largeImage_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
largeImage_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
largeImage_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
largeImage_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
largeImage_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
largeImage_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
largeImage_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
largeImage_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
price_not: Int
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
price_in: [Int!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
price_not_in: [Int!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
price_lt: Int
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
price_lte: Int
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
price_gt: Int
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
price_gte: Int
createdAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
createdAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
createdAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
createdAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
createdAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
createdAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
createdAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
createdAt_gte: DateTime
updatedAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
updatedAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
updatedAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
updatedAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
updatedAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
updatedAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
updatedAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
updatedAt_gte: DateTime
user: UserWhereInput
}
@@ -903,16 +737,16 @@ type Mutation {
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!
+ 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 {
@@ -921,27 +755,28 @@ enum MutationType {
DELETED
}
-"""
-An object with an ID
-"""
+"""An object with an ID"""
interface Node {
- """
- The id of the object.
- """
+ """The id of the object."""
id: ID!
}
-"""
-A connection to a list of items.
-"""
+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.
- """
+ """Information to aid in pagination."""
pageInfo: PageInfo!
- """
- A list of edges.
- """
+
+ """A list of edges."""
edges: [OrderEdge]!
aggregate: AggregateOrder!
}
@@ -964,31 +799,35 @@ input OrderCreateWithoutUserInput {
items: OrderItemCreateManyInput
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type OrderEdge {
- """
- The item at the end of the edge.
- """
+ """The item at the end of the edge."""
node: Order!
- """
- A cursor for use in pagination.
- """
+
+ """A cursor for use in pagination."""
cursor: String!
}
-"""
-A connection to a list of items.
-"""
+type OrderItem implements Node {
+ id: ID!
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ quantity: Int!
+ item(where: ItemWhereInput): Item!
+ user(where: UserWhereInput): User!
+}
+
+"""A connection to a list of items."""
type OrderItemConnection {
- """
- Information to aid in pagination.
- """
+ """Information to aid in pagination."""
pageInfo: PageInfo!
- """
- A list of edges.
- """
+
+ """A list of edges."""
edges: [OrderItemEdge]!
aggregate: AggregateOrderItem!
}
@@ -1009,17 +848,12 @@ input OrderItemCreateManyInput {
connect: [OrderItemWhereUniqueInput!]
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type OrderItemEdge {
- """
- The item at the end of the edge.
- """
+ """The item at the end of the edge."""
node: OrderItem!
- """
- A cursor for use in pagination.
- """
+
+ """A cursor for use in pagination."""
cursor: String!
}
@@ -1064,26 +898,30 @@ type OrderItemSubscriptionPayload {
}
input OrderItemSubscriptionWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [OrderItemSubscriptionWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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
"""
@@ -1091,6 +929,17 @@ input OrderItemSubscriptionWhereInput {
node: OrderItemWhereInput
}
+input OrderItemUpdateDataInput {
+ title: String
+ description: String
+ image: String
+ largeImage: String
+ price: Int
+ quantity: Int
+ item: ItemUpdateOneInput
+ user: UserUpdateOneInput
+}
+
input OrderItemUpdateInput {
title: String
description: String
@@ -1107,397 +956,317 @@ input OrderItemUpdateManyInput {
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.
- """
+ """Logical AND on all given filters."""
AND: [OrderItemWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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.
- """
+
+ """All values that are not equal to given value."""
id_not: ID
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
id_in: [ID!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
id_not_in: [ID!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
id_lt: ID
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
id_lte: ID
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
id_gt: ID
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
id_gte: ID
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
id_contains: ID
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
id_not_contains: ID
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
id_starts_with: ID
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
id_not_starts_with: ID
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
id_ends_with: ID
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
id_not_ends_with: ID
title: String
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
title_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
title_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
title_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
title_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
title_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
title_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
title_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
title_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
title_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
title_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
title_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
title_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
description_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
description_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
description_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
description_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
description_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
description_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
description_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
description_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
description_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
description_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
description_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
description_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
image_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
image_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
image_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
image_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
image_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
image_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
image_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
image_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
image_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
image_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
image_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
image_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
largeImage_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
largeImage_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
largeImage_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
largeImage_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
largeImage_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
largeImage_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
largeImage_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
largeImage_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
largeImage_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
largeImage_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
largeImage_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
largeImage_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
price_not: Int
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
price_in: [Int!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
price_not_in: [Int!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
price_lt: Int
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
price_lte: Int
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
price_gt: Int
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
price_gte: Int
createdAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
createdAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
createdAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
createdAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
createdAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
createdAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
createdAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
createdAt_gte: DateTime
updatedAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
updatedAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
updatedAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
updatedAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
updatedAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
updatedAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
updatedAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
updatedAt_gte: DateTime
quantity: Int
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
quantity_not: Int
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
quantity_in: [Int!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
quantity_not_in: [Int!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
quantity_lt: Int
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
quantity_lte: Int
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
quantity_gt: Int
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
quantity_gte: Int
item: ItemWhereInput
user: UserWhereInput
@@ -1536,26 +1305,30 @@ type OrderSubscriptionPayload {
}
input OrderSubscriptionWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [OrderSubscriptionWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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
"""
@@ -1575,8 +1348,8 @@ input OrderUpdateManyWithoutUserInput {
connect: [OrderWhereUniqueInput!]
disconnect: [OrderWhereUniqueInput!]
delete: [OrderWhereUniqueInput!]
- update: [OrderUpdateWithoutUserInput!]
- upsert: [OrderUpsertWithoutUserInput!]
+ update: [OrderUpdateWithWhereUniqueWithoutUserInput!]
+ upsert: [OrderUpsertWithWhereUniqueWithoutUserInput!]
}
input OrderUpdateWithoutUserDataInput {
@@ -1585,218 +1358,171 @@ input OrderUpdateWithoutUserDataInput {
items: OrderItemUpdateManyInput
}
-input OrderUpdateWithoutUserInput {
+input OrderUpdateWithWhereUniqueWithoutUserInput {
where: OrderWhereUniqueInput!
data: OrderUpdateWithoutUserDataInput!
}
-input OrderUpsertWithoutUserInput {
+input OrderUpsertWithWhereUniqueWithoutUserInput {
where: OrderWhereUniqueInput!
update: OrderUpdateWithoutUserDataInput!
create: OrderCreateWithoutUserInput!
}
input OrderWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [OrderWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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.
- """
+
+ """All values that are not equal to given value."""
id_not: ID
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
id_in: [ID!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
id_not_in: [ID!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
id_lt: ID
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
id_lte: ID
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
id_gt: ID
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
id_gte: ID
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
id_contains: ID
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
id_not_contains: ID
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
id_starts_with: ID
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
id_not_starts_with: ID
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
id_ends_with: ID
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
id_not_ends_with: ID
total: Int
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
total_not: Int
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
total_in: [Int!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
total_not_in: [Int!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
total_lt: Int
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
total_lte: Int
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
total_gt: Int
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
total_gte: Int
createdAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
createdAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
createdAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
createdAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
createdAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
createdAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
createdAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
createdAt_gte: DateTime
updatedAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
updatedAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
updatedAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
updatedAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
updatedAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
updatedAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
updatedAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
updatedAt_gte: DateTime
charge: String
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
charge_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
charge_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
charge_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
charge_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
charge_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
charge_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
charge_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
charge_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
charge_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
charge_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
charge_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
charge_ends_with: String
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
charge_not_ends_with: String
items_every: OrderItemWhereInput
items_some: OrderItemWhereInput
@@ -1808,25 +1534,18 @@ input OrderWhereUniqueInput {
id: ID
}
-"""
-Information about pagination in a connection.
-"""
+"""Information about pagination in a connection."""
type PageInfo {
- """
- When paginating forwards, are there more items?
- """
+ """When paginating forwards, are there more items?"""
hasNextPage: Boolean!
- """
- When paginating backwards, are there more items?
- """
+
+ """When paginating backwards, are there more items?"""
hasPreviousPage: Boolean!
- """
- When paginating backwards, the cursor to continue.
- """
+
+ """When paginating backwards, the cursor to continue."""
startCursor: String
- """
- When paginating forwards, the cursor to continue.
- """
+
+ """When paginating forwards, the cursor to continue."""
endCursor: String
}
@@ -1837,7 +1556,6 @@ enum Permission {
ITEMUPDATE
ITEMDELETE
PERMISSIONUPDATE
- NUKE
}
type Query {
@@ -1856,13 +1574,12 @@ type Query {
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
+
+ """Fetches an object given its ID"""
+ node(
+ """The ID of an object"""
+ id: ID!
+ ): Node
}
type Subscription {
@@ -1873,17 +1590,26 @@ type Subscription {
order(where: OrderSubscriptionWhereInput): OrderSubscriptionPayload
}
-"""
-A connection to a list of items.
-"""
+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.
- """
+ """Information to aid in pagination."""
pageInfo: PageInfo!
- """
- A list of edges.
- """
+
+ """A list of edges."""
edges: [UserEdge]!
aggregate: AggregateUser!
}
@@ -1938,17 +1664,12 @@ input UserCreateWithoutOrdersInput {
cart: CartItemCreateManyWithoutUserInput
}
-"""
-An edge in a connection.
-"""
+"""An edge in a connection."""
type UserEdge {
- """
- The item at the end of the edge.
- """
+ """The item at the end of the edge."""
node: User!
- """
- A cursor for use in pagination.
- """
+
+ """A cursor for use in pagination."""
cursor: String!
}
@@ -1991,26 +1712,30 @@ type UserSubscriptionPayload {
}
input UserSubscriptionWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [UserSubscriptionWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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
"""
@@ -2018,6 +1743,17 @@ input UserSubscriptionWhereInput {
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
@@ -2032,25 +1768,24 @@ input UserUpdateInput {
input UserUpdateOneInput {
create: UserCreateInput
connect: UserWhereUniqueInput
- disconnect: UserWhereUniqueInput
- delete: UserWhereUniqueInput
+ delete: Boolean
+ update: UserUpdateDataInput
+ upsert: UserUpsertNestedInput
}
input UserUpdateOneWithoutCartInput {
create: UserCreateWithoutCartInput
connect: UserWhereUniqueInput
- disconnect: UserWhereUniqueInput
- delete: UserWhereUniqueInput
- update: UserUpdateWithoutCartInput
+ delete: Boolean
+ update: UserUpdateWithoutCartDataInput
upsert: UserUpsertWithoutCartInput
}
input UserUpdateOneWithoutOrdersInput {
create: UserCreateWithoutOrdersInput
connect: UserWhereUniqueInput
- disconnect: UserWhereUniqueInput
- delete: UserWhereUniqueInput
- update: UserUpdateWithoutOrdersInput
+ delete: Boolean
+ update: UserUpdateWithoutOrdersDataInput
upsert: UserUpsertWithoutOrdersInput
}
@@ -2068,11 +1803,6 @@ input UserUpdateWithoutCartDataInput {
orders: OrderUpdateManyWithoutUserInput
}
-input UserUpdateWithoutCartInput {
- where: UserWhereUniqueInput!
- data: UserUpdateWithoutCartDataInput!
-}
-
input UserUpdateWithoutOrdersDataInput {
email: String
password: String
@@ -2083,407 +1813,313 @@ input UserUpdateWithoutOrdersDataInput {
cart: CartItemUpdateManyWithoutUserInput
}
-input UserUpdateWithoutOrdersInput {
- where: UserWhereUniqueInput!
- data: UserUpdateWithoutOrdersDataInput!
+input UserUpsertNestedInput {
+ update: UserUpdateDataInput!
+ create: UserCreateInput!
}
input UserUpsertWithoutCartInput {
- where: UserWhereUniqueInput!
update: UserUpdateWithoutCartDataInput!
create: UserCreateWithoutCartInput!
}
input UserUpsertWithoutOrdersInput {
- where: UserWhereUniqueInput!
update: UserUpdateWithoutOrdersDataInput!
create: UserCreateWithoutOrdersInput!
}
input UserWhereInput {
- """
- Logical AND on all given filters.
- """
+ """Logical AND on all given filters."""
AND: [UserWhereInput!]
- """
- Logical OR on all given filters.
- """
+
+ """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.
- """
+
+ """All values that are not equal to given value."""
id_not: ID
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
id_in: [ID!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
id_not_in: [ID!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
id_lt: ID
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
id_lte: ID
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
id_gt: ID
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
id_gte: ID
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
id_contains: ID
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
id_not_contains: ID
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
id_starts_with: ID
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
id_not_starts_with: ID
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
id_ends_with: ID
- """
- All values not ending with the given string.
- """
+
+ """All values not ending with the given string."""
id_not_ends_with: ID
email: String
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
email_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
email_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
email_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
email_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
email_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
email_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
email_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
email_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
email_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
email_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
email_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
email_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
password_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
password_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
password_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
password_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
password_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
password_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
password_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
password_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
password_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
password_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
password_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
password_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
name_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
name_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
name_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
name_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
name_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
name_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
name_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
name_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
name_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
name_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
name_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
name_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
resetToken_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
resetToken_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
resetToken_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
resetToken_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
resetToken_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
resetToken_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
resetToken_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
resetToken_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
resetToken_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
resetToken_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
resetToken_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
resetToken_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
resetTokenExpiry_not: String
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
resetTokenExpiry_in: [String!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
resetTokenExpiry_not_in: [String!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
resetTokenExpiry_lt: String
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
resetTokenExpiry_lte: String
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
resetTokenExpiry_gt: String
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
resetTokenExpiry_gte: String
- """
- All values containing the given string.
- """
+
+ """All values containing the given string."""
resetTokenExpiry_contains: String
- """
- All values not containing the given string.
- """
+
+ """All values not containing the given string."""
resetTokenExpiry_not_contains: String
- """
- All values starting with the given string.
- """
+
+ """All values starting with the given string."""
resetTokenExpiry_starts_with: String
- """
- All values not starting with the given string.
- """
+
+ """All values not starting with the given string."""
resetTokenExpiry_not_starts_with: String
- """
- All values ending with the given string.
- """
+
+ """All values ending with the given string."""
resetTokenExpiry_ends_with: String
- """
- All values not ending with the given 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.
- """
+
+ """All values that are not equal to given value."""
createdAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
createdAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
createdAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
createdAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
createdAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
createdAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
createdAt_gte: DateTime
updatedAt: DateTime
- """
- All values that are not equal to given value.
- """
+
+ """All values that are not equal to given value."""
updatedAt_not: DateTime
- """
- All values that are contained in given list.
- """
+
+ """All values that are contained in given list."""
updatedAt_in: [DateTime!]
- """
- All values that are not contained in given list.
- """
+
+ """All values that are not contained in given list."""
updatedAt_not_in: [DateTime!]
- """
- All values less than the given value.
- """
+
+ """All values less than the given value."""
updatedAt_lt: DateTime
- """
- All values less than or equal the given value.
- """
+
+ """All values less than or equal the given value."""
updatedAt_lte: DateTime
- """
- All values greater than the given value.
- """
+
+ """All values greater than the given value."""
updatedAt_gt: DateTime
- """
- All values greater than or equal the given value.
- """
+
+ """All values greater than or equal the given value."""
updatedAt_gte: DateTime
orders_every: OrderWhereInput
orders_some: OrderWhereInput
diff --git a/backend/src/index.js b/backend/src/index.js
index 86bba16..94911ec 100644
--- a/backend/src/index.js
+++ b/backend/src/index.js
@@ -3,6 +3,7 @@ require('dotenv').config({ path: 'variables.env' });
/* eslint-enable */
const jwt = require('jsonwebtoken');
const createServer = require('./createServer');
+const db = require('./db');
const cookieParser = require('cookie-parser');
const server = createServer();
@@ -21,9 +22,7 @@ server.express.use((req, res, next) => {
// 2. Get User from their ID
server.express.use(async (req, res, next) => {
if (!req.userId) return next();
- const user = await server
- .context()
- .db.query.user({ where: { id: req.userId } }, `{ id, permissions, email, name }`);
+ const user = await db.query.user({ where: { id: req.userId } }, `{ id, permissions, email, name }`);
req.user = user;
next();
});
diff --git a/backend/src/resolvers/Query.js b/backend/src/resolvers/Query.js
index cae19d8..51c2c42 100644
--- a/backend/src/resolvers/Query.js
+++ b/backend/src/resolvers/Query.js
@@ -3,10 +3,7 @@ const { hasPermission } = require('../utils');
const { forwardTo } = require('prisma-binding');
const Query = {
- items(parent, args, ctx, info) {
- return ctx.db.query.items({ ...args }, info);
- },
-
+ items: forwardTo('db'),
itemsConnection: forwardTo('db'),
async order(parent, args, ctx, info) {
diff --git a/backend/src/schema.graphql b/backend/src/schema.graphql
index bd60b61..fdaa04f 100644
--- a/backend/src/schema.graphql
+++ b/backend/src/schema.graphql
@@ -1,9 +1,12 @@
-# The Below line looks like a comment, but its not!
-# import Permission, Order, OrderItem, CartItem, ItemWhereInput, ItemOrderByInput, allItems, Item, ItemCreateInput, ItemOrderByInput, ItemWhereInput, Query.orders, Query.users, Query.items, Query.itemsConnection from './generated/prisma.graphql'
+# The Below line looks like a comment, but it's not!
+# import * from './generated/prisma.graphql'
type Query {
me: User
order(id: ID!): Order!
+ orders(where: OrderWhereInput, orderBy: OrderOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Order]!
+ items(where: ItemWhereInput, orderBy: ItemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Item]!
+ itemsConnection(where: ItemWhereInput, orderBy: ItemOrderByInput, first: Int, last: Int): ItemConnection!
}
type Mutation {
diff --git a/backend/variables.env.sample b/backend/variables.env.sample
index f4bb9bc..12cd06d 100644
--- a/backend/variables.env.sample
+++ b/backend/variables.env.sample
@@ -1,6 +1,4 @@
-PRISMA_STAGE="dev"
PRISMA_ENDPOINT="https://FILLMEIN"
-PRISMA_CLUSTER="prisma-us1"
PRISMA_SECRET="omgchangeme"
APP_SECRET="you-gotta-make-your-own"
STRIPE_SECRET="sk_OMGGETYOUROWN"