This commit is contained in:
Benjamin Toby 2025-01-15 22:59:16 +01:00
parent a2feec6f5b
commit b18ec506b3
6 changed files with 89 additions and 23 deletions

View File

@ -1,5 +1,9 @@
import { ServerQueryParam } from "../../../types";
type Param = {
query: string;
query: string | {
query: ServerQueryParam;
table: string;
};
queryValues?: (string | number)[];
dbFullName: string;
tableName?: string;

10
dist/utils/get.d.ts vendored
View File

@ -1,14 +1,20 @@
import { GetReturn } from "../package-shared/types";
import { GetReturn, ServerQueryParam } from "../package-shared/types";
export type ApiGetQueryObject = {
query: ServerQueryParam;
table: string;
dbFullName?: string;
};
type Param = {
key?: string;
db?: string;
query: string;
query: string | ApiGetQueryObject;
queryValues?: string[];
tableName?: string;
useLocal?: boolean;
user_id?: string | number;
debug?: boolean;
};
export type ApiGetParams = Param;
/**
* # Make a get request to Datasquirel API
*/

24
dist/utils/get.js vendored
View File

@ -18,6 +18,7 @@ const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../package-shared/utils/grab-host-names"));
const get_1 = __importDefault(require("../package-shared/functions/api/query/get"));
const serialize_query_1 = __importDefault(require("../package-shared/utils/serialize-query"));
const sql_generator_1 = __importDefault(require("../package-shared/functions/dsql/sql/sql-generator"));
/**
* # Make a get request to Datasquirel API
*/
@ -62,12 +63,27 @@ function get(_a) {
* @description make a request to datasquirel.com
*/
const httpResponse = yield new Promise((resolve, reject) => {
const queryGenObject = typeof query == "string"
? undefined
: (0, sql_generator_1.default)({
tableName: query.table,
genObject: query.query,
dbFullName: query.dbFullName || "__db",
});
const queryObject = {
db: process.env.DSQL_API_DB_NAME || String(db),
query: String(query.replace(/\n|\r|\n\r/g, "").replace(/ {2,}/g, " ")),
queryValues: queryValues
? JSON.stringify(queryValues)
: undefined,
query: typeof query == "string"
? String(query
.replace(/\n|\r|\n\r/g, "")
.replace(/ {2,}/g, " "))
: (queryGenObject === null || queryGenObject === void 0 ? void 0 : queryGenObject.string) || "",
queryValues: typeof query == "string"
? queryValues
? JSON.stringify(queryValues)
: undefined
: (queryGenObject === null || queryGenObject === void 0 ? void 0 : queryGenObject.values)
? JSON.stringify(queryGenObject.values)
: undefined,
tableName,
debug,
};

View File

@ -3,10 +3,19 @@
import _ from "lodash";
import serverError from "../../backend/serverError";
import runQuery from "../../backend/db/runQuery";
import { DSQL_TableSchemaType, GetReturn } from "../../../types";
import {
DSQL_TableSchemaType,
GetReturn,
ServerQueryParam,
} from "../../../types";
type Param = {
query: string;
query:
| string
| {
query: ServerQueryParam;
table: string;
};
queryValues?: (string | number)[];
dbFullName: string;
tableName?: string;

View File

@ -1,6 +1,6 @@
{
"name": "@moduletrace/datasquirel",
"version": "3.6.7",
"version": "3.6.8",
"description": "Cloud-based SQL data management tool",
"main": "dist/index.js",
"bin": {

View File

@ -4,12 +4,23 @@ import fs from "fs";
import grabHostNames from "../package-shared/utils/grab-host-names";
import apiGet from "../package-shared/functions/api/query/get";
import serializeQuery from "../package-shared/utils/serialize-query";
import { GetReturn } from "../package-shared/types";
import {
GetReqQueryObject,
GetReturn,
ServerQueryParam,
} from "../package-shared/types";
import sqlGenerator from "../package-shared/functions/dsql/sql/sql-generator";
export type ApiGetQueryObject = {
query: ServerQueryParam;
table: string;
dbFullName?: string;
};
type Param = {
key?: string;
db?: string;
query: string;
query: string | ApiGetQueryObject;
queryValues?: string[];
tableName?: string;
useLocal?: boolean;
@ -17,6 +28,8 @@ type Param = {
debug?: boolean;
};
export type ApiGetParams = Param;
/**
* # Make a get request to Datasquirel API
*/
@ -82,18 +95,36 @@ export default async function get({
* @description make a request to datasquirel.com
*/
const httpResponse = await new Promise((resolve, reject) => {
const queryObject: import("../package-shared/types").GetReqQueryObject =
{
db: process.env.DSQL_API_DB_NAME || String(db),
query: String(
query.replace(/\n|\r|\n\r/g, "").replace(/ {2,}/g, " ")
),
queryValues: queryValues
? JSON.stringify(queryValues)
const queryGenObject =
typeof query == "string"
? undefined
: sqlGenerator({
tableName: query.table,
genObject: query.query,
dbFullName: query.dbFullName || "__db",
});
const queryObject: GetReqQueryObject = {
db: process.env.DSQL_API_DB_NAME || String(db),
query:
typeof query == "string"
? String(
query
.replace(/\n|\r|\n\r/g, "")
.replace(/ {2,}/g, " ")
)
: queryGenObject?.string || "",
queryValues:
typeof query == "string"
? queryValues
? JSON.stringify(queryValues)
: undefined
: queryGenObject?.values
? JSON.stringify(queryGenObject.values)
: undefined,
tableName,
debug,
};
tableName,
debug,
};
if (debug) {
console.log("apiGet:queryObject", queryObject);