mirror of
https://github.com/Ratstail91/sineQL.git
synced 2025-11-28 18:24:28 +11:00
Tweaked error handling
This commit is contained in:
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "sineql",
|
||||
"version": "0.5.2",
|
||||
"version": "0.5.3",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "sineql",
|
||||
"version": "0.5.2",
|
||||
"version": "0.5.3",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"jest": "^27.5.1"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "sineql",
|
||||
"version": "0.5.2",
|
||||
"version": "0.5.3",
|
||||
"description": "A simple to use graphQL clone",
|
||||
"main": "source/index.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -23,8 +23,8 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
//parse the query
|
||||
const tokens = parseInput(reqBody, true, options);
|
||||
|
||||
//check for leading keywords (create, update, delete)
|
||||
switch(tokens[0]) {
|
||||
//check for leading keywords
|
||||
case 'create': {
|
||||
if (!createHandlers) {
|
||||
return [405, 'Create handlers not implemented'];
|
||||
@@ -36,10 +36,21 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
|
||||
const createTree = parseCreateTree(tokens, typeGraph, options);
|
||||
|
||||
try {
|
||||
const result = await createHandlers[tokens[1]](createTree, typeGraph);
|
||||
|
||||
if (options.debug) {
|
||||
console.log('Create tree results:');
|
||||
console.dir(result, { depth: null });
|
||||
}
|
||||
|
||||
return [200, result];
|
||||
}
|
||||
catch(e) {
|
||||
console.error('Create error:', e);
|
||||
return [400, e];
|
||||
}
|
||||
}
|
||||
|
||||
case 'update': {
|
||||
if (!updateHandlers) {
|
||||
@@ -52,10 +63,21 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
|
||||
const updateTree = parseUpdateTree(tokens, typeGraph, options);
|
||||
|
||||
try {
|
||||
const result = await updateHandlers[tokens[1]](updateTree, typeGraph);
|
||||
|
||||
if (options.debug) {
|
||||
console.log('Update tree results:');
|
||||
console.dir(result, { depth: null });
|
||||
}
|
||||
|
||||
return [200, result];
|
||||
}
|
||||
catch(e) {
|
||||
console.error('Update error:', e);
|
||||
return [400, e];
|
||||
}
|
||||
}
|
||||
|
||||
case 'delete': {
|
||||
if (!deleteHandlers) {
|
||||
@@ -68,10 +90,21 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
|
||||
const deleteTree = parseDeleteTree(tokens, typeGraph, options);
|
||||
|
||||
try {
|
||||
const result = await deleteHandlers[tokens[1]](deleteTree, typeGraph);
|
||||
|
||||
if (options.debug) {
|
||||
console.log('Delete tree results:');
|
||||
console.dir(result, { depth: null });
|
||||
}
|
||||
|
||||
return [200, result];
|
||||
}
|
||||
catch(e) {
|
||||
console.error('Delete error:', e);
|
||||
return [400, e];
|
||||
}
|
||||
}
|
||||
|
||||
//no leading keyword - regular query
|
||||
default: {
|
||||
@@ -85,6 +118,7 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
|
||||
const queryTree = parseQueryTree(tokens, typeGraph, options);
|
||||
|
||||
try {
|
||||
const result = await queryHandlers[queryTree.typeName](queryTree, typeGraph);
|
||||
|
||||
if (options.debug) {
|
||||
@@ -94,10 +128,15 @@ const sineQL = (schema, { queryHandlers, createHandlers, updateHandlers, deleteH
|
||||
|
||||
return [200, result];
|
||||
}
|
||||
catch(e) {
|
||||
console.error('Query error:', e);
|
||||
return [400, e];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e) {
|
||||
console.error('Error:', e);
|
||||
console.error('Input error:', e);
|
||||
return [400, e];
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user