import { ServerlessMysql } from "serverless-mysql"; declare global { var DSQL_DB_CONN: ServerlessMysql | undefined; var DSQL_READ_ONLY_DB_CONN: ServerlessMysql | undefined; var DSQL_FULL_ACCESS_DB_CONN: ServerlessMysql | 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 uploadImage from "./package-shared/actions/upload-image"; import uploadFile from "./package-shared/actions/upload-file"; import deleteFile from "./package-shared/actions/delete-file"; import createUser from "./package-shared/actions/users/add-user"; import updateUser from "./package-shared/actions/users/update-user"; import loginUser from "./package-shared/actions/users/login-user"; import sendEmailCode from "./package-shared/actions/users/send-email-code"; import logoutUser from "./package-shared/actions/users/logout-user"; import userAuth from "./package-shared/actions/users/user-auth"; import reAuthUser from "./package-shared/actions/users/reauth-user"; import getUser from "./package-shared/actions/users/get-user"; import loginWithGoogle from "./package-shared/actions/users/social/google-auth"; import loginWithGithub from "./package-shared/actions/users/social/github-auth"; import getToken from "./package-shared/actions/users/get-token"; import validateToken from "./package-shared/actions/users/validate-token"; 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 httpRequest from "./package-shared/functions/backend/httpRequest"; 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 validateTempEmailCode from "./package-shared/actions/users/validate-temp-email-code"; import deleteUser from "./package-shared/actions/users/delete-user"; 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"; /** * 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, }, }; /** * Media Functions Object */ const media = { uploadImage: uploadImage, uploadFile: uploadFile, deleteFile: deleteFile, }; /** * SQL Utils */ const sql = { sqlGenerator, sqlInsertGenerator, sqlDeleteGenerator, trim: trimSql, }; /** * Main Export */ const datasquirel = { /** * Get Action */ get, /** * Post Action */ post, media, user, getSchema, client: datasquirelClient, sql, utils: { crypto: { encrypt, decrypt, hashPassword, }, parseCookies, httpRequest, connDbHandler, debugLog, }, /** * Run Crud actions `get`, `insert`, `update`, `delete` * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN` */ crud: dsqlCrud, /** * Run Crud based on request Methods `GET`, `POST`, `PUT`, `PATCH` * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN` */ methodCrud: dsqlMethodCrud, }; export default datasquirel;