@prodigyems/graphql-sequelize
Version:
GraphQL & Relay for MySQL & Postgres via Sequelize
38 lines (33 loc) • 1.26 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = argsToFindOptions;
var _replaceWhereOperators = require("./replaceWhereOperators");
function argsToFindOptions(args, filterableAttributes, filterableAttributesFields, allowedModels, requiredAttributes) {
var result = {};
if (args) {
Object.keys(args).forEach(function (key) {
if (typeof args[key] !== "undefined") {
if (key === "limit") {
result.limit = parseInt(args[key], 10);
} else if (key === "offset") {
result.offset = parseInt(args[key], 10);
} else if (key === "order") {
if (args[key].indexOf("reverse:") === 0) {
result.order = [[args[key].substring(8), "DESC"]];
} else {
result.order = [[args[key], "ASC"]];
}
} else if (key === "where") {
// setup where
result.where = (0, _replaceWhereOperators.replaceWhereOperators)(args.where, filterableAttributes, filterableAttributesFields, allowedModels, requiredAttributes);
} else if (~filterableAttributes.indexOf(key)) {
result.where = result.where || {};
result.where[key] = args[key];
}
}
});
}
return result;
}
;