diff --git a/.gitignore b/.gitignore index 78e020f..35b607c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ -node_modules -build -coverage -.vscode .DS_STORE .env -tmp \ No newline at end of file +.idea/ +.vscode +build +coverage +node_modules +tmp diff --git a/build/.adonisrc.json b/build/.adonisrc.json index e498125..1397e18 100644 --- a/build/.adonisrc.json +++ b/build/.adonisrc.json @@ -25,5 +25,5 @@ ".env", ".adonisrc.json" ], - "lastCompiledAt": "2020-10-02T00:37:05.260Z" + "lastCompiledAt": "2020-10-04T19:46:24.661Z" } diff --git a/build/start/routes.js b/build/start/routes.js index fd3da34..b987da9 100644 --- a/build/start/routes.js +++ b/build/start/routes.js @@ -5,12 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const Route_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Core/Route")); Route_1.default.get('/', async () => { - return { hello: 'world' }; + return 'Did you mean to open /graphiql'; }); const { graphiqlAdonis, graphqlAdonis } = require('apollo-server-adonis'); const { makeExecutableSchema } = require('graphql-tools'); -const Database_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Lucid/Database")); -let careers = Database_1.default.query().from('careers'); const typeDefs = ` type Career { email: String @@ -25,18 +23,20 @@ const typeDefs = ` } `; const Career_1 = __importDefault(global[Symbol.for('ioc.use')]("App/Models/Career")); +const Database_1 = __importDefault(global[Symbol.for('ioc.use')]("Adonis/Lucid/Database")); const resolvers = { Query: { - careers: () => careers, - career: () => careers.paginate(1, 1), + careers: async () => await Database_1.default.query().from('careers'), + career: async () => await Database_1.default.query().from('careers').limit(1), }, Mutation: { - createCareer: (root, args) => { + createCareer: async (root, args) => { void (root); const career = new Career_1.default(); career.email = args.email.toString(); career.description = args.description.toString(); - career.save(); + const result = await career.save(); + return result.toString(); }, }, }; diff --git a/build/start/routes.js.map b/build/start/routes.js.map index 9e7960f..e375257 100644 --- a/build/start/routes.js.map +++ b/build/start/routes.js.map @@ -1 +1 @@ -{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../start/routes.ts"],"names":[],"mappings":";;;;;AAoBA,oFAA0C;AAE1C,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;IACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;AAEzE,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAIzD,2FAAiD;AACjD,IAAI,OAAO,GAAG,kBAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAG9C,MAAM,QAAQ,GAAG;;;;;;;;;;;;CAYhB,CAAA;AAED,qFAAsC;AACtC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;KACrC;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC3B,KAAI,CAAC,IAAI,CAAC,CAAA;YACV,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAA;YAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;YACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YAChD,MAAM,CAAC,IAAI,EAAE,CAAA;QACf,CAAC;KACF;CACF,CAAA;AAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;AAE5D,eAAK,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,MAAM,EAAE,MAAM;CACf,CAAC,CAAC,CAAA;AACH,eAAK,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;IAClC,MAAM,EAAE,MAAM;CACf,CAAC,CAAC,CAAA;AAEH,eAAK,CAAC,GAAG,CACP,WAAW,EACX,cAAc,CAAC;IACb,WAAW,EAAE,UAAU;CACxB,CAAC,CACH,CAAA"} \ No newline at end of file +{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../start/routes.ts"],"names":[],"mappings":";;;;;AAoBA,oFAA0C;AAE1C,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;IACxB,OAAO,gCAAgC,CAAA;AACzC,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;AAEzE,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAGzD,MAAM,QAAQ,GAAG;;;;;;;;;;;;CAYhB,CAAA;AAED,qFAAsC;AAEtC,2FAAiD;AAEjD,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,kBAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3D,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,kBAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KACpE;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YACjC,KAAI,CAAC,IAAI,CAAC,CAAA;YACV,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAA;YAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;YACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAClC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC1B,CAAC;KACF;CACF,CAAA;AAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;AAE5D,eAAK,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,MAAM,EAAE,MAAM;CACf,CAAC,CAAC,CAAA;AACH,eAAK,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;IAClC,MAAM,EAAE,MAAM;CACf,CAAC,CAAC,CAAA;AAEH,eAAK,CAAC,GAAG,CACP,WAAW,EACX,cAAc,CAAC;IACb,WAAW,EAAE,UAAU;CACxB,CAAC,CACH,CAAA"} \ No newline at end of file diff --git a/start/routes.ts b/start/routes.ts index 4567139..06c8cc4 100644 --- a/start/routes.ts +++ b/start/routes.ts @@ -21,18 +21,13 @@ import Route from '@ioc:Adonis/Core/Route' Route.get('/', async () => { - return { hello: 'world' } + return 'Did you mean to open /graphiql' }) const { graphiqlAdonis, graphqlAdonis } = require('apollo-server-adonis') const { makeExecutableSchema } = require('graphql-tools') -// database without async/await in router is too slow -// move this code into a controller -import Database from '@ioc:Adonis/Lucid/Database' -let careers = Database.query().from('careers') - // GraphQL schema in string form const typeDefs = ` type Career { @@ -49,18 +44,22 @@ const typeDefs = ` ` import Career from 'App/Models/Career' +// move this code into a controller +import Database from '@ioc:Adonis/Lucid/Database' + const resolvers = { Query: { - careers: () => careers, - career: () => careers.paginate(1, 1), + careers: async () => await Database.query().from('careers'), + career: async () => await Database.query().from('careers').limit(1), }, Mutation: { - createCareer: (root, args) => { //(root, args, context, info) + createCareer: async (root, args) => { //(root, args, context, info) void(root) // syntax sugar to lint unused param const career = new Career() career.email = args.email.toString() career.description = args.description.toString() - career.save() + const result = await career.save() + return result.toString() }, }, }