datasquirel/package-shared/functions/api/query/get.ts
Benjamin Toby c37d105dee Updates
2025-07-09 20:30:45 +01:00

47 lines
1.1 KiB
TypeScript

import _ from "lodash";
import { DbContextsArray } from "../../backend/db/runQuery";
import {
DSQL_DatabaseSchemaType,
DsqlCrudQueryObject,
GetReturn,
} from "../../../types";
import sqlGenerator from "../../dsql/sql/sql-generator";
import dsqlCrud from "../../../utils/data-fetching/crud";
type Param<T extends { [key: string]: any } = { [key: string]: any }> = {
query: DsqlCrudQueryObject<T>;
dbFullName: string;
tableName: string;
dbSchema?: DSQL_DatabaseSchemaType;
debug?: boolean;
dbContext?: (typeof DbContextsArray)[number];
};
/**
* # Get Function FOr API
*/
export default async function apiGet<
T extends { [key: string]: any } = { [key: string]: any }
>({
query,
dbFullName,
tableName,
dbSchema,
debug,
}: Param<T>): Promise<GetReturn> {
const queryAndValues = sqlGenerator({
tableName,
genObject: query,
dbFullName,
});
const result = await dsqlCrud({
action: "get",
table: tableName,
dbFullName,
query,
});
return result;
}