datasquirel/index.ts
Benjamin Toby 9ca64cf25e Updates
2025-08-02 07:44:30 +01:00

111 lines
3.1 KiB
TypeScript

declare global {
var ERROR_CALLBACK: ErrorCallback | undefined;
}
import get from "./package-shared/actions/get";
import post from "./package-shared/actions/post";
import getSchema from "./package-shared/actions/get-schema";
import datasquirelClient from "./client";
import sqlGenerator from "./package-shared/functions/dsql/sql/sql-generator";
import sqlInsertGenerator from "./package-shared/functions/dsql/sql/sql-insert-generator";
import sqlDeleteGenerator from "./package-shared/functions/dsql/sql/sql-delete-generator";
import trimSql from "./package-shared/utils/trim-sql";
import parseCookies from "./package-shared/utils/backend/parseCookies";
import connDbHandler from "./package-shared/utils/db/conn-db-handler";
import encrypt from "./package-shared/functions/dsql/encrypt";
import decrypt from "./package-shared/functions/dsql/decrypt";
import hashPassword from "./package-shared/functions/dsql/hashPassword";
import dsqlCrud from "./package-shared/utils/data-fetching/crud";
import dsqlMethodCrud from "./package-shared/utils/data-fetching/method-crud";
import debugLog from "./package-shared/utils/logging/debug-log";
import { ErrorCallback } from "./package-shared/types";
import parseEnv from "./package-shared/utils/parse-env";
import crud from "./package-shared/api/crud";
import user from "./package-shared/api/user";
import localUser from "./package-shared/api/user/local-user";
import media from "./package-shared/api/media";
import dbHandler from "./package-shared/functions/backend/dbHandler";
import httpsRequest from "./package-shared/functions/backend/httpsRequest";
import handleNodemailer from "./package-shared/functions/backend/handleNodemailer";
import grabDSQLConnection from "./package-shared/utils/grab-dsql-connection";
import grabDSQLConnectionConfig from "./package-shared/utils/grab-dsql-connection-config";
/**
* API Functions Object
*/
const api = {
crud,
media,
user,
};
/**
* SQL Utils
*/
const sql = {
sqlGenerator,
sqlInsertGenerator,
sqlDeleteGenerator,
trim: trimSql,
};
/**
* Main Export
*/
const datasquirel = {
/**
* API Actions
*/
api,
/**
* Get Action
*/
get,
/**
* Post Action
*/
post,
user: localUser,
getSchema,
client: datasquirelClient,
sql,
utils: {
crypto: {
encrypt,
decrypt,
hashPassword,
},
parseCookies,
connDbHandler,
debugLog,
parseEnv,
httpsRequest,
httpRequest: httpsRequest,
grabDSQLConnection,
grabDSQLConnectionConfig,
},
/**
* Run Crud actions `get`, `insert`, `update`, `delete`
* @description *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
*/
crud: dsqlCrud,
/**
* Run Crud based on request Methods `GET`, `POST`, `PUT`, `PATCH`
* @description *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
*/
methodCrud: dsqlMethodCrud,
/**
* General Database Handler
*/
dbHandler,
/**
* Handle Mail
*/
mail: {
mailer: handleNodemailer,
},
};
export default datasquirel;