import type { Connection } from "mariadb"; declare global { var DSQL_DB_CONN: Connection | undefined; var DSQL_READ_ONLY_DB_CONN: Connection | undefined; var DSQL_FULL_ACCESS_DB_CONN: Connection | undefined; var DSQL_USE_LOCAL: boolean | undefined; 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 createUser from "./package-shared/actions/users/add-user"; import updateUser from "./package-shared/actions/users/update-user"; 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"; /** * User Functions Object */ // const user = { // createUser: createUser, // deleteUser, // loginUser: loginUser, // sendEmailCode: sendEmailCode, // logoutUser: logoutUser, // userAuth: userAuth, // reAuthUser: reAuthUser, // updateUser: updateUser, // getUser: getUser, // getToken: getToken, // validateToken: validateToken, // validateTempEmailCode, // social: { // loginWithGoogle: loginWithGoogle, // loginWithGithub: loginWithGithub, // }, // }; /** * 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, }, /** * 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, }; export default datasquirel;