UNPKG

@forestadmin/forestadmin-client

Version:

This package contains the logic to use the ForestAdmin API inside an agent.

25 lines 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const chained_sql_query_error_1 = __importDefault(require("./errors/chained-sql-query-error")); const empty_sql_query_error_1 = __importDefault(require("./errors/empty-sql-query-error")); const non_select_sql_query_error_1 = __importDefault(require("./errors/non-select-sql-query-error")); const QUERY_SELECT = /^SELECT\s[^]*FROM\s[^]*$/i; function verifySQLQuery(inputQuery) { const inputQueryTrimmed = inputQuery?.trim(); if (!inputQueryTrimmed) { throw new empty_sql_query_error_1.default(); } if (inputQueryTrimmed.includes(';') && inputQueryTrimmed.indexOf(';') < inputQueryTrimmed.length - 1) { throw new chained_sql_query_error_1.default(); } if (!QUERY_SELECT.test(inputQueryTrimmed)) { throw new non_select_sql_query_error_1.default(); } return true; } exports.default = verifySQLQuery; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXNxbC1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy92ZXJpZnktc3FsLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0ZBQW9FO0FBQ3BFLDJGQUFnRTtBQUNoRSxxR0FBeUU7QUFFekUsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFFakQsU0FBd0IsY0FBYyxDQUFDLFVBQXlCO0lBQzlELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBRTdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN0QixNQUFNLElBQUksK0JBQWtCLEVBQUUsQ0FBQztLQUNoQztJQUVELElBQ0UsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUMvQixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDN0Q7UUFDQSxNQUFNLElBQUksaUNBQW9CLEVBQUUsQ0FBQztLQUNsQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7UUFDekMsTUFBTSxJQUFJLG9DQUFzQixFQUFFLENBQUM7S0FDcEM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFuQkQsaUNBbUJDIn0=