"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * Imports
 */
const get_1 = __importDefault(require("./utils/get"));
const post_1 = __importDefault(require("./utils/post"));
const get_schema_1 = __importDefault(require("./utils/get-schema"));
const upload_image_1 = __importDefault(require("./utils/upload-image"));
const upload_file_1 = __importDefault(require("./utils/upload-file"));
const delete_file_1 = __importDefault(require("./utils/delete-file"));
const add_user_1 = __importDefault(require("./users/add-user"));
const update_user_1 = __importDefault(require("./users/update-user"));
const login_user_1 = __importDefault(require("./users/login-user"));
const send_email_code_1 = __importDefault(require("./users/send-email-code"));
const logout_user_1 = __importDefault(require("./users/logout-user"));
const user_auth_1 = __importDefault(require("./users/user-auth"));
const reauth_user_1 = __importDefault(require("./users/reauth-user"));
const get_user_1 = __importDefault(require("./users/get-user"));
const google_auth_1 = __importDefault(require("./users/social/google-auth"));
const github_auth_1 = __importDefault(require("./users/social/github-auth"));
const get_token_1 = __importDefault(require("./users/get-token"));
const validate_token_1 = __importDefault(require("./users/validate-token"));
const client_1 = __importDefault(require("./client"));
const sql_generator_1 = __importDefault(require("./package-shared/functions/dsql/sql/sql-generator"));
const sql_insert_generator_1 = __importDefault(require("./package-shared/functions/dsql/sql/sql-insert-generator"));
const sql_delete_generator_1 = __importDefault(require("./package-shared/functions/dsql/sql/sql-delete-generator"));
const trim_sql_1 = __importDefault(require("./package-shared/utils/trim-sql"));
const parseCookies_1 = __importDefault(require("./package-shared/utils/backend/parseCookies"));
const httpRequest_1 = __importDefault(require("./package-shared/functions/backend/httpRequest"));
const conn_db_handler_1 = __importDefault(require("./package-shared/utils/db/conn-db-handler"));
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
/**
 * User Functions Object
 */
const user = {
    createUser: add_user_1.default,
    deleteUser: require("./users/delete-user"),
    loginUser: login_user_1.default,
    sendEmailCode: send_email_code_1.default,
    logoutUser: logout_user_1.default,
    userAuth: user_auth_1.default,
    reAuthUser: reauth_user_1.default,
    updateUser: update_user_1.default,
    getUser: get_user_1.default,
    getToken: get_token_1.default,
    validateToken: validate_token_1.default,
    validateTempEmailCode: require("./users/validate-temp-email-code"),
    social: {
        loginWithGoogle: google_auth_1.default,
        loginWithGithub: github_auth_1.default,
    },
};
/**
 * Media Functions Object
 */
const media = {
    uploadImage: upload_image_1.default,
    uploadFile: upload_file_1.default,
    deleteFile: delete_file_1.default,
};
/**
 * SQL Utils
 */
const sql = {
    sqlGenerator: sql_generator_1.default,
    sqlInsertGenerator: sql_insert_generator_1.default,
    sqlDeleteGenerator: sql_delete_generator_1.default,
    trim: trim_sql_1.default,
};
/**
 * Main Export
 */
const datasquirel = {
    get: get_1.default,
    post: post_1.default,
    media,
    user,
    getSchema: get_schema_1.default,
    client: client_1.default,
    sql,
    utils: {
        crypto: {
            encrypt: require("./package-shared/functions/dsql/encrypt"),
            decrypt: require("./package-shared/functions/dsql/decrypt"),
            hash: require("./package-shared/functions/dsql/hashPassword"),
        },
        parseCookies: parseCookies_1.default,
        httpRequest: httpRequest_1.default,
        connDbHandler: conn_db_handler_1.default,
    },
};
exports.default = datasquirel;