Updates
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import { ApiGetQueryObject } from "..";
|
||||
import sqlGenerator from "../../../package-shared/functions/dsql/sql/sql-generator";
|
||||
|
||||
type Param = {
|
||||
query: string | ApiGetQueryObject;
|
||||
values?: (string | number)[];
|
||||
};
|
||||
export default function apiGetGrabQueryAndValues({ query, values }: Param) {
|
||||
const queryGenObject =
|
||||
typeof query == "string"
|
||||
? undefined
|
||||
: sqlGenerator({
|
||||
tableName: query.table,
|
||||
genObject: query.query,
|
||||
dbFullName: query.dbFullName || "__db",
|
||||
});
|
||||
|
||||
return {
|
||||
query:
|
||||
typeof query == "string"
|
||||
? String(
|
||||
query.replace(/\n|\r|\n\r/g, "").replace(/ {2,}/g, " ")
|
||||
)
|
||||
: queryGenObject?.string || "",
|
||||
values: values || queryGenObject?.values,
|
||||
valuesString:
|
||||
typeof query == "string"
|
||||
? values
|
||||
? JSON.stringify(values)
|
||||
: undefined
|
||||
: queryGenObject?.values
|
||||
? JSON.stringify(queryGenObject.values)
|
||||
: undefined,
|
||||
};
|
||||
}
|
||||
@@ -1,26 +1,29 @@
|
||||
import https from "node:https";
|
||||
import path from "path";
|
||||
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 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 {
|
||||
DSQL_DatabaseSchemaType,
|
||||
GetReqQueryObject,
|
||||
GetReturn,
|
||||
ServerQueryParam,
|
||||
} from "../package-shared/types";
|
||||
import sqlGenerator from "../package-shared/functions/dsql/sql/sql-generator";
|
||||
} from "../../package-shared/types";
|
||||
import apiGetGrabQueryAndValues from "./(utils)/grab-query-and-values";
|
||||
|
||||
export type ApiGetQueryObject = {
|
||||
query: ServerQueryParam;
|
||||
export type ApiGetQueryObject<
|
||||
T extends { [k: string]: any } = { [k: string]: any }
|
||||
> = {
|
||||
query: ServerQueryParam<T>;
|
||||
table: string;
|
||||
dbFullName?: string;
|
||||
};
|
||||
|
||||
type Param = {
|
||||
type Param<T extends { [k: string]: any } = { [k: string]: any }> = {
|
||||
key?: string;
|
||||
db?: string;
|
||||
query: string | ApiGetQueryObject;
|
||||
query: string | ApiGetQueryObject<T>;
|
||||
queryValues?: string[];
|
||||
tableName?: string;
|
||||
useLocal?: boolean;
|
||||
@@ -33,7 +36,9 @@ export type ApiGetParams = Param;
|
||||
/**
|
||||
* # Make a get request to Datasquirel API
|
||||
*/
|
||||
export default async function get({
|
||||
export default async function get<
|
||||
T extends { [k: string]: any } = { [k: string]: any }
|
||||
>({
|
||||
key,
|
||||
db,
|
||||
query,
|
||||
@@ -42,7 +47,7 @@ export default async function get({
|
||||
useLocal,
|
||||
user_id,
|
||||
debug,
|
||||
}: Param): Promise<GetReturn> {
|
||||
}: Param<T>): Promise<GetReturn> {
|
||||
const grabedHostNames = grabHostNames();
|
||||
const { host, port, scheme } = grabedHostNames;
|
||||
|
||||
@@ -61,10 +66,7 @@ export default async function get({
|
||||
DSQL_DB_NAME?.match(/./) &&
|
||||
useLocal
|
||||
) {
|
||||
/** @type {import("../package-shared/types").DSQL_DatabaseSchemaType | undefined} */
|
||||
let dbSchema:
|
||||
| import("../package-shared/types").DSQL_DatabaseSchemaType
|
||||
| undefined;
|
||||
let dbSchema: DSQL_DatabaseSchemaType | undefined;
|
||||
|
||||
try {
|
||||
const localDbSchemaPath = path.resolve(
|
||||
@@ -95,33 +97,15 @@ export default async function get({
|
||||
* @description make a request to datasquirel.com
|
||||
*/
|
||||
const httpResponse = await new Promise((resolve, reject) => {
|
||||
const queryGenObject =
|
||||
typeof query == "string"
|
||||
? undefined
|
||||
: sqlGenerator({
|
||||
tableName: query.table,
|
||||
genObject: query.query,
|
||||
dbFullName: query.dbFullName || "__db",
|
||||
});
|
||||
const queryAndValues = apiGetGrabQueryAndValues({
|
||||
query,
|
||||
values: queryValues,
|
||||
});
|
||||
|
||||
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,
|
||||
query: queryAndValues.query,
|
||||
queryValues: queryAndValues.valuesString,
|
||||
tableName,
|
||||
debug,
|
||||
};
|
||||
Reference in New Issue
Block a user