47 lines
1.1 KiB
TypeScript
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;
|
|
}
|