"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const get_1 = __importDefault(require("./package-shared/actions/get"));
const post_1 = __importDefault(require("./package-shared/actions/post"));
const get_schema_1 = __importDefault(require("./package-shared/actions/get-schema"));
const upload_image_1 = __importDefault(require("./package-shared/actions/upload-image"));
const upload_file_1 = __importDefault(require("./package-shared/actions/upload-file"));
const delete_file_1 = __importDefault(require("./package-shared/actions/delete-file"));
const add_user_1 = __importDefault(require("./package-shared/actions/users/add-user"));
const update_user_1 = __importDefault(require("./package-shared/actions/users/update-user"));
const login_user_1 = __importDefault(require("./package-shared/actions/users/login-user"));
const send_email_code_1 = __importDefault(require("./package-shared/actions/users/send-email-code"));
const logout_user_1 = __importDefault(require("./package-shared/actions/users/logout-user"));
const user_auth_1 = __importDefault(require("./package-shared/actions/users/user-auth"));
const reauth_user_1 = __importDefault(require("./package-shared/actions/users/reauth-user"));
const get_user_1 = __importDefault(require("./package-shared/actions/users/get-user"));
const google_auth_1 = __importDefault(require("./package-shared/actions/users/social/google-auth"));
const github_auth_1 = __importDefault(require("./package-shared/actions/users/social/github-auth"));
const get_token_1 = __importDefault(require("./package-shared/actions/users/get-token"));
const validate_token_1 = __importDefault(require("./package-shared/actions/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"));
const encrypt_1 = __importDefault(require("./package-shared/functions/dsql/encrypt"));
const decrypt_1 = __importDefault(require("./package-shared/functions/dsql/decrypt"));
const hashPassword_1 = __importDefault(require("./package-shared/functions/dsql/hashPassword"));
const validate_temp_email_code_1 = __importDefault(require("./package-shared/actions/users/validate-temp-email-code"));
const delete_user_1 = __importDefault(require("./package-shared/actions/users/delete-user"));
const crud_1 = __importDefault(require("./package-shared/utils/data-fetching/crud"));
const method_crud_1 = __importDefault(require("./package-shared/utils/data-fetching/method-crud"));
const debug_log_1 = __importDefault(require("./package-shared/utils/logging/debug-log"));
/**
 * User Functions Object
 */
const user = {
    createUser: add_user_1.default,
    deleteUser: delete_user_1.default,
    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: validate_temp_email_code_1.default,
    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 Action
     */
    get: get_1.default,
    /**
     * Post Action
     */
    post: post_1.default,
    media,
    user,
    getSchema: get_schema_1.default,
    client: client_1.default,
    sql,
    utils: {
        crypto: {
            encrypt: encrypt_1.default,
            decrypt: decrypt_1.default,
            hashPassword: hashPassword_1.default,
        },
        parseCookies: parseCookies_1.default,
        httpRequest: httpRequest_1.default,
        connDbHandler: conn_db_handler_1.default,
        debugLog: debug_log_1.default,
    },
    /**
     * Run Crud actions `get`, `insert`, `update`, `delete`
     * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
     */
    crud: crud_1.default,
    /**
     * Run Crud based on request Methods `GET`, `POST`, `PUT`, `PATCH`
     * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
     */
    methodCrud: method_crud_1.default,
};
exports.default = datasquirel;