This commit is contained in:
Benjamin Toby 2025-07-09 20:30:45 +01:00
parent ccb5605b58
commit c37d105dee
264 changed files with 2389 additions and 3743 deletions

View File

@ -1,17 +1,16 @@
import { ApiGetQueryObject, GetReturn } from "../types"; import { APIResponseObject, DsqlCrudQueryObject } from "../types";
type Param<T extends { type Param<T extends {
[k: string]: any; [k: string]: any;
} = { } = {
[k: string]: any; [k: string]: any;
}> = { }> = {
key?: string; key?: string;
db?: string; database: string;
query: string | ApiGetQueryObject<T>; query: DsqlCrudQueryObject<T>;
queryValues?: string[]; table?: string;
tableName?: string;
user_id?: string | number;
debug?: boolean; debug?: boolean;
forceLocal?: boolean; useLocal?: boolean;
apiVersion?: string;
}; };
export type ApiGetParams = Param; export type ApiGetParams = Param;
/** /**
@ -21,5 +20,5 @@ export default function get<T extends {
[k: string]: any; [k: string]: any;
} = { } = {
[k: string]: any; [k: string]: any;
}, R extends any = any>({ key, db, query, queryValues, tableName, user_id, debug, forceLocal, }: Param<T>): Promise<GetReturn<R>>; }, R extends any = any>({ key, database, query, table, debug, useLocal, apiVersion, }: Param<T>): Promise<APIResponseObject<R>>;
export {}; export {};

View File

@ -13,18 +13,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = get; exports.default = get;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../utils/grab-host-names"));
const get_1 = __importDefault(require("../functions/api/query/get"));
const serialize_query_1 = __importDefault(require("../utils/serialize-query")); const serialize_query_1 = __importDefault(require("../utils/serialize-query"));
const grab_query_and_values_1 = __importDefault(require("../utils/grab-query-and-values"));
const debug_log_1 = __importDefault(require("../utils/logging/debug-log")); const debug_log_1 = __importDefault(require("../utils/logging/debug-log"));
const crud_1 = __importDefault(require("../utils/data-fetching/crud"));
const grab_api_key_1 = __importDefault(require("../utils/grab-api-key"));
/** /**
* # Make a get request to Datasquirel API * # Make a get request to Datasquirel API
*/ */
function get(_a) { function get(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, db, query, queryValues, tableName, user_id, debug, forceLocal, }) { return __awaiter(this, arguments, void 0, function* ({ key, database, query, table, debug, useLocal, apiVersion = "v1", }) {
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
function debugFn(log, label) { function debugFn(log, label) {
@ -36,25 +34,14 @@ function get(_a) {
* @description Look for local db settings in `.env` file and by pass the http request if available * @description Look for local db settings in `.env` file and by pass the http request if available
*/ */
const { DSQL_DB_NAME } = process.env; const { DSQL_DB_NAME } = process.env;
if ((DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) && global.DSQL_USE_LOCAL) { if (useLocal) {
let dbSchema; const result = yield (0, crud_1.default)({
try { action: "get",
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json"); table: table || "",
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8")); dbFullName: database,
}
catch (error) { }
if (debug) {
debugFn("Running Locally ...");
}
return yield (0, get_1.default)({
dbFullName: DSQL_DB_NAME,
query, query,
queryValues,
tableName,
dbSchema,
debug,
forceLocal,
}); });
return result;
} }
/** /**
* Make https request * Make https request
@ -62,25 +49,11 @@ function get(_a) {
* @description make a request to datasquirel.com * @description make a request to datasquirel.com
*/ */
const httpResponse = yield new Promise((resolve, reject) => { const httpResponse = yield new Promise((resolve, reject) => {
const queryAndValues = (0, grab_query_and_values_1.default)({ const queryString = (0, serialize_query_1.default)(query);
query,
values: queryValues,
});
const queryObject = {
db: process.env.DSQL_API_DB_NAME || String(db),
query: queryAndValues.query,
queryValues: queryAndValues.valuesString,
tableName,
debug,
};
if (debug) {
debugFn(queryObject, "queryObject");
}
const queryString = (0, serialize_query_1.default)(Object.assign({}, queryObject));
if (debug) { if (debug) {
debugFn(queryString, "queryString"); debugFn(queryString, "queryString");
} }
let path = `/api/query/${user_id || grabedHostNames.user_id}/get${queryString}`; let path = `/api/${apiVersion}/crud/${database}/${table}`;
if (debug) { if (debug) {
debugFn(path, "path"); debugFn(path, "path");
} }
@ -88,10 +61,7 @@ function get(_a) {
method: "GET", method: "GET",
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
Authorization: key || Authorization: (0, grab_api_key_1.default)(key),
process.env.DSQL_READ_ONLY_API_KEY ||
process.env.DSQL_FULL_ACCESS_API_KEY ||
process.env.DSQL_API_KEY,
}, },
port, port,
hostname: host, hostname: host,
@ -113,7 +83,7 @@ function get(_a) {
try { try {
resolve(JSON.parse(str)); resolve(JSON.parse(str));
} }
catch ( /** @type {any} */error) { catch (error) {
reject({ reject({
error: error.message, error: error.message,
result: str, result: str,

View File

@ -6,11 +6,11 @@ type Param = {
queryValues?: any[]; queryValues?: any[];
tableName?: string; tableName?: string;
user_id?: boolean; user_id?: boolean;
forceLocal?: boolean; useLocal?: boolean;
debug?: boolean; debug?: boolean;
}; };
/** /**
* # Make a post request to Datasquirel API * # Make a post request to Datasquirel API
*/ */
export default function post({ key, query, queryValues, database, tableName, user_id, forceLocal, debug, }: Param): Promise<PostReturn>; export default function post({ key, query, queryValues, database, tableName, user_id, useLocal, debug, }: Param): Promise<PostReturn>;
export {}; export {};

View File

@ -14,8 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = post; exports.default = post;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../utils/grab-host-names"));
const post_1 = __importDefault(require("../functions/api/query/post")); const post_1 = __importDefault(require("../functions/api/query/post"));
const debug_log_1 = __importDefault(require("../utils/logging/debug-log")); const debug_log_1 = __importDefault(require("../utils/logging/debug-log"));
@ -23,7 +21,7 @@ const debug_log_1 = __importDefault(require("../utils/logging/debug-log"));
* # Make a post request to Datasquirel API * # Make a post request to Datasquirel API
*/ */
function post(_a) { function post(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, query, queryValues, database, tableName, user_id, forceLocal, debug, }) { return __awaiter(this, arguments, void 0, function* ({ key, query, queryValues, database, tableName, user_id, useLocal, debug, }) {
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
if (debug) { if (debug) {
@ -39,18 +37,7 @@ function post(_a) {
* @description Look for local db settings in `.env` file and by pass the http request if available * @description Look for local db settings in `.env` file and by pass the http request if available
*/ */
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } = process.env; const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } = process.env;
if ((DSQL_DB_HOST === null || DSQL_DB_HOST === void 0 ? void 0 : DSQL_DB_HOST.match(/./)) && if (useLocal) {
(DSQL_DB_USERNAME === null || DSQL_DB_USERNAME === void 0 ? void 0 : DSQL_DB_USERNAME.match(/./)) &&
(DSQL_DB_PASSWORD === null || DSQL_DB_PASSWORD === void 0 ? void 0 : DSQL_DB_PASSWORD.match(/./)) &&
(DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) &&
global.DSQL_USE_LOCAL) {
/** @type {import("../types").DSQL_DatabaseSchemaType | undefined} */
let dbSchema;
try {
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json");
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8"));
}
catch (error) { }
if (debug) { if (debug) {
(0, debug_log_1.default)({ (0, debug_log_1.default)({
log: "Using Local DB ...", log: "Using Local DB ...",
@ -58,12 +45,10 @@ function post(_a) {
}); });
} }
return yield (0, post_1.default)({ return yield (0, post_1.default)({
dbFullName: database || DSQL_DB_NAME, dbFullName: database || "",
query, query,
dbSchema,
queryValues, queryValues,
tableName, tableName,
forceLocal,
debug, debug,
}); });
} }
@ -73,7 +58,6 @@ function post(_a) {
* @description make a request to datasquirel.com * @description make a request to datasquirel.com
*/ */
const httpResponse = yield new Promise((resolve, reject) => { const httpResponse = yield new Promise((resolve, reject) => {
var _a;
const reqPayloadString = JSON.stringify({ const reqPayloadString = JSON.stringify({
query, query,
queryValues, queryValues,
@ -84,7 +68,7 @@ function post(_a) {
JSON.parse(reqPayloadString); JSON.parse(reqPayloadString);
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Parsing HTTP response for post action`, error); console.log("Error Parsing HTTP response for post action: ", error.message);
return { return {
success: false, success: false,
payload: null, payload: null,

View File

@ -19,7 +19,6 @@ const grab_host_names_1 = __importDefault(require("../utils/grab-host-names"));
*/ */
function uploadImage(_a) { function uploadImage(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, payload, user_id, useDefault, }) { return __awaiter(this, arguments, void 0, function* ({ key, payload, user_id, useDefault, }) {
var _b;
const grabedHostNames = (0, grab_host_names_1.default)({ useDefault }); const grabedHostNames = (0, grab_host_names_1.default)({ useDefault });
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
try { try {
@ -67,7 +66,6 @@ function uploadImage(_a) {
} }
catch (error) { catch (error) {
console.log("Error in uploading file: ", error.message); console.log("Error in uploading file: ", error.message);
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Uploading File`, error);
return { return {
success: false, success: false,
payload: null, payload: null,

View File

@ -19,7 +19,6 @@ const grab_host_names_1 = __importDefault(require("../utils/grab-host-names"));
*/ */
function uploadImage(_a) { function uploadImage(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, payload, user_id, useDefault, }) { return __awaiter(this, arguments, void 0, function* ({ key, payload, user_id, useDefault, }) {
var _b;
const grabedHostNames = (0, grab_host_names_1.default)({ useDefault }); const grabedHostNames = (0, grab_host_names_1.default)({ useDefault });
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
try { try {
@ -67,7 +66,6 @@ function uploadImage(_a) {
} }
catch (error) { catch (error) {
console.log("Error in uploading image: ", error.message); console.log("Error in uploading image: ", error.message);
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Uploading Image`, error);
return { return {
success: false, success: false,
payload: null, payload: null,

View File

@ -1,15 +1,14 @@
import { AddUserFunctionReturn, UserDataPayload } from "../../types"; import { AddUserFunctionReturn, UserDataPayload } from "../../types";
type Param = { type Param = {
key?: string; key?: string;
database?: string; database: string;
payload: UserDataPayload; payload: UserDataPayload;
encryptionKey?: string; encryptionKey?: string;
encryptionSalt?: string; useLocal?: boolean;
user_id?: string | number; verify?: boolean;
apiUserId?: string | number;
}; };
/** /**
* # Add User to Database * # Add User to Database
*/ */
export default function addUser({ key, payload, database, encryptionKey, user_id, apiUserId, }: Param): Promise<AddUserFunctionReturn>; export default function addUser({ key, payload, database, encryptionKey, useLocal, verify, }: Param): Promise<AddUserFunctionReturn>;
export {}; export {};

View File

@ -13,40 +13,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addUser; exports.default = addUser;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names"));
const api_create_user_1 = __importDefault(require("../../functions/api/users/api-create-user")); const api_create_user_1 = __importDefault(require("../../functions/api/users/api-create-user"));
/** /**
* # Add User to Database * # Add User to Database
*/ */
function addUser(_a) { function addUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, payload, database, encryptionKey, user_id, apiUserId, }) { return __awaiter(this, arguments, void 0, function* ({ key, payload, database, encryptionKey, useLocal, verify, }) {
/**
* Check for local DB settings
*
* @description Look for local db settings in `.env` file and by pass the http request if available
*/
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME, DSQL_API_USER_ID, } = process.env;
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
if ((DSQL_DB_HOST === null || DSQL_DB_HOST === void 0 ? void 0 : DSQL_DB_HOST.match(/./)) && if (useLocal) {
(DSQL_DB_USERNAME === null || DSQL_DB_USERNAME === void 0 ? void 0 : DSQL_DB_USERNAME.match(/./)) &&
(DSQL_DB_PASSWORD === null || DSQL_DB_PASSWORD === void 0 ? void 0 : DSQL_DB_PASSWORD.match(/./)) &&
(DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) &&
global.DSQL_USE_LOCAL) {
/** @type {import("../../types").DSQL_DatabaseSchemaType | undefined} */
let dbSchema;
try {
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json");
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8"));
}
catch (error) { }
return yield (0, api_create_user_1.default)({ return yield (0, api_create_user_1.default)({
database: DSQL_DB_NAME, database,
encryptionKey, encryptionKey,
payload, payload,
userId: apiUserId, verify,
}); });
} }
/** /**
@ -71,7 +52,7 @@ function addUser(_a) {
}, },
port, port,
hostname: host, hostname: host,
path: `/api/user/${user_id || grabedHostNames.user_id}/add-user`, path: ``,
}, },
/** /**
* Callback Function * Callback Function

View File

@ -1,12 +1,13 @@
import { UpdateUserFunctionReturn } from "../../types"; import { UpdateUserFunctionReturn } from "../../types";
type Param = { type Param = {
key?: string; key?: string;
database?: string; database: string;
deletedUserId: string | number; deletedUserId: string | number;
user_id?: boolean; useLocal?: boolean;
apiVersion?: string;
}; };
/** /**
* # Update User * # Update User
*/ */
export default function deleteUser({ key, database, user_id, deletedUserId, }: Param): Promise<UpdateUserFunctionReturn>; export default function deleteUser({ key, database, deletedUserId, useLocal, apiVersion, }: Param): Promise<UpdateUserFunctionReturn>;
export {}; export {};

View File

@ -13,37 +13,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = deleteUser; exports.default = deleteUser;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names"));
const api_delete_user_1 = __importDefault(require("../../functions/api/users/api-delete-user")); const api_delete_user_1 = __importDefault(require("../../functions/api/users/api-delete-user"));
/** /**
* # Update User * # Update User
*/ */
function deleteUser(_a) { function deleteUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, database, user_id, deletedUserId, }) { return __awaiter(this, arguments, void 0, function* ({ key, database, deletedUserId, useLocal, apiVersion = "v1", }) {
/**
* Check for local DB settings
*
* @description Look for local db settings in `.env` file and by pass the http request if available
*/
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } = process.env;
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
if ((DSQL_DB_HOST === null || DSQL_DB_HOST === void 0 ? void 0 : DSQL_DB_HOST.match(/./)) && if (useLocal) {
(DSQL_DB_USERNAME === null || DSQL_DB_USERNAME === void 0 ? void 0 : DSQL_DB_USERNAME.match(/./)) &&
(DSQL_DB_PASSWORD === null || DSQL_DB_PASSWORD === void 0 ? void 0 : DSQL_DB_PASSWORD.match(/./)) &&
(DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) &&
global.DSQL_USE_LOCAL) {
/** @type {import("../../types").DSQL_DatabaseSchemaType | undefined} */
let dbSchema;
try {
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json");
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8"));
}
catch (error) { }
return yield (0, api_delete_user_1.default)({ return yield (0, api_delete_user_1.default)({
dbFullName: DSQL_DB_NAME, dbFullName: database,
deletedUserId, deletedUserId,
}); });
} }
@ -68,7 +49,7 @@ function deleteUser(_a) {
}, },
port, port,
hostname: host, hostname: host,
path: `/api/user/${user_id || grabedHostNames.user_id}/delete-user`, path: `/api/${apiVersion}/users/${database}/${deletedUserId}`,
}, },
/** /**
* Callback Function * Callback Function

View File

@ -14,7 +14,6 @@ const parseCookies_1 = __importDefault(require("../../utils/backend/parseCookies
* string and csrf token string * string and csrf token string
*/ */
function getToken({ request, encryptionKey, encryptionSalt, cookieString, }) { function getToken({ request, encryptionKey, encryptionSalt, cookieString, }) {
var _a;
try { try {
/** /**
* Grab the payload * Grab the payload
@ -62,7 +61,7 @@ function getToken({ request, encryptionKey, encryptionSalt, cookieString, }) {
return { key, csrf }; return { key, csrf };
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Getting Token`, error); console.log("Error Getting Token:", error.message);
/** /**
* Return User Object * Return User Object
* *

View File

@ -4,10 +4,11 @@ type Param = {
database: string; database: string;
userId: number; userId: number;
fields?: string[]; fields?: string[];
apiUserId?: boolean; useLocal?: boolean;
apiVersion?: string;
}; };
/** /**
* # Get User * # Get User
*/ */
export default function getUser({ key, userId, database, fields, apiUserId, }: Param): Promise<GetUserFunctionReturn>; export default function getUser({ key, userId, database, fields, useLocal, apiVersion, }: Param): Promise<GetUserFunctionReturn>;
export {}; export {};

View File

@ -13,15 +13,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = getUser; exports.default = getUser;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names"));
const api_get_user_1 = __importDefault(require("../../functions/api/users/api-get-user")); const api_get_user_1 = __importDefault(require("../../functions/api/users/api-get-user"));
/** /**
* # Get User * # Get User
*/ */
function getUser(_a) { function getUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, userId, database, fields, apiUserId, }) { return __awaiter(this, arguments, void 0, function* ({ key, userId, database, fields, useLocal, apiVersion = "v1", }) {
/** /**
* Initialize * Initialize
*/ */
@ -49,28 +47,11 @@ function getUser(_a) {
}); });
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
/** if (useLocal) {
* Check for local DB settings
*
* @description Look for local db settings in `.env` file and by pass the http request if available
*/
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } = process.env;
if ((DSQL_DB_HOST === null || DSQL_DB_HOST === void 0 ? void 0 : DSQL_DB_HOST.match(/./)) &&
(DSQL_DB_USERNAME === null || DSQL_DB_USERNAME === void 0 ? void 0 : DSQL_DB_USERNAME.match(/./)) &&
(DSQL_DB_PASSWORD === null || DSQL_DB_PASSWORD === void 0 ? void 0 : DSQL_DB_PASSWORD.match(/./)) &&
(DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) &&
global.DSQL_USE_LOCAL) {
/** @type {import("../../types").DSQL_DatabaseSchemaType | undefined} */
let dbSchema;
try {
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json");
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8"));
}
catch (error) { }
return yield (0, api_get_user_1.default)({ return yield (0, api_get_user_1.default)({
userId, userId,
fields: [...new Set(updatedFields)], fields: [...new Set(updatedFields)],
dbFullName: DSQL_DB_NAME, dbFullName: database,
}); });
} }
/** /**
@ -90,7 +71,7 @@ function getUser(_a) {
}, },
port, port,
hostname: host, hostname: host,
path: `/api/user/${apiUserId || grabedHostNames.user_id}/get-user`, path: `/api/${apiVersion}/users/${database}/${userId}`,
}, },
/** /**
* Callback Function * Callback Function
@ -112,9 +93,6 @@ function getUser(_a) {
httpsRequest.write(reqPayload); httpsRequest.write(reqPayload);
httpsRequest.end(); httpsRequest.end();
}); });
/** ********************************************** */
/** ********************************************** */
/** ********************************************** */
return httpResponse; return httpResponse;
}); });
} }

View File

@ -25,7 +25,7 @@ const grab_cookie_expirt_date_1 = __importDefault(require("../../utils/grab-cook
*/ */
function loginUser(_a) { function loginUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, payload, database, additionalFields, response, encryptionKey, encryptionSalt, email_login, email_login_code, temp_code_field, token, user_id, skipPassword, apiUserID, skipWriteAuthFile, dbUserId, debug, cleanupTokens, secureCookie, request, useLocal, }) { return __awaiter(this, arguments, void 0, function* ({ key, payload, database, additionalFields, response, encryptionKey, encryptionSalt, email_login, email_login_code, temp_code_field, token, user_id, skipPassword, apiUserID, skipWriteAuthFile, dbUserId, debug, cleanupTokens, secureCookie, request, useLocal, }) {
var _b, _c, _d; var _b, _c;
const grabedHostNames = (0, grab_host_names_1.default)({ userId: user_id || apiUserID }); const grabedHostNames = (0, grab_host_names_1.default)({ userId: user_id || apiUserID });
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
const COOKIE_EXPIRY_DATE = (0, grab_cookie_expirt_date_1.default)(); const COOKIE_EXPIRY_DATE = (0, grab_cookie_expirt_date_1.default)();
@ -82,7 +82,7 @@ function loginUser(_a) {
*/ */
if (useLocal) { if (useLocal) {
httpResponse = yield (0, api_login_1.default)({ httpResponse = yield (0, api_login_1.default)({
database: database || process.env.DSQL_DB_NAME || "", database,
email: payload.email, email: payload.email,
username: payload.username, username: payload.username,
password: payload.password, password: payload.password,
@ -154,14 +154,14 @@ function loginUser(_a) {
httpResponse["token"] = encryptedPayload; httpResponse["token"] = encryptedPayload;
} }
catch (error) { catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Login User HTTP Response Error`, error); console.log("Login User HTTP Response Error:", error.message);
} }
const cookieNames = (0, get_auth_cookie_names_1.default)({ const cookieNames = (0, get_auth_cookie_names_1.default)({
database, database,
userId: grabedHostNames.user_id, userId: grabedHostNames.user_id,
}); });
if (httpResponse.csrf && !skipWriteAuthFile) { if (httpResponse.csrf && !skipWriteAuthFile) {
(0, write_auth_files_1.writeAuthFile)(httpResponse.csrf, JSON.stringify(httpResponse.payload), cleanupTokens && ((_c = httpResponse.payload) === null || _c === void 0 ? void 0 : _c.id) (0, write_auth_files_1.writeAuthFile)(httpResponse.csrf, JSON.stringify(httpResponse.payload), cleanupTokens && ((_b = httpResponse.payload) === null || _b === void 0 ? void 0 : _b.id)
? { userId: httpResponse.payload.id } ? { userId: httpResponse.payload.id }
: undefined); : undefined);
} }
@ -176,7 +176,7 @@ function loginUser(_a) {
} }
response === null || response === void 0 ? void 0 : response.setHeader("Set-Cookie", [ response === null || response === void 0 ? void 0 : response.setHeader("Set-Cookie", [
`${authKeyName}=${encryptedPayload};samesite=strict;path=/;HttpOnly=true;Expires=${COOKIE_EXPIRY_DATE}${secureCookie ? ";Secure=true" : ""}`, `${authKeyName}=${encryptedPayload};samesite=strict;path=/;HttpOnly=true;Expires=${COOKIE_EXPIRY_DATE}${secureCookie ? ";Secure=true" : ""}`,
`${csrfName}=${(_d = httpResponse.payload) === null || _d === void 0 ? void 0 : _d.csrf_k};samesite=strict;path=/;HttpOnly=true;Expires=${COOKIE_EXPIRY_DATE}`, `${csrfName}=${(_c = httpResponse.payload) === null || _c === void 0 ? void 0 : _c.csrf_k};samesite=strict;path=/;HttpOnly=true;Expires=${COOKIE_EXPIRY_DATE}`,
]); ]);
if (debug) { if (debug) {
debugFn("Response Sent!"); debugFn("Response Sent!");

View File

@ -15,7 +15,6 @@ const debug_log_1 = __importDefault(require("../../utils/logging/debug-log"));
* # Logout user * # Logout user
*/ */
function logoutUser({ response, database, dsqlUserId, encryptedUserString, request, cookieString, debug, }) { function logoutUser({ response, database, dsqlUserId, encryptedUserString, request, cookieString, debug, }) {
var _a;
/** /**
* Check Encryption Keys * Check Encryption Keys
* *
@ -84,7 +83,6 @@ function logoutUser({ response, database, dsqlUserId, encryptedUserString, reque
} }
catch (error) { catch (error) {
console.log("Logout Error:", error.message); console.log("Logout Error:", error.message);
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Logout User Error`, error);
return { return {
success: false, success: false,
msg: "Logout Failed", msg: "Logout Failed",

View File

@ -125,12 +125,11 @@ function githubAuth(_a) {
str += chunk; str += chunk;
}); });
response.on("end", function () { response.on("end", function () {
var _a;
try { try {
resolve(JSON.parse(str)); resolve(JSON.parse(str));
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Github Auth Error`, error); console.log("Github Auth Error:", error.message);
resolve({ resolve({
success: false, success: false,
user: null, user: null,

View File

@ -1,15 +1,16 @@
import { UpdateUserFunctionReturn } from "../../types"; import { UpdateUserFunctionReturn } from "../../types";
type Param = { type Param = {
key?: string; key?: string;
database?: string; database: string;
updatedUserId: string | number; updatedUserId: string | number;
payload: { payload: {
[s: string]: any; [s: string]: any;
}; };
user_id?: boolean; user_id?: boolean;
useLocal?: boolean;
}; };
/** /**
* # Update User * # Update User
*/ */
export default function updateUser({ key, payload, database, user_id, updatedUserId, }: Param): Promise<UpdateUserFunctionReturn>; export default function updateUser({ key, payload, database, user_id, updatedUserId, useLocal, }: Param): Promise<UpdateUserFunctionReturn>;
export {}; export {};

View File

@ -13,40 +13,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = updateUser; exports.default = updateUser;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names")); const grab_host_names_1 = __importDefault(require("../../utils/grab-host-names"));
const api_update_user_1 = __importDefault(require("../../functions/api/users/api-update-user")); const api_update_user_1 = __importDefault(require("../../functions/api/users/api-update-user"));
/** /**
* # Update User * # Update User
*/ */
function updateUser(_a) { function updateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ key, payload, database, user_id, updatedUserId, }) { return __awaiter(this, arguments, void 0, function* ({ key, payload, database, user_id, updatedUserId, useLocal, }) {
/**
* Check for local DB settings
*
* @description Look for local db settings in `.env` file and by pass the http request if available
*/
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } = process.env;
const grabedHostNames = (0, grab_host_names_1.default)(); const grabedHostNames = (0, grab_host_names_1.default)();
const { host, port, scheme } = grabedHostNames; const { host, port, scheme } = grabedHostNames;
if ((DSQL_DB_HOST === null || DSQL_DB_HOST === void 0 ? void 0 : DSQL_DB_HOST.match(/./)) && if (useLocal) {
(DSQL_DB_USERNAME === null || DSQL_DB_USERNAME === void 0 ? void 0 : DSQL_DB_USERNAME.match(/./)) &&
(DSQL_DB_PASSWORD === null || DSQL_DB_PASSWORD === void 0 ? void 0 : DSQL_DB_PASSWORD.match(/./)) &&
(DSQL_DB_NAME === null || DSQL_DB_NAME === void 0 ? void 0 : DSQL_DB_NAME.match(/./)) &&
global.DSQL_USE_LOCAL) {
/** @type {import("../../types").DSQL_DatabaseSchemaType | undefined} */
let dbSchema;
try {
const localDbSchemaPath = path_1.default.resolve(process.cwd(), "dsql.schema.json");
dbSchema = JSON.parse(fs_1.default.readFileSync(localDbSchemaPath, "utf8"));
}
catch (error) { }
return yield (0, api_update_user_1.default)({ return yield (0, api_update_user_1.default)({
payload: payload, payload: payload,
dbFullName: DSQL_DB_NAME, dbFullName: database,
updatedUserId, updatedUserId,
dbSchema,
}); });
} }
/** /**

View File

@ -24,7 +24,6 @@ const yearInMilliseconds = dayInMilliseconds * 365;
* with the user's data * with the user's data
*/ */
function userAuth({ request, req, encryptionKey, encryptionSalt, level, database, dsqlUserId, encryptedUserString, expiry = weekInMilliseconds, cookieString, csrfHeaderName, debug, skipFileCheck, }) { function userAuth({ request, req, encryptionKey, encryptionSalt, level, database, dsqlUserId, encryptedUserString, expiry = weekInMilliseconds, cookieString, csrfHeaderName, debug, skipFileCheck, }) {
var _a;
try { try {
const finalRequest = req || request; const finalRequest = req || request;
const { user_id } = (0, grab_host_names_1.default)({ userId: dsqlUserId }); const { user_id } = (0, grab_host_names_1.default)({ userId: dsqlUserId });
@ -163,7 +162,6 @@ function userAuth({ request, req, encryptionKey, encryptionSalt, level, database
}; };
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `User Auth Error`, error);
/** /**
* Return User Object * Return User Object
* *

View File

@ -22,7 +22,6 @@ const ejson_1 = __importDefault(require("../../utils/ejson"));
*/ */
function validateTempEmailCode(_a) { function validateTempEmailCode(_a) {
return __awaiter(this, arguments, void 0, function* ({ request, email, cookieString, }) { return __awaiter(this, arguments, void 0, function* ({ request, email, cookieString, }) {
var _b;
try { try {
const keyNames = (0, get_auth_cookie_names_1.default)(); const keyNames = (0, get_auth_cookie_names_1.default)();
const oneTimeCodeCookieName = keyNames.oneTimeCodeName; const oneTimeCodeCookieName = keyNames.oneTimeCodeName;
@ -41,7 +40,6 @@ function validateTempEmailCode(_a) {
return null; return null;
} }
catch (error) { catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Validate Temp Email Code Error`, error);
console.log("validateTempEmailCode error:", error.message); console.log("validateTempEmailCode error:", error.message);
return null; return null;
} }

View File

@ -11,7 +11,6 @@ const decrypt_1 = __importDefault(require("../../functions/dsql/decrypt"));
* @description This Function takes in a encrypted token and returns a user object * @description This Function takes in a encrypted token and returns a user object
*/ */
function validateToken({ token, encryptionKey, encryptionSalt, }) { function validateToken({ token, encryptionKey, encryptionSalt, }) {
var _a;
try { try {
/** /**
* Grab the payload * Grab the payload
@ -54,7 +53,6 @@ function validateToken({ token, encryptionKey, encryptionSalt, }) {
return userObject; return userObject;
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Validate Token Error`, error);
/** /**
* Return User Object * Return User Object
* *

View File

@ -5,4 +5,5 @@ export declare const AppNames: {
readonly PrivateMediaProceedureName: "dsql_UpdateUserMedia"; readonly PrivateMediaProceedureName: "dsql_UpdateUserMedia";
readonly PrivateMediaInsertTriggerName: "dsql_trg_user_private_folders_insert"; readonly PrivateMediaInsertTriggerName: "dsql_trg_user_private_folders_insert";
readonly PrivateMediaDeleteTriggerName: "dsql_trg_user_private_folders_delete"; readonly PrivateMediaDeleteTriggerName: "dsql_trg_user_private_folders_delete";
readonly WebsocketPathname: "dsql-websocket";
}; };

View File

@ -8,4 +8,5 @@ exports.AppNames = {
PrivateMediaProceedureName: "dsql_UpdateUserMedia", PrivateMediaProceedureName: "dsql_UpdateUserMedia",
PrivateMediaInsertTriggerName: "dsql_trg_user_private_folders_insert", PrivateMediaInsertTriggerName: "dsql_trg_user_private_folders_insert",
PrivateMediaDeleteTriggerName: "dsql_trg_user_private_folders_delete", PrivateMediaDeleteTriggerName: "dsql_trg_user_private_folders_delete",
WebsocketPathname: "dsql-websocket",
}; };

View File

@ -68,7 +68,19 @@ function queryDSQLAPI(_a) {
}); });
response.on("end", function () { response.on("end", function () {
try { try {
resolve(JSON.parse(str)); const responseObj = JSON.parse(str);
if (!responseObj.success) {
// console.log("responseObj", responseObj);
// console.log(
// "response.headers",
// response.headers
// );
// console.log(
// "httpsRequest.headers",
// httpsRequest.getHeaders()
// );
}
resolve(responseObj);
} }
catch (error) { catch (error) {
resolve({ resolve({

View File

@ -1,18 +1,16 @@
import { DbContextsArray } from "../../backend/db/runQuery"; import { DbContextsArray } from "../../backend/db/runQuery";
import { ApiGetQueryObject } from "../../../types"; import { DSQL_DatabaseSchemaType, DsqlCrudQueryObject, GetReturn } from "../../../types";
type Param<T extends { type Param<T extends {
[key: string]: any; [key: string]: any;
} = { } = {
[key: string]: any; [key: string]: any;
}> = { }> = {
query: string | ApiGetQueryObject<T>; query: DsqlCrudQueryObject<T>;
queryValues?: (string | number)[];
dbFullName: string; dbFullName: string;
tableName?: string; tableName: string;
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType; dbSchema?: DSQL_DatabaseSchemaType;
debug?: boolean; debug?: boolean;
dbContext?: (typeof DbContextsArray)[number]; dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
}; };
/** /**
* # Get Function FOr API * # Get Function FOr API
@ -21,5 +19,5 @@ export default function apiGet<T extends {
[key: string]: any; [key: string]: any;
} = { } = {
[key: string]: any; [key: string]: any;
}>({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }: Param<T>): Promise<import("../../../types").GetReturn>; }>({ query, dbFullName, tableName, dbSchema, debug, }: Param<T>): Promise<GetReturn>;
export {}; export {};

View File

@ -13,79 +13,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiGet; exports.default = apiGet;
const lodash_1 = __importDefault(require("lodash")); const sql_generator_1 = __importDefault(require("../../dsql/sql/sql-generator"));
const serverError_1 = __importDefault(require("../../backend/serverError")); const crud_1 = __importDefault(require("../../../utils/data-fetching/crud"));
const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
const grab_query_and_values_1 = __importDefault(require("../../../utils/grab-query-and-values"));
/** /**
* # Get Function FOr API * # Get Function FOr API
*/ */
function apiGet(_a) { function apiGet(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }) { return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, tableName, dbSchema, debug, }) {
var _b, _c; const queryAndValues = (0, sql_generator_1.default)({
const queryAndValues = (0, grab_query_and_values_1.default)({ tableName,
query, genObject: query,
values: queryValues, dbFullName,
}); });
if (typeof query == "string" && query.match(/^alter|^delete|^create/i)) { const result = yield (0, crud_1.default)({
return { success: false, msg: "Wrong Input." }; action: "get",
} table: tableName,
let results; dbFullName,
try { query,
let { result, error } = yield (0, runQuery_1.default)({ });
dbFullName: dbFullName, return result;
query: queryAndValues.query,
queryValuesArray: queryAndValues.values,
readOnly: true,
dbSchema,
tableName,
dbContext,
debug,
forceLocal,
});
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:result", result);
console.log("apiGet:error", error);
}
let tableSchema;
if (dbSchema) {
const targetTable = (_b = dbSchema.tables) === null || _b === void 0 ? void 0 : _b.find((table) => table.tableName === tableName);
if (targetTable) {
const clonedTargetTable = lodash_1.default.cloneDeep(targetTable);
delete clonedTargetTable.childTable;
delete clonedTargetTable.childrenTables;
delete clonedTargetTable.updateData;
delete clonedTargetTable.indexes;
tableSchema = clonedTargetTable;
}
}
if (error)
throw error;
if (result.error)
throw new Error(result.error);
results = result;
const resObject = {
success: true,
payload: results,
schema: tableName && tableSchema ? tableSchema : undefined,
};
return resObject;
}
catch (error) {
(0, serverError_1.default)({
component: "/api/query/get/lines-85-94",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Get Error`, error);
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:error", error.message);
console.log("queryAndValues", queryAndValues);
}
return {
success: false,
payload: null,
error: error.message,
};
}
}); });
} }

View File

@ -7,11 +7,10 @@ type Param = {
tableName?: string; tableName?: string;
dbSchema?: DSQL_DatabaseSchemaType; dbSchema?: DSQL_DatabaseSchemaType;
dbContext?: (typeof DbContextsArray)[number]; dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
debug?: boolean; debug?: boolean;
}; };
/** /**
* # Post Function For API * # Post Function For API
*/ */
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }: Param): Promise<PostReturn>; export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }: Param): Promise<PostReturn>;
export {}; export {};

View File

@ -21,8 +21,8 @@ const debug_log_1 = __importDefault(require("../../../utils/logging/debug-log"))
* # Post Function For API * # Post Function For API
*/ */
function apiPost(_a) { function apiPost(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }) { return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }) {
var _b, _c; var _b;
if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) { if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) {
return { success: false, msg: "Wrong Input" }; return { success: false, msg: "Wrong Input" };
} }
@ -44,7 +44,6 @@ function apiPost(_a) {
queryValuesArray: queryValues, queryValuesArray: queryValues,
tableName, tableName,
dbContext, dbContext,
forceLocal,
debug, debug,
}); });
if (debug) { if (debug) {
@ -86,7 +85,6 @@ function apiPost(_a) {
component: "/api/query/post/lines-132-142", component: "/api/query/post/lines-132-142",
message: error.message, message: error.message,
}); });
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Post Error`, error);
return { return {
success: false, success: false,
payload: results, payload: results,

View File

@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = facebookLogin; exports.default = facebookLogin;
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const serverError_1 = __importDefault(require("../../backend/serverError")); const serverError_1 = __importDefault(require("../../backend/serverError"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/** /**
@ -22,14 +22,18 @@ const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
function facebookLogin(_a) { function facebookLogin(_a) {
return __awaiter(this, arguments, void 0, function* ({ usertype, body, }) { return __awaiter(this, arguments, void 0, function* ({ usertype, body, }) {
try { try {
const foundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`); const foundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`,
values: [body.facebookUserEmail],
}));
if (foundUser && foundUser[0]) { if (foundUser && foundUser[0]) {
return foundUser[0]; return foundUser[0];
} }
let socialHashedPassword = (0, hashPassword_1.default)({ let socialHashedPassword = (0, hashPassword_1.default)({
password: body.facebookUserId, password: body.facebookUserId,
}); });
let newUser = yield (0, DB_HANDLER_1.default)(`INSERT INTO ${usertype} ( let newUser = (yield (0, dbHandler_1.default)({
query: `INSERT INTO ${usertype} (
first_name, first_name,
last_name, last_name,
social_platform, social_platform,
@ -49,8 +53,8 @@ function facebookLogin(_a) {
'${body.facebookUserLastName}', '${body.facebookUserLastName}',
'facebook', 'facebook',
'facebook_${body.facebookUserEmail 'facebook_${body.facebookUserEmail
? body.facebookUserEmail.replace(/@.*/, "") ? body.facebookUserEmail.replace(/@.*/, "")
: body.facebookUserFirstName.toLowerCase()}', : body.facebookUserFirstName.toLowerCase()}',
'${body.facebookUserEmail}', '${body.facebookUserEmail}',
'${body.facebookUserImage}', '${body.facebookUserImage}',
'${body.facebookUserImage}', '${body.facebookUserImage}',
@ -61,8 +65,20 @@ function facebookLogin(_a) {
'1', '1',
'${Date()}', '${Date()}',
'${Date.now()}' '${Date.now()}'
)`); )`,
const newFoundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`); values: [
body.facebookUserFirstName,
body.facebookUserLastName,
body.facebookUserEmail,
body.facebookUserImage,
socialHashedPassword,
body.facebookUserId,
],
}));
const newFoundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE id=?`,
values: (newUser === null || newUser === void 0 ? void 0 : newUser.insertId) ? [newUser === null || newUser === void 0 ? void 0 : newUser.insertId] : [],
}));
} }
catch ( /** @type {any} */error) { catch ( /** @type {any} */error) {
(0, serverError_1.default)({ (0, serverError_1.default)({

View File

@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = githubLogin; exports.default = githubLogin;
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const httpsRequest_1 = __importDefault(require("../../backend/httpsRequest")); const httpsRequest_1 = __importDefault(require("../../backend/httpsRequest"));
/** /**
* # Login/signup a github user * # Login/signup a github user
@ -48,7 +48,10 @@ function githubLogin(_a) {
}); });
gitHubUser = JSON.parse(userDataResponse); gitHubUser = JSON.parse(userDataResponse);
if (!(gitHubUser === null || gitHubUser === void 0 ? void 0 : gitHubUser.email) && gitHubUser) { if (!(gitHubUser === null || gitHubUser === void 0 ? void 0 : gitHubUser.email) && gitHubUser) {
const existingGithubUser = yield (0, DB_HANDLER_1.default)(`SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`); const existingGithubUser = (yield (0, dbHandler_1.default)({
query: `SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`,
values: [gitHubUser.id],
}));
if (existingGithubUser && existingGithubUser[0]) { if (existingGithubUser && existingGithubUser[0]) {
gitHubUser.email = existingGithubUser[0].email; gitHubUser.email = existingGithubUser[0].email;
} }

View File

@ -15,14 +15,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = googleLogin; exports.default = googleLogin;
const google_auth_library_1 = require("google-auth-library"); const google_auth_library_1 = require("google-auth-library");
const serverError_1 = __importDefault(require("../../backend/serverError")); const serverError_1 = __importDefault(require("../../backend/serverError"));
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/** /**
* # Google Login * # Google Login
*/ */
function googleLogin(_a) { function googleLogin(_a) {
return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) { return __awaiter(this, arguments, void 0, function* ({ usertype, foundUser, isSocialValidated, isUserValid, reqBody, serverRes, loginFailureReason, }) {
var _b, _c; var _b;
const client = new google_auth_library_1.OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID); const client = new google_auth_library_1.OAuth2Client(process.env.DSQL_GOOGLE_CLIENT_ID);
let isGoogleAuthValid = false; let isGoogleAuthValid = false;
let newFoundUser = null; let newFoundUser = null;
@ -54,8 +54,11 @@ function googleLogin(_a) {
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
let existinEmail = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`); let existinEmail = (yield (0, dbHandler_1.default)({
if (existinEmail && existinEmail[0]) { query: `SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`,
values: [payload.email],
}));
if (existinEmail === null || existinEmail === void 0 ? void 0 : existinEmail[0]) {
loginFailureReason = "Email Exists Already"; loginFailureReason = "Email Exists Already";
isGoogleAuthValid = false; isGoogleAuthValid = false;
return { return {
@ -65,8 +68,11 @@ function googleLogin(_a) {
}; };
} }
//////////////////////////////////////// ////////////////////////////////////////
foundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login='1' AND social_platform='google'`); foundUser = (yield (0, dbHandler_1.default)({
if (foundUser && foundUser[0]) { query: `SELECT * FROM ${usertype} WHERE email=? AND social_login='1' AND social_platform='google'`,
values: [payload.email],
}));
if (foundUser === null || foundUser === void 0 ? void 0 : foundUser[0]) {
newFoundUser = foundUser; newFoundUser = foundUser;
return { return {
isGoogleAuthValid: isGoogleAuthValid, isGoogleAuthValid: isGoogleAuthValid,
@ -76,9 +82,10 @@ function googleLogin(_a) {
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
let newUser = yield (0, DB_HANDLER_1.default)(`INSERT INTO ${usertype} ( let newUser = (yield (0, dbHandler_1.default)({
query: `INSERT INTO ${usertype} (
first_name, first_name,
last_name, last_name,
social_platform, social_platform,
social_name, social_name,
social_id, social_id,
@ -106,15 +113,18 @@ function googleLogin(_a) {
'1', '1',
'${Date()}', '${Date()}',
'${Date.now()}' '${Date.now()}'
)`); )`,
newFoundUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`); }));
newFoundUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM ${usertype} WHERE id=?`,
values: [newUser.insertId],
}));
} }
catch (error) { catch (error) {
(0, serverError_1.default)({ (0, serverError_1.default)({
component: "googleLogin", component: "googleLogin",
message: error.message, message: error.message,
}); });
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Google Login Error`, error);
loginFailureReason = error; loginFailureReason = error;
isUserValid = false; isUserValid = false;
isSocialValidated = false; isSocialValidated = false;

View File

@ -17,7 +17,7 @@ const fs_1 = __importDefault(require("fs"));
const handleNodemailer_1 = __importDefault(require("../../backend/handleNodemailer")); const handleNodemailer_1 = __importDefault(require("../../backend/handleNodemailer"));
const path_1 = __importDefault(require("path")); const path_1 = __importDefault(require("path"));
const addMariadbUser_1 = __importDefault(require("../../backend/addMariadbUser")); const addMariadbUser_1 = __importDefault(require("../../backend/addMariadbUser"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt")); const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry"));
const loginSocialUser_1 = __importDefault(require("./loginSocialUser")); const loginSocialUser_1 = __importDefault(require("./loginSocialUser"));
@ -27,26 +27,20 @@ const grab_dir_names_1 = __importDefault(require("../../../utils/backend/names/g
*/ */
function handleSocialDb(_a) { function handleSocialDb(_a) {
return __awaiter(this, arguments, void 0, function* ({ database, email, social_platform, payload, invitation, supEmail, additionalFields, debug, loginOnly, }) { return __awaiter(this, arguments, void 0, function* ({ database, email, social_platform, payload, invitation, supEmail, additionalFields, debug, loginOnly, }) {
var _b, _c; var _b;
try { try {
const finalDbName = global.DSQL_USE_LOCAL const finalDbName = database ? database : "datasquirel";
? undefined const existingSocialUserQUery = `SELECT * FROM users WHERE email = ? AND social_login='1' AND social_platform = ? `;
: database
? database
: "datasquirel";
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${finalDbName}.`;
const existingSocialUserQUery = `SELECT * FROM ${dbAppend}users WHERE email = ? AND social_login='1' AND social_platform = ? `;
const existingSocialUserValues = [email, social_platform]; const existingSocialUserValues = [email, social_platform];
if (debug) { if (debug) {
console.log("handleSocialDb:existingSocialUserQUery", existingSocialUserQUery); console.log("handleSocialDb:existingSocialUserQUery", existingSocialUserQUery);
console.log("handleSocialDb:existingSocialUserValues", existingSocialUserValues); console.log("handleSocialDb:existingSocialUserValues", existingSocialUserValues);
} }
let existingSocialUser = yield (0, varDatabaseDbHandler_1.default)({ let existingSocialUser = (yield (0, dbHandler_1.default)({
database: finalDbName, database: finalDbName,
queryString: existingSocialUserQUery, query: existingSocialUserQUery,
queryValuesArray: existingSocialUserValues, values: existingSocialUserValues,
debug, }));
});
if (debug) { if (debug) {
console.log("handleSocialDb:existingSocialUser", existingSocialUser); console.log("handleSocialDb:existingSocialUser", existingSocialUser);
} }
@ -75,15 +69,14 @@ function handleSocialDb(_a) {
msg: "No Email Present", msg: "No Email Present",
}; };
} }
const existingEmailOnlyQuery = `SELECT * FROM ${dbAppend}users WHERE email='${finalEmail}'`; const existingEmailOnlyQuery = `SELECT * FROM users WHERE email='${finalEmail}'`;
if (debug) { if (debug) {
console.log("handleSocialDb:existingEmailOnlyQuery", existingEmailOnlyQuery); console.log("handleSocialDb:existingEmailOnlyQuery", existingEmailOnlyQuery);
} }
let existingEmailOnly = yield (0, varDatabaseDbHandler_1.default)({ let existingEmailOnly = (yield (0, dbHandler_1.default)({
database: finalDbName, database: finalDbName,
queryString: existingEmailOnlyQuery, query: existingEmailOnlyQuery,
debug, }));
});
if (debug) { if (debug) {
console.log("handleSocialDb:existingEmailOnly", existingEmailOnly); console.log("handleSocialDb:existingEmailOnly", existingEmailOnly);
} }
@ -131,12 +124,11 @@ function handleSocialDb(_a) {
*/ */
yield (0, addMariadbUser_1.default)({ userId: newUser.payload.insertId }); yield (0, addMariadbUser_1.default)({ userId: newUser.payload.insertId });
} }
const newUserQueriedQuery = `SELECT * FROM ${dbAppend}users WHERE id='${newUser.payload.insertId}'`; const newUserQueriedQuery = `SELECT * FROM users WHERE id='${newUser.payload.insertId}'`;
const newUserQueried = yield (0, varDatabaseDbHandler_1.default)({ const newUserQueried = (yield (0, dbHandler_1.default)({
database: finalDbName, database: finalDbName,
queryString: newUserQueriedQuery, query: newUserQueriedQuery,
debug, }));
});
if (!newUserQueried || !newUserQueried[0]) if (!newUserQueried || !newUserQueried[0])
return { return {
success: false, success: false,
@ -207,7 +199,6 @@ function handleSocialDb(_a) {
} }
catch (error) { catch (error) {
console.log("ERROR in 'handleSocialDb.ts' backend function =>", error.message); console.log("ERROR in 'handleSocialDb.ts' backend function =>", error.message);
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Handle Social DB Error`, error);
return { return {
success: false, success: false,
payload: null, payload: null,

View File

@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = loginSocialUser; exports.default = loginSocialUser;
const addAdminUserOnLogin_1 = __importDefault(require("../../backend/addAdminUserOnLogin")); const addAdminUserOnLogin_1 = __importDefault(require("../../backend/addAdminUserOnLogin"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/** /**
* Function to login social user * Function to login social user
* ============================================================================== * ==============================================================================
@ -27,12 +27,11 @@ function loginSocialUser(_a) {
const dbAppend = database ? `\`${finalDbName}\`.` : ""; const dbAppend = database ? `\`${finalDbName}\`.` : "";
const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=?`; const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=?`;
const foundUserValues = [user.email]; const foundUserValues = [user.email];
const foundUser = yield (0, varDatabaseDbHandler_1.default)({ const foundUser = (yield (0, dbHandler_1.default)({
query: foundUserQuery,
values: foundUserValues,
database: finalDbName, database: finalDbName,
queryString: foundUserQuery, }));
queryValuesArray: foundUserValues,
debug,
});
if (!(foundUser === null || foundUser === void 0 ? void 0 : foundUser[0])) if (!(foundUser === null || foundUser === void 0 ? void 0 : foundUser[0]))
return { return {
success: false, success: false,

View File

@ -2,7 +2,7 @@ import { APICreateUserFunctionParams } from "../../../types";
/** /**
* # API Create User * # API Create User
*/ */
export default function apiCreateUser({ encryptionKey, payload, database, userId, }: APICreateUserFunctionParams): Promise<{ export default function apiCreateUser({ encryptionKey, payload, database, userId, verify, }: APICreateUserFunctionParams): Promise<{
success: boolean; success: boolean;
msg: string; msg: string;
payload?: undefined; payload?: undefined;

View File

@ -17,17 +17,15 @@ const grab_required_database_schemas_1 = require("../../../shell/createDbFromSch
const addUsersTableToDb_1 = __importDefault(require("../../backend/addUsersTableToDb")); const addUsersTableToDb_1 = __importDefault(require("../../backend/addUsersTableToDb"));
const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../backend/db/addDbEntry"));
const updateUsersTableSchema_1 = __importDefault(require("../../backend/updateUsersTableSchema")); const updateUsersTableSchema_1 = __importDefault(require("../../backend/updateUsersTableSchema"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
const validate_email_1 = __importDefault(require("../../email/fns/validate-email")); const validate_email_1 = __importDefault(require("../../email/fns/validate-email"));
/** /**
* # API Create User * # API Create User
*/ */
function apiCreateUser(_a) { function apiCreateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ encryptionKey, payload, database, userId, }) { return __awaiter(this, arguments, void 0, function* ({ encryptionKey, payload, database, userId, verify, }) {
var _b; var _b;
const dbFullName = database;
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
const finalEncryptionKey = encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD; const finalEncryptionKey = encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD;
if (!finalEncryptionKey) { if (!finalEncryptionKey) {
return { return {
@ -43,9 +41,10 @@ function apiCreateUser(_a) {
payload: null, payload: null,
}; };
} }
const targetDbSchema = (0, grab_required_database_schemas_1.findDbNameInSchemaDir)({ const targetDbSchema = (0, grab_required_database_schemas_1.grabPrimaryRequiredDbSchema)({
dbName: dbFullName, dbSlug: database,
userId, userId,
dbId: userId ? undefined : 1,
}); });
if (!(targetDbSchema === null || targetDbSchema === void 0 ? void 0 : targetDbSchema.id)) { if (!(targetDbSchema === null || targetDbSchema === void 0 ? void 0 : targetDbSchema.id)) {
return { return {
@ -54,27 +53,35 @@ function apiCreateUser(_a) {
payload: null, payload: null,
}; };
} }
const dbFullName = targetDbSchema.dbFullName;
if (!dbFullName) {
return {
success: false,
msg: "dbFullName not found",
payload: null,
};
}
const hashedPassword = (0, hashPassword_1.default)({ const hashedPassword = (0, hashPassword_1.default)({
encryptionKey: finalEncryptionKey, encryptionKey: finalEncryptionKey,
password: String(payload.password), password: String(payload.password),
}); });
payload.password = hashedPassword; payload.password = hashedPassword;
const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`; const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`;
let fields = yield (0, varDatabaseDbHandler_1.default)({ let fields = (yield (0, dbHandler_1.default)({
queryString: fieldsQuery, query: fieldsQuery,
database: dbFullName, database: dbFullName,
}); }));
if (!(fields === null || fields === void 0 ? void 0 : fields[0])) { if (!(fields === null || fields === void 0 ? void 0 : fields[0])) {
const newTable = yield (0, addUsersTableToDb_1.default)({ const newTable = yield (0, addUsersTableToDb_1.default)({
userId: Number(API_USER_ID), userId,
database: dbFullName, database: dbFullName,
payload: payload, payload: payload,
dbId: targetDbSchema.id, dbId: targetDbSchema.id,
}); });
fields = yield (0, varDatabaseDbHandler_1.default)({ fields = (yield (0, dbHandler_1.default)({
queryString: fieldsQuery, query: fieldsQuery,
database: dbFullName, database: dbFullName,
}); }));
} }
if (!(fields === null || fields === void 0 ? void 0 : fields[0])) { if (!(fields === null || fields === void 0 ? void 0 : fields[0])) {
return { return {
@ -88,7 +95,7 @@ function apiCreateUser(_a) {
const key = Object.keys(payload)[i]; const key = Object.keys(payload)[i];
if (!fieldsTitles.includes(key)) { if (!fieldsTitles.includes(key)) {
yield (0, updateUsersTableSchema_1.default)({ yield (0, updateUsersTableSchema_1.default)({
userId: Number(API_USER_ID), userId,
database: dbFullName, database: dbFullName,
newPayload: { newPayload: {
[key]: payload[key], [key]: payload[key],
@ -107,11 +114,11 @@ function apiCreateUser(_a) {
const existingUserValues = payload.username const existingUserValues = payload.username
? [payload.email, payload.username] ? [payload.email, payload.username]
: [payload.email]; : [payload.email];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({ const existingUser = (yield (0, dbHandler_1.default)({
queryString: existingUserQuery, query: existingUserQuery,
queryValuesArray: existingUserValues, values: existingUserValues,
database: dbFullName, database: dbFullName,
}); }));
if (existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) { if (existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) {
return { return {
success: false, success: false,
@ -132,14 +139,15 @@ function apiCreateUser(_a) {
tableName: "users", tableName: "users",
data: Object.assign(Object.assign({}, payload), { image: process.env.DSQL_DEFAULT_USER_IMAGE || data: Object.assign(Object.assign({}, payload), { image: process.env.DSQL_DEFAULT_USER_IMAGE ||
"/images/user-preset.png", image_thumbnail: process.env.DSQL_DEFAULT_USER_IMAGE || "/images/user-preset.png", image_thumbnail: process.env.DSQL_DEFAULT_USER_IMAGE ||
"/images/user-preset-thumbnail.png" }), "/images/user-preset-thumbnail.png", verification_status: verify ? 1 : 0 }),
}); });
if ((_b = addUser === null || addUser === void 0 ? void 0 : addUser.payload) === null || _b === void 0 ? void 0 : _b.insertId) { if ((_b = addUser === null || addUser === void 0 ? void 0 : addUser.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
const newlyAddedUserQuery = `SELECT id,uuid,first_name,last_name,email,username,image,image_thumbnail,verification_status FROM ${dbFullName}.users WHERE id='${addUser.payload.insertId}'`; const newlyAddedUserQuery = `SELECT id,uuid,first_name,last_name,email,username,image,image_thumbnail,verification_status FROM ${dbFullName}.users WHERE id='${addUser.payload.insertId}'`;
const newlyAddedUser = yield (0, varDatabaseDbHandler_1.default)({ const newlyAddedUser = (yield (0, dbHandler_1.default)({
queryString: newlyAddedUserQuery, query: newlyAddedUserQuery,
values: [],
database: dbFullName, database: dbFullName,
}); }));
return { return {
success: true, success: true,
payload: newlyAddedUser[0], payload: newlyAddedUser[0],

View File

@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiDeleteUser; exports.default = apiDeleteUser;
const deleteDbEntry_1 = __importDefault(require("../../backend/db/deleteDbEntry")); const deleteDbEntry_1 = __importDefault(require("../../backend/db/deleteDbEntry"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/** /**
* # Update API User Function * # Update API User Function
*/ */
@ -22,11 +22,11 @@ function apiDeleteUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, deletedUserId, }) { return __awaiter(this, arguments, void 0, function* ({ dbFullName, deletedUserId, }) {
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`; const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [deletedUserId]; const existingUserValues = [deletedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({ const existingUser = (yield (0, dbHandler_1.default)({
queryString: existingUserQuery, query: existingUserQuery,
queryValuesArray: existingUserValues, values: existingUserValues,
database: dbFullName, database: dbFullName,
}); }));
if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) { if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) {
return { return {
success: false, success: false,

View File

@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiGetUser; exports.default = apiGetUser;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/** /**
* # API Get User * # API Get User
*/ */
@ -22,11 +22,11 @@ function apiGetUser(_a) {
const finalDbName = dbFullName.replace(/[^a-z0-9_]/g, ""); const finalDbName = dbFullName.replace(/[^a-z0-9_]/g, "");
const query = `SELECT ${fields.join(",")} FROM ${finalDbName}.users WHERE id=?`; const query = `SELECT ${fields.join(",")} FROM ${finalDbName}.users WHERE id=?`;
const API_USER_ID = userId || process.env.DSQL_API_USER_ID; const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
let foundUser = yield (0, varDatabaseDbHandler_1.default)({ let foundUser = (yield (0, dbHandler_1.default)({
queryString: query, query,
queryValuesArray: [API_USER_ID], values: [API_USER_ID],
database: finalDbName, database: finalDbName,
}); }));
if (!foundUser || !foundUser[0]) { if (!foundUser || !foundUser[0]) {
return { return {
success: false, success: false,

View File

@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiLoginUser; exports.default = apiLoginUser;
const grab_db_full_name_1 = __importDefault(require("../../../utils/grab-db-full-name")); const grab_db_full_name_1 = __importDefault(require("../../../utils/grab-db-full-name"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
/** /**
* # API Login * # API Login
@ -29,7 +29,6 @@ function apiLoginUser(_a) {
msg: `Database Full Name couldn't be grabbed`, msg: `Database Full Name couldn't be grabbed`,
}; };
} }
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${dbFullName}.`;
/** /**
* Check input validity * Check input validity
* *
@ -58,12 +57,11 @@ function apiLoginUser(_a) {
console.log("apiLoginUser:database:", dbFullName); console.log("apiLoginUser:database:", dbFullName);
console.log("apiLoginUser:Finding User ..."); console.log("apiLoginUser:Finding User ...");
} }
let foundUser = yield (0, varDatabaseDbHandler_1.default)({ let foundUser = (yield (0, dbHandler_1.default)({
queryString: `SELECT * FROM ${dbAppend}users WHERE email = ? OR username = ?`, query: `SELECT * FROM users WHERE email = ? OR username = ?`,
queryValuesArray: [email, username], values: [email, username],
database: dbFullName, database: dbFullName,
debug, }));
});
if (debug) { if (debug) {
console.log("apiLoginUser:foundUser:", foundUser); console.log("apiLoginUser:foundUser:", foundUser);
} }
@ -119,9 +117,9 @@ function apiLoginUser(_a) {
console.log("apiLoginUser:email_login:", email_login); console.log("apiLoginUser:email_login:", email_login);
} }
if (isPasswordCorrect && email_login) { if (isPasswordCorrect && email_login) {
const resetTempCode = yield (0, varDatabaseDbHandler_1.default)({ yield (0, dbHandler_1.default)({
queryString: `UPDATE ${dbAppend}users SET ${email_login_field} = '' WHERE email = ? OR username = ?`, query: `UPDATE users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
queryValuesArray: [email, username], values: [email, username],
database: dbFullName, database: dbFullName,
}); });
} }

View File

@ -13,23 +13,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiReauthUser; exports.default = apiReauthUser;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/** /**
* # Re-authenticate API user * # Re-authenticate API user
*/ */
function apiReauthUser(_a) { function apiReauthUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ existingUser, database, additionalFields, }) { return __awaiter(this, arguments, void 0, function* ({ existingUser, database, additionalFields, }) {
const dbAppend = global.DSQL_USE_LOCAL
? ""
: database
? `${database}.`
: "";
let foundUser = (existingUser === null || existingUser === void 0 ? void 0 : existingUser.id) && existingUser.id.toString().match(/./) let foundUser = (existingUser === null || existingUser === void 0 ? void 0 : existingUser.id) && existingUser.id.toString().match(/./)
? yield (0, varDatabaseDbHandler_1.default)({ ? (yield (0, dbHandler_1.default)({
queryString: `SELECT * FROM ${dbAppend}users WHERE id=?`, query: `SELECT * FROM users WHERE id=?`,
queryValuesArray: [existingUser.id.toString()], values: [existingUser.id.toString()],
database, database,
}) }))
: null; : null;
if (!foundUser || !foundUser[0]) if (!foundUser || !foundUser[0])
return { return {

View File

@ -1,5 +1,5 @@
import http from "http"; import http from "http";
import { SendOneTimeCodeEmailResponse } from "../../../types"; import { CookieObject, SendOneTimeCodeEmailResponse } from "../../../types";
type Param = { type Param = {
email: string; email: string;
database: string; database: string;
@ -13,7 +13,7 @@ type Param = {
response?: http.ServerResponse & { response?: http.ServerResponse & {
[s: string]: any; [s: string]: any;
}; };
extraCookies?: import("../../../../package-shared/types").CookieObject[]; extraCookies?: CookieObject[];
}; };
/** /**
* # Send Email Login Code * # Send Email Login Code

View File

@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiSendEmailCode; exports.default = apiSendEmailCode;
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
const nodemailer_1 = __importDefault(require("nodemailer")); const nodemailer_1 = __importDefault(require("nodemailer"));
const get_auth_cookie_names_1 = __importDefault(require("../../backend/cookies/get-auth-cookie-names")); const get_auth_cookie_names_1 = __importDefault(require("../../backend/cookies/get-auth-cookie-names"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt")); const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
@ -32,14 +32,11 @@ function apiSendEmailCode(_a) {
const createdAt = Date.now(); const createdAt = Date.now();
const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`; const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`;
const foundUserValues = [email]; const foundUserValues = [email];
let foundUser = yield (0, varDatabaseDbHandler_1.default)({ let foundUser = (yield (0, dbHandler_1.default)({
queryString: foundUserQuery, query: foundUserQuery,
queryValuesArray: foundUserValues, values: foundUserValues,
database, database,
}); }));
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
if (!foundUser || !foundUser[0]) { if (!foundUser || !foundUser[0]) {
return { return {
success: false, success: false,
@ -80,12 +77,11 @@ function apiSendEmailCode(_a) {
throw new Error("Mail not Sent!"); throw new Error("Mail not Sent!");
const setTempCodeQuery = `UPDATE ${database}.users SET ${email_login_field} = ? WHERE email = ?`; const setTempCodeQuery = `UPDATE ${database}.users SET ${email_login_field} = ? WHERE email = ?`;
const setTempCodeValues = [tempCode + `-${createdAt}`, email]; const setTempCodeValues = [tempCode + `-${createdAt}`, email];
let setTempCode = yield (0, varDatabaseDbHandler_1.default)({ yield (0, dbHandler_1.default)({
queryString: setTempCodeQuery, query: setTempCodeQuery,
queryValuesArray: setTempCodeValues, values: setTempCodeValues,
database, database,
}); });
/** @type {import("../../../types").SendOneTimeCodeEmailResponse} */
const resObject = { const resObject = {
success: true, success: true,
code: tempCode, code: tempCode,
@ -102,7 +98,6 @@ function apiSendEmailCode(_a) {
if (!encryptedPayload) { if (!encryptedPayload) {
throw new Error("apiSendEmailCode Error: Failed to encrypt payload"); throw new Error("apiSendEmailCode Error: Failed to encrypt payload");
} }
/** @type {import("../../../../package-shared/types").CookieObject} */
const oneTimeCookieObject = { const oneTimeCookieObject = {
name: oneTimeCodeCookieName, name: oneTimeCodeCookieName,
value: encryptedPayload, value: encryptedPayload,
@ -111,7 +106,6 @@ function apiSendEmailCode(_a) {
httpOnly: true, httpOnly: true,
secure: true, secure: true,
}; };
/** @type {import("../../../../package-shared/types").CookieObject[]} */
const cookiesObjectArray = extraCookies const cookiesObjectArray = extraCookies
? [...extraCookies, oneTimeCookieObject] ? [...extraCookies, oneTimeCookieObject]
: [oneTimeCookieObject]; : [oneTimeCookieObject];

View File

@ -17,7 +17,7 @@ exports.default = apiUpdateUser;
const updateDbEntry_1 = __importDefault(require("../../backend/db/updateDbEntry")); const updateDbEntry_1 = __importDefault(require("../../backend/db/updateDbEntry"));
const encrypt_1 = __importDefault(require("../../dsql/encrypt")); const encrypt_1 = __importDefault(require("../../dsql/encrypt"));
const hashPassword_1 = __importDefault(require("../../dsql/hashPassword")); const hashPassword_1 = __importDefault(require("../../dsql/hashPassword"));
const varDatabaseDbHandler_1 = __importDefault(require("../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../backend/dbHandler"));
/** /**
* # Update API User Function * # Update API User Function
*/ */
@ -25,11 +25,11 @@ function apiUpdateUser(_a) {
return __awaiter(this, arguments, void 0, function* ({ payload, dbFullName, updatedUserId, dbSchema, }) { return __awaiter(this, arguments, void 0, function* ({ payload, dbFullName, updatedUserId, dbSchema, }) {
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`; const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
const existingUserValues = [updatedUserId]; const existingUserValues = [updatedUserId];
const existingUser = yield (0, varDatabaseDbHandler_1.default)({ const existingUser = (yield (0, dbHandler_1.default)({
queryString: existingUserQuery, query: existingUserQuery,
queryValuesArray: existingUserValues, values: existingUserValues,
database: dbFullName, database: dbFullName,
}); }));
if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) { if (!(existingUser === null || existingUser === void 0 ? void 0 : existingUser[0])) {
return { return {
success: false, success: false,

View File

@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiSendResetPasswordLink; exports.default = apiSendResetPasswordLink;
const grab_db_full_name_1 = __importDefault(require("../../../../utils/grab-db-full-name")); const grab_db_full_name_1 = __importDefault(require("../../../../utils/grab-db-full-name"));
const varDatabaseDbHandler_1 = __importDefault(require("../../../backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../../backend/dbHandler"));
/** /**
* # API Login * # API Login
*/ */
@ -33,12 +33,11 @@ function apiSendResetPasswordLink(_a) {
msg: "Invalid Email/Password format", msg: "Invalid Email/Password format",
}; };
} }
let foundUser = yield (0, varDatabaseDbHandler_1.default)({ let foundUser = (yield (0, dbHandler_1.default)({
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`, query: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
queryValuesArray: [email, email], values: [email, email],
database: dbFullName, database: dbFullName,
debug, }));
});
if (debug) { if (debug) {
console.log("apiSendResetPassword:foundUser:", foundUser); console.log("apiSendResetPassword:foundUser:", foundUser);
} }

View File

@ -14,9 +14,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addAdminUserOnLogin; exports.default = addAdminUserOnLogin;
const serverError_1 = __importDefault(require("./serverError")); const serverError_1 = __importDefault(require("./serverError"));
const DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DB_HANDLER"));
const addDbEntry_1 = __importDefault(require("./db/addDbEntry")); const addDbEntry_1 = __importDefault(require("./db/addDbEntry"));
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER")); const dbHandler_1 = __importDefault(require("./dbHandler"));
/** /**
* Add Admin User on Login * Add Admin User on Login
* ============================================================================== * ==============================================================================
@ -27,15 +26,14 @@ const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-d
*/ */
function addAdminUserOnLogin(_a) { function addAdminUserOnLogin(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, user, }) { return __awaiter(this, arguments, void 0, function* ({ query, user, }) {
var _b;
try { try {
const finalDbHandler = global.DSQL_USE_LOCAL
? LOCAL_DB_HANDLER_1.default
: DB_HANDLER_1.default;
const { invite, database_access, priviledge, email } = query; const { invite, database_access, priviledge, email } = query;
const lastInviteTimeQuery = `SELECT date_created_code FROM invitations WHERE inviting_user_id=? AND invited_user_email=?`; const lastInviteTimeQuery = `SELECT date_created_code FROM invitations WHERE inviting_user_id=? AND invited_user_email=?`;
const lastInviteTimeValues = [invite, email]; const lastInviteTimeValues = [invite, email];
const lastInviteTimeArray = yield finalDbHandler(lastInviteTimeQuery, lastInviteTimeValues); const lastInviteTimeArray = (yield (0, dbHandler_1.default)({
query: lastInviteTimeQuery,
values: lastInviteTimeValues,
}));
if (!lastInviteTimeArray || !lastInviteTimeArray[0]) { if (!lastInviteTimeArray || !lastInviteTimeArray[0]) {
throw new Error("No Invitation Found"); throw new Error("No Invitation Found");
} }
@ -44,9 +42,15 @@ function addAdminUserOnLogin(_a) {
//////////////////////////////////////////////// ////////////////////////////////////////////////
const invitingUserDbQuery = `SELECT first_name,last_name,email FROM users WHERE id=?`; const invitingUserDbQuery = `SELECT first_name,last_name,email FROM users WHERE id=?`;
const invitingUserDbValues = [invite]; const invitingUserDbValues = [invite];
const invitingUserDb = yield finalDbHandler(invitingUserDbQuery, invitingUserDbValues); const invitingUserDb = (yield (0, dbHandler_1.default)({
query: invitingUserDbQuery,
values: invitingUserDbValues,
}));
if (invitingUserDb === null || invitingUserDb === void 0 ? void 0 : invitingUserDb[0]) { if (invitingUserDb === null || invitingUserDb === void 0 ? void 0 : invitingUserDb[0]) {
const existingUserUser = yield finalDbHandler(`SELECT email FROM user_users WHERE user_id=? AND invited_user_id=? AND user_type='admin' AND email=?`, [invite, user.id, email]); const existingUserUser = (yield (0, dbHandler_1.default)({
query: `SELECT email FROM user_users WHERE user_id=? AND invited_user_id=? AND user_type='admin' AND email=?`,
values: [invite, user.id, email],
}));
if (existingUserUser === null || existingUserUser === void 0 ? void 0 : existingUserUser[0]) { if (existingUserUser === null || existingUserUser === void 0 ? void 0 : existingUserUser[0]) {
console.log("User already added"); console.log("User already added");
} }
@ -72,8 +76,14 @@ function addAdminUserOnLogin(_a) {
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
const dbTableData = yield finalDbHandler(`SELECT db_tables_data FROM invitations WHERE inviting_user_id=? AND invited_user_email=?`, [invite, email]); const dbTableData = (yield (0, dbHandler_1.default)({
const clearEntries = yield finalDbHandler(`DELETE FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=?`, [invite, user.id]); query: `SELECT db_tables_data FROM invitations WHERE inviting_user_id=? AND invited_user_email=?`,
values: [invite, email],
}));
const clearEntries = (yield (0, dbHandler_1.default)({
query: `DELETE FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=?`,
values: [invite, user.id],
}));
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
//////////////////////////////////////////////// ////////////////////////////////////////////////
@ -97,11 +107,13 @@ function addAdminUserOnLogin(_a) {
} }
} }
} }
const inviteAccepted = yield finalDbHandler(`UPDATE invitations SET invitation_status='Accepted' WHERE inviting_user_id=? AND invited_user_email=?`, [invite, email]); const inviteAccepted = (yield (0, dbHandler_1.default)({
query: `UPDATE invitations SET invitation_status='Accepted' WHERE inviting_user_id=? AND invited_user_email=?`,
values: [invite, email],
}));
} }
} }
catch (error) { catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Add Admin User On Login Error`, error);
(0, serverError_1.default)({ (0, serverError_1.default)({
component: "addAdminUserOnLogin", component: "addAdminUserOnLogin",
message: error.message, message: error.message,

View File

@ -14,12 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addMariadbUser; exports.default = addMariadbUser;
const generate_password_1 = __importDefault(require("generate-password")); const generate_password_1 = __importDefault(require("generate-password"));
const DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DB_HANDLER"));
const NO_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/NO_DB_HANDLER"));
const addDbEntry_1 = __importDefault(require("./db/addDbEntry")); const addDbEntry_1 = __importDefault(require("./db/addDbEntry"));
const encrypt_1 = __importDefault(require("../dsql/encrypt")); const encrypt_1 = __importDefault(require("../dsql/encrypt"));
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER"));
const grab_sql_key_name_1 = __importDefault(require("../../utils/grab-sql-key-name")); const grab_sql_key_name_1 = __importDefault(require("../../utils/grab-sql-key-name"));
const dbHandler_1 = __importDefault(require("./dbHandler"));
/** /**
* # Add Mariadb User * # Add Mariadb User
*/ */
@ -37,17 +35,15 @@ function addMariadbUser(_a) {
}); });
const encryptedPassword = (0, encrypt_1.default)({ data: password }); const encryptedPassword = (0, encrypt_1.default)({ data: password });
const createMariadbUsersQuery = `CREATE USER IF NOT EXISTS '${username}'@'127.0.0.1' IDENTIFIED BY '${password}'`; const createMariadbUsersQuery = `CREATE USER IF NOT EXISTS '${username}'@'127.0.0.1' IDENTIFIED BY '${password}'`;
if (global.DSQL_USE_LOCAL) { yield (0, dbHandler_1.default)({
yield (0, LOCAL_DB_HANDLER_1.default)(createMariadbUsersQuery); query: createMariadbUsersQuery,
} });
else {
yield (0, NO_DB_HANDLER_1.default)(createMariadbUsersQuery);
}
const updateUserQuery = `UPDATE users SET mariadb_user = ?, mariadb_host = '127.0.0.1', mariadb_pass = ? WHERE id = ?`; const updateUserQuery = `UPDATE users SET mariadb_user = ?, mariadb_host = '127.0.0.1', mariadb_pass = ? WHERE id = ?`;
const updateUserValues = [username, encryptedPassword, userId]; const updateUserValues = [username, encryptedPassword, userId];
const updateUser = global.DSQL_USE_LOCAL yield (0, dbHandler_1.default)({
? yield (0, LOCAL_DB_HANDLER_1.default)(updateUserQuery, updateUserValues) query: updateUserQuery,
: yield (0, DB_HANDLER_1.default)(updateUserQuery, updateUserValues); values: updateUserValues,
});
const addMariadbUser = yield (0, addDbEntry_1.default)({ const addMariadbUser = yield (0, addDbEntry_1.default)({
tableName: "mariadb_users", tableName: "mariadb_users",
data: { data: {

View File

@ -1,5 +1,5 @@
type Param = { type Param = {
userId: number; userId?: number | string;
database: string; database: string;
payload?: { payload?: {
[s: string]: any; [s: string]: any;

View File

@ -14,12 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addUsersTableToDb; exports.default = addUsersTableToDb;
const serverError_1 = __importDefault(require("./serverError")); const serverError_1 = __importDefault(require("./serverError"));
const DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DB_HANDLER"));
const addDbEntry_1 = __importDefault(require("./db/addDbEntry")); const addDbEntry_1 = __importDefault(require("./db/addDbEntry"));
const createDbFromSchema_1 = __importDefault(require("../../shell/createDbFromSchema")); const createDbFromSchema_1 = __importDefault(require("../../shell/createDbFromSchema"));
const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER"));
const grabNewUsersTableSchema_1 = __importDefault(require("./grabNewUsersTableSchema")); const grabNewUsersTableSchema_1 = __importDefault(require("./grabNewUsersTableSchema"));
const grab_required_database_schemas_1 = require("../../shell/createDbFromSchema/grab-required-database-schemas"); const grab_required_database_schemas_1 = require("../../shell/createDbFromSchema/grab-required-database-schemas");
const dbHandler_1 = __importDefault(require("./dbHandler"));
/** /**
* # Add User Table to Database * # Add User Table to Database
*/ */
@ -45,9 +44,10 @@ function addUsersTableToDb(_a) {
targetDatabase.tables.push(userPreset); targetDatabase.tables.push(userPreset);
} }
(0, grab_required_database_schemas_1.writeUpdatedDbSchema)({ dbSchema: targetDatabase, userId }); (0, grab_required_database_schemas_1.writeUpdatedDbSchema)({ dbSchema: targetDatabase, userId });
const targetDb = global.DSQL_USE_LOCAL const targetDb = (yield (0, dbHandler_1.default)({
? yield (0, LOCAL_DB_HANDLER_1.default)(`SELECT id FROM user_databases WHERE user_id=? AND db_slug=?`, [userId, database]) query: `SELECT id FROM user_databases WHERE user_id=? AND db_slug=?`,
: yield (0, DB_HANDLER_1.default)(`SELECT id FROM user_databases WHERE user_id=? AND db_slug=?`, [userId, database]); values: [userId, database],
}));
if (targetDb === null || targetDb === void 0 ? void 0 : targetDb[0]) { if (targetDb === null || targetDb === void 0 ? void 0 : targetDb[0]) {
const newTableEntry = yield (0, addDbEntry_1.default)({ const newTableEntry = yield (0, addDbEntry_1.default)({
dbFullName: "datasquirel", dbFullName: "datasquirel",

View File

@ -21,7 +21,6 @@ const grabAuthDirs = () => {
}; };
exports.grabAuthDirs = grabAuthDirs; exports.grabAuthDirs = grabAuthDirs;
const initAuthFiles = () => { const initAuthFiles = () => {
var _a;
try { try {
const authDirs = (0, exports.grabAuthDirs)(); const authDirs = (0, exports.grabAuthDirs)();
if (!fs_1.default.existsSync(authDirs.root)) if (!fs_1.default.existsSync(authDirs.root))
@ -32,7 +31,6 @@ const initAuthFiles = () => {
} }
catch (error) { catch (error) {
console.log(`Error initializing Auth Files: ${error.message}`); console.log(`Error initializing Auth Files: ${error.message}`);
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Initializing Auth Files`, error);
return false; return false;
} }
}; };

View File

@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = createDbSchemaFromDb; exports.default = createDbSchemaFromDb;
const varDatabaseDbHandler_1 = __importDefault(require("../../functions/backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry"));
const slugToCamelTitle_1 = __importDefault(require("../../shell/utils/slugToCamelTitle")); const slugToCamelTitle_1 = __importDefault(require("../../shell/utils/slugToCamelTitle"));
const grab_dsql_schema_index_comment_1 = __importDefault(require("../../shell/utils/grab-dsql-schema-index-comment")); const grab_dsql_schema_index_comment_1 = __importDefault(require("../../shell/utils/grab-dsql-schema-index-comment"));
@ -35,10 +35,10 @@ function createDbSchemaFromDb(_a) {
}); });
if (!targetDb) if (!targetDb)
throw new Error(`Target Db not found!`); throw new Error(`Target Db not found!`);
const existingTables = yield (0, varDatabaseDbHandler_1.default)({ const existingTables = (yield (0, dbHandler_1.default)({
database: database.db_full_name, database: database.db_full_name,
queryString: `SHOW TABLES FROM ${database.db_full_name}`, query: `SHOW TABLES FROM ${database.db_full_name}`,
}); }));
if (!existingTables) if (!existingTables)
throw new Error("No Existing Tables"); throw new Error("No Existing Tables");
for (let i = 0; i < existingTables.length; i++) { for (let i = 0; i < existingTables.length; i++) {
@ -60,10 +60,10 @@ function createDbSchemaFromDb(_a) {
fields: [], fields: [],
indexes: [], indexes: [],
}; };
const tableColumns = yield (0, varDatabaseDbHandler_1.default)({ const tableColumns = (yield (0, dbHandler_1.default)({
database: database.db_full_name, database: database.db_full_name,
queryString: `SHOW COLUMNS FROM ${database.db_full_name}.${tableName}`, query: `SHOW COLUMNS FROM ${database.db_full_name}.${tableName}`,
}); }));
if (tableColumns) { if (tableColumns) {
for (let k = 0; k < tableColumns.length; k++) { for (let k = 0; k < tableColumns.length; k++) {
const tableColumn = tableColumns[k]; const tableColumn = tableColumns[k];
@ -88,10 +88,10 @@ function createDbSchemaFromDb(_a) {
tableObject.fields.push(fieldObject); tableObject.fields.push(fieldObject);
} }
} }
const tableIndexes = yield (0, varDatabaseDbHandler_1.default)({ const tableIndexes = (yield (0, dbHandler_1.default)({
database: database.db_full_name, database: database.db_full_name,
queryString: `SHOW INDEXES FROM ${database.db_full_name}.${tableName}`, query: `SHOW INDEXES FROM ${database.db_full_name}.${tableName}`,
}); }));
if (tableIndexes) { if (tableIndexes) {
for (let m = 0; m < tableIndexes.length; m++) { for (let m = 0; m < tableIndexes.length; m++) {
const indexObject = tableIndexes[m]; const indexObject = tableIndexes[m];
@ -106,6 +106,8 @@ function createDbSchemaFromDb(_a) {
indexTableFields: [], indexTableFields: [],
}; };
const targetTableFieldObject = tableColumns === null || tableColumns === void 0 ? void 0 : tableColumns.filter((col) => col.Field === Column_name)[0]; const targetTableFieldObject = tableColumns === null || tableColumns === void 0 ? void 0 : tableColumns.filter((col) => col.Field === Column_name)[0];
if (!targetTableFieldObject)
continue;
const existingIndexField = (_e = tableObject.indexes) === null || _e === void 0 ? void 0 : _e.filter((indx) => indx.indexName == Key_name); const existingIndexField = (_e = tableObject.indexes) === null || _e === void 0 ? void 0 : _e.filter((indx) => indx.indexName == Key_name);
if (existingIndexField && existingIndexField[0]) { if (existingIndexField && existingIndexField[0]) {
(_f = existingIndexField[0].indexTableFields) === null || _f === void 0 ? void 0 : _f.push({ (_f = existingIndexField[0].indexTableFields) === null || _f === void 0 ? void 0 : _f.push({

View File

@ -37,12 +37,6 @@ function addDbEntry(_a) {
label: "isMaster", label: "isMaster",
}); });
} }
const DB_CONN = isMaster
? global.DSQL_DB_CONN
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
const DB_RO_CONN = isMaster
? global.DSQL_DB_CONN
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
let newData = lodash_1.default.cloneDeep(data); let newData = lodash_1.default.cloneDeep(data);
if (newData) { if (newData) {
newData = (0, purge_default_fields_1.default)(newData); newData = (0, purge_default_fields_1.default)(newData);
@ -55,7 +49,9 @@ function addDbEntry(_a) {
typeof duplicateColumnName === "string" && typeof duplicateColumnName === "string" &&
newData) { newData) {
const checkDuplicateQuery = `SELECT * FROM ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`; const checkDuplicateQuery = `SELECT * FROM ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`;
const duplicateValue = yield (0, conn_db_handler_1.default)(DB_RO_CONN, checkDuplicateQuery, [duplicateColumnValue]); const duplicateValue = yield (0, conn_db_handler_1.default)(null, checkDuplicateQuery, [
duplicateColumnValue,
]);
if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) { if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) {
return { return {
success: false, success: false,
@ -78,7 +74,7 @@ function addDbEntry(_a) {
} }
} }
function generateQuery(data) { function generateQuery(data) {
var _a, _b, _c; var _a, _b;
const dataKeys = Object.keys(data); const dataKeys = Object.keys(data);
let insertKeysArray = []; let insertKeysArray = [];
let insertValuesArray = []; let insertValuesArray = [];
@ -131,7 +127,6 @@ function addDbEntry(_a) {
} }
catch (error) { catch (error) {
console.log("DSQL: Error in parsing data keys =>", error.message); console.log("DSQL: Error in parsing data keys =>", error.message);
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error parsing Data Keys`, error);
continue; continue;
} }
} }
@ -149,7 +144,7 @@ function addDbEntry(_a) {
if (newData) { if (newData) {
const { insertKeysArray, insertValuesArray, queryValuesArray } = generateQuery(newData); const { insertKeysArray, insertValuesArray, queryValuesArray } = generateQuery(newData);
const query = `INSERT INTO ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray.map(() => "?").join(",")})`; const query = `INSERT INTO ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${insertValuesArray.map(() => "?").join(",")})`;
const newInsert = yield (0, conn_db_handler_1.default)(DB_CONN, query, queryValuesArray, debug); const newInsert = yield (0, conn_db_handler_1.default)(null, query, queryValuesArray, debug);
return { return {
success: Boolean(newInsert === null || newInsert === void 0 ? void 0 : newInsert.insertId), success: Boolean(newInsert === null || newInsert === void 0 ? void 0 : newInsert.insertId),
payload: newInsert, payload: newInsert,
@ -177,7 +172,7 @@ function addDbEntry(_a) {
.join(",")}`; .join(",")}`;
console.log("query", query); console.log("query", query);
console.log("batchQueryValuesArray", batchQueryValuesArray); console.log("batchQueryValuesArray", batchQueryValuesArray);
const newInsert = yield (0, conn_db_handler_1.default)(DB_CONN, query, batchQueryValuesArray.flat(), debug); const newInsert = yield (0, conn_db_handler_1.default)(null, query, batchQueryValuesArray.flat(), debug);
if (debug) { if (debug) {
(0, debug_log_1.default)({ (0, debug_log_1.default)({
log: newInsert, log: newInsert,

View File

@ -21,21 +21,17 @@ const conn_db_handler_1 = __importDefault(require("../../../utils/db/conn-db-han
*/ */
function deleteDbEntry(_a) { function deleteDbEntry(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, identifierColumnName, identifierValue, forceLocal, }) { return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, identifierColumnName, identifierValue, forceLocal, }) {
var _b;
try { try {
const isMaster = forceLocal const isMaster = forceLocal
? true ? true
: (0, check_if_is_master_1.default)({ dbContext, dbFullName }); : (0, check_if_is_master_1.default)({ dbContext, dbFullName });
const DB_CONN = isMaster
? global.DSQL_DB_CONN
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
/** /**
* Execution * Execution
* *
* @description * @description
*/ */
const query = `DELETE FROM ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${identifierColumnName.toString()}\`=?`; const query = `DELETE FROM ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${identifierColumnName.toString()}\`=?`;
const deletedEntry = yield (0, conn_db_handler_1.default)(DB_CONN, query, [ const deletedEntry = yield (0, conn_db_handler_1.default)(null, query, [
identifierValue, identifierValue,
]); ]);
/** /**
@ -44,7 +40,7 @@ function deleteDbEntry(_a) {
return deletedEntry; return deletedEntry;
} }
catch (error) { catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Deleting Entry`, error); console.log("Error Deleting Entry =>", error.message);
return null; return null;
} }
}); });

View File

@ -8,7 +8,6 @@ type Param = {
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType; dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
queryValuesArray?: (string | number)[]; queryValuesArray?: (string | number)[];
tableName?: string; tableName?: string;
forceLocal?: boolean;
}; };
type Return = { type Return = {
result: any; result: any;
@ -17,5 +16,5 @@ type Return = {
/** /**
* # Run DSQL users queries * # Run DSQL users queries
*/ */
export default function runQuery({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, forceLocal, }: Param): Promise<Return>; export default function runQuery({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, }: Param): Promise<Return>;
export {}; export {};

View File

@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.DbContextsArray = void 0; exports.DbContextsArray = void 0;
exports.default = runQuery; exports.default = runQuery;
const fullAccessDbHandler_1 = __importDefault(require("../fullAccessDbHandler")); const fullAccessDbHandler_1 = __importDefault(require("../fullAccessDbHandler"));
const varReadOnlyDatabaseDbHandler_1 = __importDefault(require("../varReadOnlyDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../dbHandler"));
const serverError_1 = __importDefault(require("../serverError")); const serverError_1 = __importDefault(require("../serverError"));
const addDbEntry_1 = __importDefault(require("./addDbEntry")); const addDbEntry_1 = __importDefault(require("./addDbEntry"));
const updateDbEntry_1 = __importDefault(require("./updateDbEntry")); const updateDbEntry_1 = __importDefault(require("./updateDbEntry"));
@ -26,7 +26,7 @@ exports.DbContextsArray = ["Master", "Dsql User"];
* # Run DSQL users queries * # Run DSQL users queries
*/ */
function runQuery(_a) { function runQuery(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, forceLocal, }) { return __awaiter(this, arguments, void 0, function* ({ dbFullName, query, readOnly, dbSchema, queryValuesArray, tableName, debug, dbContext, }) {
/** /**
* Declare variables * Declare variables
* *
@ -60,7 +60,7 @@ function runQuery(_a) {
try { try {
if (typeof query === "string") { if (typeof query === "string") {
const formattedQuery = (0, trim_sql_1.default)(query); const formattedQuery = (0, trim_sql_1.default)(query);
if (debug && global.DSQL_USE_LOCAL) { if (debug) {
console.log("runQuery:formattedQuery", formattedQuery); console.log("runQuery:formattedQuery", formattedQuery);
} }
/** /**
@ -72,11 +72,9 @@ function runQuery(_a) {
throw new Error("Wrong Input!"); throw new Error("Wrong Input!");
} }
if (readOnly) { if (readOnly) {
result = yield (0, varReadOnlyDatabaseDbHandler_1.default)({ result = yield (0, dbHandler_1.default)({
queryString: formattedQuery, query: formattedQuery,
queryValuesArray: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)), values: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)),
tableSchema,
forceLocal,
}); });
} }
else { else {
@ -84,7 +82,6 @@ function runQuery(_a) {
queryString: formattedQuery, queryString: formattedQuery,
queryValuesArray: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)), queryValuesArray: queryValuesArray === null || queryValuesArray === void 0 ? void 0 : queryValuesArray.map((vl) => String(vl)),
tableSchema, tableSchema,
forceLocal,
}); });
} }
} }
@ -144,7 +141,7 @@ function runQuery(_a) {
component: "functions/backend/runQuery", component: "functions/backend/runQuery",
message: err.message, message: err.message,
}); });
if (debug && global.DSQL_USE_LOCAL) { if (debug) {
console.log("runQuery:error", err.message); console.log("runQuery:error", err.message);
} }
result = null; result = null;

View File

@ -40,9 +40,6 @@ function updateDbEntry(_a) {
const isMaster = forceLocal const isMaster = forceLocal
? true ? true
: (0, check_if_is_master_1.default)({ dbContext, dbFullName }); : (0, check_if_is_master_1.default)({ dbContext, dbFullName });
const DB_CONN = isMaster
? global.DSQL_DB_CONN
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
//////////////////////////////////////// ////////////////////////////////////////
//////////////////////////////////////// ////////////////////////////////////////
//////////////////////////////////////// ////////////////////////////////////////
@ -128,7 +125,7 @@ function updateDbEntry(_a) {
//////////////////////////////////////// ////////////////////////////////////////
const query = `UPDATE ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`; const query = `UPDATE ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
updateValues.push(identifierValue); updateValues.push(identifierValue);
const updatedEntry = yield (0, conn_db_handler_1.default)(DB_CONN, query, updateValues); const updatedEntry = yield (0, conn_db_handler_1.default)(null, query, updateValues);
/** /**
* Return statement * Return statement
*/ */

View File

@ -1,11 +1,24 @@
type Param = { import { DSQL_TableSchemaType } from "../../types";
import { ConnectionConfig } from "mariadb";
type Param<T extends {
[k: string]: any;
} = {
[k: string]: any;
}> = {
query: string; query: string;
values?: string[] | object; values?: string[] | object;
noErrorLogs?: boolean; noErrorLogs?: boolean;
database?: string;
tableSchema?: DSQL_TableSchemaType;
config?: ConnectionConfig;
}; };
/** /**
* # Main DB Handler Function * # Main DB Handler Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database * @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/ */
export default function dbHandler({ query, values, noErrorLogs, }: Param): Promise<any[] | object | null>; export default function dbHandler<T extends {
[k: string]: any;
} = {
[k: string]: any;
}>({ query, values, noErrorLogs, database, config, }: Param<T>): Promise<T[] | T | null>;
export {}; export {};

View File

@ -21,24 +21,26 @@ const grab_dsql_connection_1 = __importDefault(require("../../utils/grab-dsql-co
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database * @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/ */
function dbHandler(_a) { function dbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, values, noErrorLogs, }) { return __awaiter(this, arguments, void 0, function* ({ query, values, noErrorLogs, database, config, }) {
var _b; let CONNECTION;
const CONNECTION = yield (0, grab_dsql_connection_1.default)();
let results; let results;
try { try {
CONNECTION = yield (0, grab_dsql_connection_1.default)({ database, config });
if (query && values) { if (query && values) {
results = yield CONNECTION.query(query, values); const queryResults = yield CONNECTION.query(query, values);
results = queryResults[0];
} }
else { else {
results = yield CONNECTION.query(query); const queryResults = yield CONNECTION.query(query);
results = queryResults[0];
} }
} }
catch (error) { catch (error) {
if (!noErrorLogs) { console.log("Connection Info =>", CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.info);
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `DB Handler Error...`, error); if (error.message &&
} typeof error.message == "string" &&
if (process.env.FIRST_RUN) { error.message.match(/Access denied for user.*password/i)) {
return null; throw new Error("Authentication Failed!");
} }
if (!noErrorLogs) { if (!noErrorLogs) {
console.log("ERROR in dbHandler =>", error.message); console.log("ERROR in dbHandler =>", error.message);
@ -54,12 +56,7 @@ function dbHandler(_a) {
yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end()); yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end());
} }
if (results) { if (results) {
if (Array.isArray(results)) { return results;
return Array.from(results);
}
else {
return results;
}
} }
else { else {
return null; return null;

View File

@ -2,10 +2,9 @@ type Param = {
queryString: string; queryString: string;
tableSchema?: import("../../types").DSQL_TableSchemaType | null; tableSchema?: import("../../types").DSQL_TableSchemaType | null;
queryValuesArray?: string[]; queryValuesArray?: string[];
forceLocal?: boolean;
}; };
/** /**
* # Full Access Db Handler * # Full Access Db Handler
*/ */
export default function fullAccessDbHandler({ queryString, tableSchema, queryValuesArray, forceLocal, }: Param): Promise<any>; export default function fullAccessDbHandler({ queryString, tableSchema, queryValuesArray, }: Param): Promise<any>;
export {}; export {};

View File

@ -20,29 +20,25 @@ const serverError_1 = __importDefault(require("./serverError"));
* # Full Access Db Handler * # Full Access Db Handler
*/ */
function fullAccessDbHandler(_a) { function fullAccessDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, tableSchema, queryValuesArray, forceLocal, }) { return __awaiter(this, arguments, void 0, function* ({ queryString, tableSchema, queryValuesArray, }) {
var _b;
/** /**
* Declare variables * Declare variables
* *
* @description Declare "results" variable * @description Declare "results" variable
*/ */
let results; let results;
const DB_CONN = forceLocal
? global.DSQL_DB_CONN
: global.DSQL_FULL_ACCESS_DB_CONN || global.DSQL_DB_CONN;
/** /**
* Fetch from db * Fetch from db
* *
* @description Fetch data from db if no cache * @description Fetch data from db if no cache
*/ */
try { try {
results = yield (0, conn_db_handler_1.default)(DB_CONN, queryString, queryValuesArray); results = yield (0, conn_db_handler_1.default)(null, queryString, queryValuesArray);
//////////////////////////////////////// ////////////////////////////////////////
} }
catch (error) { catch (error) {
//////////////////////////////////////// ////////////////////////////////////////
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Full Access DB Handler Error`, error); console.log("Full Access DB Handler Error =>", error.message);
(0, serverError_1.default)({ (0, serverError_1.default)({
component: "fullAccessDbHandler", component: "fullAccessDbHandler",
message: error.message, message: error.message,

View File

@ -0,0 +1,6 @@
type HandleBackupParams = {
appBackup?: boolean;
userId?: string | number;
};
export default function handleBackup({ appBackup, userId, }: HandleBackupParams): Promise<void>;
export {};

View File

@ -0,0 +1,62 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = handleBackup;
const grab_user_resource_1 = __importDefault(require("@/src/functions/db/grab-user-resource"));
const add_backup_1 = __importDefault(require("@/src/functions/api/su/add-backup"));
const grab_config_1 = __importDefault(require("@/package-shared/utils/backend/config/grab-config"));
const delete_backup_1 = __importDefault(require("@/src/functions/api/su/add-backup/delete-backup"));
function handleBackup(_a) {
return __awaiter(this, arguments, void 0, function* ({ appBackup, userId, }) {
var _b;
const { appConfig } = (0, grab_config_1.default)();
const maxBackups = ((_b = appConfig.main.max_backups) === null || _b === void 0 ? void 0 : _b.value) || 20;
const { count: existingAppBackupsCount } = yield (0, grab_user_resource_1.default)({
tableName: "backups",
isSuperUser: true,
query: {
query: {
user_id: {
nullValue: appBackup ? true : undefined,
value: appBackup ? undefined : String(userId),
},
},
},
countOnly: true,
});
if (existingAppBackupsCount && existingAppBackupsCount >= maxBackups) {
const { single: oldestAppBackup } = yield (0, grab_user_resource_1.default)({
tableName: "backups",
isSuperUser: true,
query: {
query: {
user_id: {
nullValue: appBackup ? true : undefined,
value: appBackup ? undefined : String(userId),
},
},
order: {
field: "id",
strategy: "ASC",
},
limit: 1,
},
});
if (oldestAppBackup === null || oldestAppBackup === void 0 ? void 0 : oldestAppBackup.id) {
yield (0, delete_backup_1.default)({ backup: oldestAppBackup });
}
}
yield (0, add_backup_1.default)({ targetUserId: userId });
});
}

View File

@ -4,8 +4,9 @@ export type HandleNodemailerParam = Mail.Options & {
senderName?: string; senderName?: string;
alias?: string | null; alias?: string | null;
options?: SMTPTransport.Options; options?: SMTPTransport.Options;
verifyOnly?: boolean;
}; };
/** /**
* # Handle mails With Nodemailer * # Handle mails With Nodemailer
*/ */
export default function handleNodemailer(params: HandleNodemailerParam): Promise<SMTPTransport.SentMessageInfo | undefined>; export default function handleNodemailer(params: HandleNodemailerParam): Promise<SMTPTransport.SentMessageInfo | boolean | undefined>;

View File

@ -21,16 +21,20 @@ const nodemailer_1 = __importDefault(require("nodemailer"));
*/ */
function handleNodemailer(params) { function handleNodemailer(params) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
var _a, _b; var _a, _b, _c;
if (!process.env.DSQL_MAIL_HOST || if (!process.env.DSQL_MAIL_HOST ||
!process.env.DSQL_MAIL_EMAIL || !process.env.DSQL_MAIL_EMAIL ||
!process.env.DSQL_MAIL_PASSWORD) { !process.env.DSQL_MAIL_PASSWORD) {
return undefined; return undefined;
} }
let transporter = nodemailer_1.default.createTransport(Object.assign({ host: process.env.DSQL_MAIL_HOST, port: 465, secure: true, auth: { let transporter = nodemailer_1.default.createTransport(Object.assign(Object.assign({ host: process.env.DSQL_MAIL_HOST, port: 465, secure: true }, params.options), { auth: Object.assign({ user: process.env.DSQL_MAIL_EMAIL, pass: process.env.DSQL_MAIL_PASSWORD }, (_a = params.options) === null || _a === void 0 ? void 0 : _a.auth) }));
user: process.env.DSQL_MAIL_EMAIL, if (params.verifyOnly) {
pass: process.env.DSQL_MAIL_PASSWORD, const isMailServerValid = yield transporter.verify();
} }, params.options)); if (!isMailServerValid) {
return false;
}
return true;
}
const sender = (() => { const sender = (() => {
var _a; var _a;
if ((_a = params.alias) === null || _a === void 0 ? void 0 : _a.match(/support/i)) if ((_a = params.alias) === null || _a === void 0 ? void 0 : _a.match(/support/i))
@ -43,9 +47,9 @@ function handleNodemailer(params) {
: undefined; : undefined;
let finalHtml = mailRoot let finalHtml = mailRoot
? mailRoot ? mailRoot
.replace(/{{email_body}}/, ((_a = params.html) === null || _a === void 0 ? void 0 : _a.toString()) || "") .replace(/{{email_body}}/, ((_b = params.html) === null || _b === void 0 ? void 0 : _b.toString()) || "")
.replace(/{{issue_date}}/, Date().substring(0, 24)) .replace(/{{issue_date}}/, Date().substring(0, 24))
: (_b = params.html) === null || _b === void 0 ? void 0 : _b.toString(); : (_c = params.html) === null || _c === void 0 ? void 0 : _c.toString();
try { try {
let mailObject = {}; let mailObject = {};
mailObject["from"] = `"${params.senderName || "Datasquirel"}" <${sender}>`; mailObject["from"] = `"${params.senderName || "Datasquirel"}" <${sender}>`;

View File

@ -28,6 +28,8 @@ function suDbHandler(_a) {
supportBigNumbers: true, supportBigNumbers: true,
bigNumberStrings: false, bigNumberStrings: false,
dateStrings: true, dateStrings: true,
bigIntAsNumber: true,
metaAsArray: true,
}); });
// const connection = mariadb.createPool({ // const connection = mariadb.createPool({
// host: process.env.DSQL_DB_HOST, // host: process.env.DSQL_DB_HOST,

View File

@ -1,5 +1,5 @@
type Param = { type Param = {
userId: number | string; userId?: number | string;
database: string; database: string;
newFields?: string[]; newFields?: string[];
newPayload?: { newPayload?: {

View File

@ -22,7 +22,7 @@ const grab_required_database_schemas_1 = require("../../shell/createDbFromSchema
*/ */
function updateUsersTableSchema(_a) { function updateUsersTableSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId, database, newFields, newPayload, dbId, }) { return __awaiter(this, arguments, void 0, function* ({ userId, database, newFields, newPayload, dbId, }) {
var _b, _c; var _b;
try { try {
const dbFullName = database; const dbFullName = database;
let targetDatabase = (0, grab_required_database_schemas_1.grabPrimaryRequiredDbSchema)({ let targetDatabase = (0, grab_required_database_schemas_1.grabPrimaryRequiredDbSchema)({
@ -51,7 +51,7 @@ function updateUsersTableSchema(_a) {
return `Done!`; return `Done!`;
} }
catch (error) { catch (error) {
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error Updating User Table Schema`, error); console.log("Error Updating User Table Schema =>", error.message);
(0, serverError_1.default)({ (0, serverError_1.default)({
component: "addUsersTableToDb", component: "addUsersTableToDb",
message: error.message, message: error.message,

View File

@ -30,6 +30,8 @@ function userDbHandler(_a) {
supportBigNumbers: true, supportBigNumbers: true,
bigNumberStrings: false, bigNumberStrings: false,
dateStrings: true, dateStrings: true,
bigIntAsNumber: true,
metaAsArray: true,
}); });
const results = yield (0, conn_db_handler_1.default)(connection, query); const results = yield (0, conn_db_handler_1.default)(connection, query);
return results; return results;

View File

@ -1,13 +0,0 @@
import { DSQL_TableSchemaType } from "../../types";
type Param = {
queryString: string;
queryValuesArray?: any[];
database?: string;
tableSchema?: DSQL_TableSchemaType;
debug?: boolean;
};
/**
* # DB handler for specific database
*/
export default function varDatabaseDbHandler({ queryString, queryValuesArray, database, tableSchema, debug, }: Param): Promise<any>;
export {};

View File

@ -1,65 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = varDatabaseDbHandler;
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
const serverError_1 = __importDefault(require("./serverError"));
const grab_dsql_connection_1 = __importDefault(require("../../utils/grab-dsql-connection"));
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
/**
* # DB handler for specific database
*/
function varDatabaseDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, debug, }) {
var _b;
let CONNECTION = yield (0, grab_dsql_connection_1.default)({ fa: true });
if (global.DSQL_USE_LOCAL)
CONNECTION = yield (0, grab_dsql_connection_1.default)({ local: true });
if (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/))
CONNECTION = yield (0, grab_dsql_connection_1.default)();
if (debug) {
console.log(`varDatabaseDbHandler:query:`, queryString);
console.log(`varDatabaseDbHandler:values:`, queryValuesArray);
}
let results = yield (0, conn_db_handler_1.default)(CONNECTION, queryString, queryValuesArray);
if (debug) {
console.log(`varDatabaseDbHandler:results:`, results);
}
if (results && tableSchema) {
try {
const unparsedResults = results;
const parsedResults = yield (0, parseDbResults_1.default)({
unparsedResults: unparsedResults,
tableSchema: tableSchema,
});
return parsedResults;
}
catch (error) {
console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>", database, error);
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `VarDb Handler Error`, error);
(0, serverError_1.default)({
component: "varDatabaseDbHandler/lines-52-53",
message: error.message,
});
return null;
}
}
else if (results) {
return results;
}
else {
return null;
}
});
}

View File

@ -1,12 +0,0 @@
type Param = {
queryString: string;
queryValuesArray?: string[];
tableSchema?: import("../../types").DSQL_TableSchemaType;
forceLocal?: boolean;
};
/**
* # Read Only Db Handler with Varaibles
* @returns
*/
export default function varReadOnlyDatabaseDbHandler({ queryString, queryValuesArray, tableSchema, forceLocal, }: Param): Promise<any>;
export {};

View File

@ -1,56 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = varReadOnlyDatabaseDbHandler;
const serverError_1 = __importDefault(require("./serverError"));
const parseDbResults_1 = __importDefault(require("./parseDbResults"));
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
/**
* # Read Only Db Handler with Varaibles
* @returns
*/
function varReadOnlyDatabaseDbHandler(_a) {
return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, tableSchema, forceLocal, }) {
var _b;
let results;
const DB_CONN = forceLocal
? global.DSQL_DB_CONN
: global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
try {
results = yield (0, conn_db_handler_1.default)(DB_CONN, queryString, queryValuesArray);
}
catch (error) {
(0, serverError_1.default)({
component: "varReadOnlyDatabaseDbHandler",
message: error.message,
noMail: true,
});
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `VarReadOnlyDB Handler Error`, error);
return error.message;
}
finally {
}
if (results) {
const unparsedResults = results;
const parsedResults = yield (0, parseDbResults_1.default)({
unparsedResults: unparsedResults,
tableSchema: tableSchema,
});
return parsedResults;
}
else {
return null;
}
});
}

View File

@ -2,9 +2,10 @@ type Param = {
encryptedString: string; encryptedString: string;
encryptionKey?: string; encryptionKey?: string;
encryptionSalt?: string; encryptionSalt?: string;
debug?: boolean;
}; };
/** /**
* # Decrypt Function * # Decrypt Function
*/ */
export default function decrypt({ encryptedString, encryptionKey, encryptionSalt, }: Param): string; export default function decrypt({ encryptedString, encryptionKey, encryptionSalt, debug, }: Param): string;
export {}; export {};

View File

@ -11,19 +11,21 @@ const grab_keys_1 = __importDefault(require("../../utils/grab-keys"));
/** /**
* # Decrypt Function * # Decrypt Function
*/ */
function decrypt({ encryptedString, encryptionKey, encryptionSalt, }) { function decrypt({ encryptedString, encryptionKey, encryptionSalt, debug, }) {
var _a;
if (!(encryptedString === null || encryptedString === void 0 ? void 0 : encryptedString.match(/./))) { if (!(encryptedString === null || encryptedString === void 0 ? void 0 : encryptedString.match(/./))) {
console.log("Encrypted string is invalid"); if (debug)
console.log("Encrypted string is invalid");
return encryptedString; return encryptedString;
} }
const { key: encrptKey, salt, keyLen, algorithm, bufferAllocSize, } = (0, grab_keys_1.default)({ encryptionKey }); const { key: encrptKey, salt, keyLen, algorithm, bufferAllocSize, } = (0, grab_keys_1.default)({ encryptionKey });
if (!(encrptKey === null || encrptKey === void 0 ? void 0 : encrptKey.match(/.{8,}/))) { if (!(encrptKey === null || encrptKey === void 0 ? void 0 : encrptKey.match(/.{8,}/))) {
console.log("Decrption key is invalid"); if (debug)
console.log("Decrption key is invalid");
return encryptedString; return encryptedString;
} }
if (!(salt === null || salt === void 0 ? void 0 : salt.match(/.{8,}/))) { if (!(salt === null || salt === void 0 ? void 0 : salt.match(/.{8,}/))) {
console.log("Decrption salt is invalid"); if (debug)
console.log("Decrption salt is invalid");
return encryptedString; return encryptedString;
} }
let key = (0, crypto_1.scryptSync)(encrptKey, salt, keyLen); let key = (0, crypto_1.scryptSync)(encrptKey, salt, keyLen);
@ -35,9 +37,9 @@ function decrypt({ encryptedString, encryptionKey, encryptionSalt, }) {
return decrypted; return decrypted;
} }
catch (error) { catch (error) {
console.log("Error in decrypting =>", error.message); if (debug) {
console.log("encryptedString =>", encryptedString); console.log("Error Decrypting data", error);
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Decrypting data`, error); }
return encryptedString; return encryptedString;
} }
} }

View File

@ -12,7 +12,6 @@ const grab_keys_1 = __importDefault(require("../../utils/grab-keys"));
* # Encrypt String * # Encrypt String
*/ */
function encrypt({ data, encryptionKey, encryptionSalt, }) { function encrypt({ data, encryptionKey, encryptionSalt, }) {
var _a;
if (!(data === null || data === void 0 ? void 0 : data.match(/./))) { if (!(data === null || data === void 0 ? void 0 : data.match(/./))) {
console.log("Encryption string is invalid"); console.log("Encryption string is invalid");
return data; return data;
@ -37,7 +36,6 @@ function encrypt({ data, encryptionKey, encryptionSalt, }) {
} }
catch (error) { catch (error) {
console.log("Error in encrypting =>", error.message); console.log("Error in encrypting =>", error.message);
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Encrypting Data`, error);
return data; return data;
} }
} }

View File

@ -40,6 +40,12 @@ function validateEmail(_a) {
} }
if (welcomeEmailOptions) { if (welcomeEmailOptions) {
const welcomeEmail = yield (0, handleNodemailer_1.default)(welcomeEmailOptions); const welcomeEmail = yield (0, handleNodemailer_1.default)(welcomeEmailOptions);
if (typeof welcomeEmail == "boolean") {
return {
isValid: false,
message: "Email verification failed.",
};
}
if (!((_b = welcomeEmail === null || welcomeEmail === void 0 ? void 0 : welcomeEmail.accepted) === null || _b === void 0 ? void 0 : _b[0])) { if (!((_b = welcomeEmail === null || welcomeEmail === void 0 ? void 0 : welcomeEmail.accepted) === null || _b === void 0 ? void 0 : _b[0])) {
return { return {
isValid: false, isValid: false,

View File

@ -1,17 +1,4 @@
import { DsqlCrudQueryObject } from "../../../../types"; import { GrabUserResourceParams } from "../../../../types";
import { DsqlTables } from "../../../../types/dsql";
export type GrabUserResourceParams<T extends {
[k: string]: any;
} = any> = {
query?: DsqlCrudQueryObject<T>;
userId?: string | number;
tableName: (typeof DsqlTables)[number];
count?: boolean;
countOnly?: boolean;
noLimit?: boolean;
isSuperUser?: boolean;
targetID?: string | number;
};
export default function dbGrabUserResource<T extends { export default function dbGrabUserResource<T extends {
[k: string]: any; [k: string]: any;
} = any>(params: GrabUserResourceParams<T>): Promise<{ } = any>(params: GrabUserResourceParams<T>): Promise<{
@ -25,5 +12,5 @@ export default function dbGrabUserResource<T extends {
error: any; error: any;
msg: string | undefined; msg: string | undefined;
}; };
count: number; count: number | undefined;
}>; }>;

View File

@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = dbGrabUserResource; exports.default = dbGrabUserResource;
const crud_1 = __importDefault(require("../../../../utils/data-fetching/crud")); const crud_1 = __importDefault(require("../../../../utils/data-fetching/crud"));
const query_1 = __importDefault(require("./query")); const query_1 = __importDefault(require("./query"));
const numberfy_1 = __importDefault(require("../../../../utils/numberfy"));
function dbGrabUserResource(params) { function dbGrabUserResource(params) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
let queryObject = (0, query_1.default)(params); let queryObject = (0, query_1.default)(params);
@ -35,7 +34,7 @@ function dbGrabUserResource(params) {
error: result === null || result === void 0 ? void 0 : result.error, error: result === null || result === void 0 ? void 0 : result.error,
msg: result === null || result === void 0 ? void 0 : result.msg, msg: result === null || result === void 0 ? void 0 : result.msg,
}, },
count: (0, numberfy_1.default)(result === null || result === void 0 ? void 0 : result.count), count: typeof (result === null || result === void 0 ? void 0 : result.count) == "number" ? result.count : undefined,
}; };
}); });
} }

View File

@ -1,4 +1,4 @@
import { GrabUserResourceParams } from "."; import { GrabUserResourceParams } from "../../../../types";
export default function (params?: GrabUserResourceParams): import("../../../../types").ServerQueryParam<{ export default function (params?: GrabUserResourceParams): import("../../../../types").ServerQueryParam<{
[k: string]: any; [k: string]: any;
}> & { }> & {

View File

@ -15,5 +15,9 @@ type CreateNewUserParams = {
host?: string; host?: string;
password?: string; password?: string;
}; };
export declare function createNewSQLUser({ host, password, username, }: CreateNewUserParams): Promise<object | any[] | null>; export declare function createNewSQLUser({ host, password, username, }: CreateNewUserParams): Promise<{
[k: string]: any;
} | {
[k: string]: any;
}[] | null>;
export {}; export {};

View File

@ -26,15 +26,13 @@ const grab_dsql_connection_1 = __importDefault(require("../utils/grab-dsql-conne
* @returns {Promise<object|null>} * @returns {Promise<object|null>}
*/ */
(() => __awaiter(void 0, void 0, void 0, function* () { (() => __awaiter(void 0, void 0, void 0, function* () {
var _a;
const CONNECTION = yield (0, grab_dsql_connection_1.default)(); const CONNECTION = yield (0, grab_dsql_connection_1.default)();
try { try {
const result = yield CONNECTION.query("SELECT id,first_name,last_name FROM users LIMIT 3"); const [result] = yield CONNECTION.query("SELECT id,first_name,last_name FROM users LIMIT 3");
console.log("Connection Query Success =>", result); console.log("Connection Query Success =>", result);
} }
catch (error) { catch (error) {
console.log("Connection query ERROR =>", error.message); console.log("Connection query ERROR =>", error.message);
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Checking DB`, error);
} }
finally { finally {
yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end()); yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end());

View File

@ -13,26 +13,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = checkDbRecordCreateDbSchema; exports.default = checkDbRecordCreateDbSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const numberfy_1 = __importDefault(require("../../utils/numberfy")); const numberfy_1 = __importDefault(require("../../utils/numberfy"));
const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry"));
const updateDbEntry_1 = __importDefault(require("../../functions/backend/db/updateDbEntry")); const updateDbEntry_1 = __importDefault(require("../../functions/backend/db/updateDbEntry"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/** /**
* # Create database from Schema Function * # Create database from Schema Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database * @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/ */
function checkDbRecordCreateDbSchema(_a) { function checkDbRecordCreateDbSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId, dbSchema, isMain, }) { return __awaiter(this, arguments, void 0, function* ({ userId, dbSchema, isMain, }) {
var _b, _c; var _b;
if (isMain) if (isMain)
return undefined; return undefined;
try { try {
const { dbFullName, dbName, dbSlug, dbDescription, dbImage, childDatabase, childDatabaseDbId, id, } = dbSchema; const { dbFullName, dbName, dbSlug, dbDescription, dbImage, childDatabase, childDatabaseDbId, id, } = dbSchema;
let recordedDbEntryArray = userId let recordedDbEntryArray = userId
? yield (0, varDatabaseDbHandler_1.default)({ ? (yield (0, dbHandler_1.default)({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`, query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"], values: [dbFullName || "NULL"],
}) }))
: undefined; : undefined;
let recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0]; let recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
const newDbEntryObj = { const newDbEntryObj = {
@ -53,10 +53,10 @@ function checkDbRecordCreateDbSchema(_a) {
forceLocal: true, forceLocal: true,
}); });
if ((_b = newDbEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) { if ((_b = newDbEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
recordedDbEntryArray = yield (0, varDatabaseDbHandler_1.default)({ recordedDbEntryArray = (yield (0, dbHandler_1.default)({
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`, query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
queryValuesArray: [dbFullName || "NULL"], values: [dbFullName || "NULL"],
}); }));
recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0]; recordedDbEntry = recordedDbEntryArray === null || recordedDbEntryArray === void 0 ? void 0 : recordedDbEntryArray[0];
} }
} }
@ -72,7 +72,7 @@ function checkDbRecordCreateDbSchema(_a) {
return recordedDbEntry; return recordedDbEntry;
} }
catch (error) { catch (error) {
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error Checking DB Record on Creating Schema`, error); console.log("Error =\u003e", error.message);
return undefined; return undefined;
} }
}); });

View File

@ -13,17 +13,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = checkTableRecordCreateDbSchema; exports.default = checkTableRecordCreateDbSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const sql_generator_1 = __importDefault(require("../../functions/dsql/sql/sql-generator")); const sql_generator_1 = __importDefault(require("../../functions/dsql/sql/sql-generator"));
const numberfy_1 = __importDefault(require("../../utils/numberfy")); const numberfy_1 = __importDefault(require("../../utils/numberfy"));
const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../functions/backend/db/addDbEntry"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/** /**
* # Create database from Schema Function * # Create database from Schema Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database * @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/ */
function checkTableRecordCreateDbSchema(_a) { function checkTableRecordCreateDbSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId, tableSchema, dbSchema, dbRecord, dbFullName, }) { return __awaiter(this, arguments, void 0, function* ({ userId, tableSchema, dbSchema, dbRecord, dbFullName, }) {
var _b, _c; var _b;
if (!tableSchema) if (!tableSchema)
return undefined; return undefined;
try { try {
@ -45,10 +45,10 @@ function checkTableRecordCreateDbSchema(_a) {
dbFullName: "datasquirel", dbFullName: "datasquirel",
}); });
let recordedTableEntryArray = userId let recordedTableEntryArray = userId
? yield (0, varDatabaseDbHandler_1.default)({ ? (yield (0, dbHandler_1.default)({
queryString: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "", query: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
queryValuesArray: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values, values: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
}) }))
: undefined; : undefined;
let recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0]; let recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0];
if (!(recordedTableEntry === null || recordedTableEntry === void 0 ? void 0 : recordedTableEntry.id) && userId) { if (!(recordedTableEntry === null || recordedTableEntry === void 0 ? void 0 : recordedTableEntry.id) && userId) {
@ -75,17 +75,17 @@ function checkTableRecordCreateDbSchema(_a) {
forceLocal: true, forceLocal: true,
}); });
if ((_b = newTableRecordEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) { if ((_b = newTableRecordEntry.payload) === null || _b === void 0 ? void 0 : _b.insertId) {
recordedTableEntryArray = yield (0, varDatabaseDbHandler_1.default)({ recordedTableEntryArray = (yield (0, dbHandler_1.default)({
queryString: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "", query: (queryObj === null || queryObj === void 0 ? void 0 : queryObj.string) || "",
queryValuesArray: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values, values: queryObj === null || queryObj === void 0 ? void 0 : queryObj.values,
}); }));
recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0]; recordedTableEntry = recordedTableEntryArray === null || recordedTableEntryArray === void 0 ? void 0 : recordedTableEntryArray[0];
} }
} }
return recordedTableEntry; return recordedTableEntry;
} }
catch (error) { catch (error) {
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `Error Checking Table Record on Creating Schema`, error); console.log("Error =\u003e", error.message);
return undefined; return undefined;
} }
}); });

View File

@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = handleIndexescreateDbFromSchema; exports.default = handleIndexescreateDbFromSchema;
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const grab_dsql_schema_index_comment_1 = __importDefault(require("../utils/grab-dsql-schema-index-comment")); const grab_dsql_schema_index_comment_1 = __importDefault(require("../utils/grab-dsql-schema-index-comment"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
/** /**
* Handle DATASQUIREL Table Indexes * Handle DATASQUIREL Table Indexes
* =================================================== * ===================================================
@ -23,9 +23,9 @@ const grab_dsql_schema_index_comment_1 = __importDefault(require("../utils/grab-
*/ */
function handleIndexescreateDbFromSchema(_a) { function handleIndexescreateDbFromSchema(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbFullName, tableName, indexes, }) { return __awaiter(this, arguments, void 0, function* ({ dbFullName, tableName, indexes, }) {
const allExistingIndexes = yield (0, varDatabaseDbHandler_1.default)({ const allExistingIndexes = (yield (0, dbHandler_1.default)({
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``, query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
}); }));
for (let g = 0; g < indexes.length; g++) { for (let g = 0; g < indexes.length; g++) {
const { indexType, indexName, indexTableFields, alias } = indexes[g]; const { indexType, indexName, indexTableFields, alias } = indexes[g];
if (!(alias === null || alias === void 0 ? void 0 : alias.match(/./))) if (!(alias === null || alias === void 0 ? void 0 : alias.match(/./)))
@ -44,11 +44,11 @@ function handleIndexescreateDbFromSchema(_a) {
* doesn't exist in MYSQL db * doesn't exist in MYSQL db
*/ */
const queryString = `CREATE${indexType == "full_text" ? " FULLTEXT" : ""} INDEX \`${alias}\` ON \`${dbFullName}\`.\`${tableName}\`(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT '${(0, grab_dsql_schema_index_comment_1.default)()} ${indexName}'`; const queryString = `CREATE${indexType == "full_text" ? " FULLTEXT" : ""} INDEX \`${alias}\` ON \`${dbFullName}\`.\`${tableName}\`(${indexTableFields === null || indexTableFields === void 0 ? void 0 : indexTableFields.map((nm) => nm.value).map((nm) => `\`${nm}\``).join(",")}) COMMENT '${(0, grab_dsql_schema_index_comment_1.default)()} ${indexName}'`;
const addIndex = yield (0, varDatabaseDbHandler_1.default)({ queryString }); const addIndex = yield (0, dbHandler_1.default)({ query: queryString });
} }
} }
const allExistingIndexesAfterUpdate = yield (0, varDatabaseDbHandler_1.default)({ const allExistingIndexesAfterUpdate = (yield (0, dbHandler_1.default)({
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``, query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
}); }));
}); });
} }

View File

@ -46,8 +46,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.default = createDbFromSchema; exports.default = createDbFromSchema;
const noDatabaseDbHandler_1 = __importDefault(require("../utils/noDatabaseDbHandler"));
const varDatabaseDbHandler_1 = __importDefault(require("../utils/varDatabaseDbHandler"));
const createTable_1 = __importDefault(require("../utils/createTable")); const createTable_1 = __importDefault(require("../utils/createTable"));
const updateTable_1 = __importDefault(require("../utils/updateTable")); const updateTable_1 = __importDefault(require("../utils/updateTable"));
const grab_dir_names_1 = __importDefault(require("../../utils/backend/names/grab-dir-names")); const grab_dir_names_1 = __importDefault(require("../../utils/backend/names/grab-dir-names"));
@ -88,59 +86,41 @@ function createDbFromSchema(_a) {
continue; continue;
} }
console.log(`Handling database => ${dbFullName}`); console.log(`Handling database => ${dbFullName}`);
const dbCheck = yield (0, noDatabaseDbHandler_1.default)(`SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`); const dbCheck = yield (0, dbHandler_1.default)({
query: `SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`,
});
if (!((_b = dbCheck === null || dbCheck === void 0 ? void 0 : dbCheck[0]) === null || _b === void 0 ? void 0 : _b.dbFullName)) { if (!((_b = dbCheck === null || dbCheck === void 0 ? void 0 : dbCheck[0]) === null || _b === void 0 ? void 0 : _b.dbFullName)) {
const newDatabase = yield (0, noDatabaseDbHandler_1.default)(`CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`); const newDatabase = yield (0, dbHandler_1.default)({
query: `CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
});
} }
const allTables = yield (0, noDatabaseDbHandler_1.default)(`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`); const allTables = (yield (0, dbHandler_1.default)({
query: `SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`,
}));
let recordedDbEntry = yield (0, check_db_record_1.default)({ let recordedDbEntry = yield (0, check_db_record_1.default)({
dbSchema: database, dbSchema: database,
userId, userId,
isMain, isMain,
}); });
for (let tb = 0; tb < allTables.length; tb++) { if (allTables === null || allTables === void 0 ? void 0 : allTables.length) {
const { TABLE_NAME } = allTables[tb]; for (let tb = 0; tb < allTables.length; tb++) {
const targetTableSchema = tables.find((_table) => _table.tableName === TABLE_NAME); const { TABLE_NAME } = allTables[tb];
/** const targetTableSchema = tables.find((_table) => _table.tableName === TABLE_NAME);
* @description Check if TABLE_NAME is part of the tables contained /**
* in the user schema JSON. If it's not, the table is either deleted * @description Check if TABLE_NAME is part of the tables contained
* or the table name has been recently changed * in the user schema JSON. If it's not, the table is either deleted
*/ * or the table name has been recently changed
if (!targetTableSchema) { */
console.log(`Dropping Table ${TABLE_NAME} from ${dbFullName}`); if (!targetTableSchema) {
yield (0, varDatabaseDbHandler_1.default)({ console.log(`Dropping Table ${TABLE_NAME} from ${dbFullName}`);
queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``, yield (0, dbHandler_1.default)({
}); query: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
const deleteTableEntry = yield (0, dbHandler_1.default)({ });
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`, const deleteTableEntry = yield (0, dbHandler_1.default)({
values: [userId, dbSlug, TABLE_NAME], query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
}); values: [userId, dbSlug, TABLE_NAME],
// const oldTable = tables.find( });
// (_table) => }
// _table.tableNameOld &&
// _table.tableNameOld === TABLE_NAME
// );
// /**
// * @description Check if this table has been recently renamed. Rename
// * table id true. Drop table if false
// */
// if (oldTable) {
// console.log("Renaming Table");
// await varDatabaseDbHandler({
// queryString: `RENAME TABLE \`${dbFullName}\`.\`${oldTable.tableNameOld}\` TO \`${oldTable.tableName}\``,
// });
// } else {
// console.log(
// `Dropping Table ${TABLE_NAME} from ${dbFullName}`
// );
// await varDatabaseDbHandler({
// queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
// });
// const deleteTableEntry = await dbHandler({
// query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
// values: [userId, dbSlug, TABLE_NAME],
// });
// }
} }
} }
/** /**
@ -156,8 +136,8 @@ function createDbFromSchema(_a) {
* @description Check if table exists * @description Check if table exists
* @type {any} * @type {any}
*/ */
const tableCheck = yield (0, varDatabaseDbHandler_1.default)({ const tableCheck = yield (0, dbHandler_1.default)({
queryString: ` query: `
SELECT EXISTS ( SELECT EXISTS (
SELECT SELECT
TABLE_NAME TABLE_NAME
@ -167,7 +147,7 @@ function createDbFromSchema(_a) {
TABLE_SCHEMA = ? AND TABLE_SCHEMA = ? AND
TABLE_NAME = ? TABLE_NAME = ?
) AS tableExists`, ) AS tableExists`,
queryValuesArray: [dbFullName, table.tableName], values: [dbFullName, table.tableName],
}); });
if (tableCheck && ((_c = tableCheck[0]) === null || _c === void 0 ? void 0 : _c.tableExists) > 0) { if (tableCheck && ((_c = tableCheck[0]) === null || _c === void 0 ? void 0 : _c.tableExists) > 0) {
/** /**

View File

@ -13,33 +13,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
require("dotenv").config({ path: "./../.env" }); require("dotenv").config({ path: "./../.env" });
const varDatabaseDbHandler_1 = __importDefault(require("../functions/backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
/** ****************************************************************************** */ (0, dbHandler_1.default)({
/** ****************************************************************************** */ query: `SELECT user_database_tables.*,user_databases.db_full_name FROM user_database_tables JOIN user_databases ON user_database_tables.db_id=user_databases.id`,
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/**
* Grab Schema
*
* @description Grab Schema
*/
(0, varDatabaseDbHandler_1.default)({
queryString: `SELECT user_database_tables.*,user_databases.db_full_name FROM user_database_tables JOIN user_databases ON user_database_tables.db_id=user_databases.id`,
database: "datasquirel", database: "datasquirel",
}).then((tables) => __awaiter(void 0, void 0, void 0, function* () { }).then((tables) => __awaiter(void 0, void 0, void 0, function* () {
for (let i = 0; i < tables.length; i++) { for (let i = 0; i < tables.length; i++) {
const table = tables[i]; const table = tables[i];
const { id, user_id, db_id, db_full_name, table_name, table_slug, table_description, } = table; const { id, user_id, db_id, db_full_name, table_name, table_slug, table_description, } = table;
const tableInfo = yield (0, varDatabaseDbHandler_1.default)({ const tableInfo = yield (0, dbHandler_1.default)({
queryString: `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='${db_full_name}' AND TABLE_NAME='${table_slug}'`, query: `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='${db_full_name}' AND TABLE_NAME='${table_slug}'`,
}); });
const updateDbCharset = yield (0, varDatabaseDbHandler_1.default)({ const updateDbCharset = yield (0, dbHandler_1.default)({
queryString: `ALTER DATABASE ${db_full_name} CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;`, query: `ALTER DATABASE ${db_full_name} CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;`,
}); });
const updateEncoding = yield (0, varDatabaseDbHandler_1.default)({ const updateEncoding = yield (0, dbHandler_1.default)({
queryString: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`, query: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
}); });
} }
process.exit(); process.exit();

View File

@ -1 +0,0 @@
export {};

View File

@ -1,51 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("dotenv").config({ path: "./../.env" });
const app_names_1 = require("../dict/app-names");
const serverError_1 = __importDefault(require("../functions/backend/serverError"));
const noDatabaseDbHandler_1 = __importDefault(require("./utils/noDatabaseDbHandler"));
/**
* # Create Database From Schema
*/
function grantFullPrivileges(_a) {
return __awaiter(this, arguments, void 0, function* ({ userId }) {
/**
* Grab Schema
*
* @description Grab Schema
*/
try {
const defaultMariadbUserHost = process.env.DSQL_DB_HOST || "127.0.0.1";
const allDatabases = yield (0, noDatabaseDbHandler_1.default)(`SHOW DATABASES`);
const datasquirelUserDatabases = allDatabases.filter((database) => database.Database.match(new RegExp(`^${app_names_1.AppNames["DsqlDbPrefix"]}`)));
for (let i = 0; i < datasquirelUserDatabases.length; i++) {
const datasquirelUserDatabase = datasquirelUserDatabases[i];
const { Database } = datasquirelUserDatabase;
}
const flushPriviledged = yield (0, noDatabaseDbHandler_1.default)(`FLUSH PRIVILEGES`);
}
catch (error) {
(0, serverError_1.default)({
component: "shell/grantDbPriviledges/main-catch-error",
message: error.message,
user: { id: userId },
});
}
process.exit();
});
}
const userArg = process.argv[process.argv.indexOf("--user")];
const externalUser = process.argv[process.argv.indexOf("--user") + 1];
grantFullPrivileges({ userId: userArg ? externalUser : null });

View File

@ -1,16 +0,0 @@
export interface GrantType {
database: string;
table: string;
privileges: string[];
}
type Param = {
username?: string;
host?: string;
grants?: GrantType[];
userId: string;
};
/**
* # Handle Grants for Users
*/
export default function handleGrants({ username, host, grants, userId, }: Param): Promise<boolean>;
export {};

View File

@ -1,74 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = handleGrants;
const noDatabaseDbHandler_1 = __importDefault(require("../utils/noDatabaseDbHandler"));
/**
* # Handle Grants for Users
*/
function handleGrants(_a) {
return __awaiter(this, arguments, void 0, function* ({ username, host, grants, userId, }) {
var _b;
let success = false;
console.log(`Handling Grants for User =>`, username, host);
if (!username) {
console.log(`No username provided.`);
return success;
}
if (!host) {
console.log(`No Host provided. \x1b[35m\`--host\`\x1b[0m flag is required`);
return success;
}
if (!grants) {
console.log(`No grants Array provided.`);
return success;
}
try {
const existingUser = yield (0, noDatabaseDbHandler_1.default)(`SELECT * FROM mysql.user WHERE User = '${username}' AND Host = '${host}'`);
const isUserExisting = Boolean((_b = existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) === null || _b === void 0 ? void 0 : _b.User);
if (isUserExisting) {
const userGrants = yield (0, noDatabaseDbHandler_1.default)(`SHOW GRANTS FOR '${username}'@'${host}'`);
for (let i = 0; i < userGrants.length; i++) {
const grantObject = userGrants[i];
const grant = grantObject === null || grantObject === void 0 ? void 0 : grantObject[Object.keys(grantObject)[0]];
if (grant === null || grant === void 0 ? void 0 : grant.match(/GRANT .* PRIVILEGES ON .* TO/)) {
const revokeGrantText = grant
.replace(/GRANT/, "REVOKE")
.replace(/ TO /, " FROM ");
const revokePrivilege = yield (0, noDatabaseDbHandler_1.default)(revokeGrantText);
}
}
const grantsArray = grants;
for (let i = 0; i < grantsArray.length; i++) {
const grantObject = grantsArray[i];
const { database, table, privileges } = grantObject;
const tableText = table == "*" ? "*" : `\`${table}\``;
const databaseText = database == "*"
? `\`${process.env.DSQL_USER_DB_PREFIX}${userId}_%\``
: `\`${database}\``;
const privilegesText = privileges.includes("ALL")
? "ALL PRIVILEGES"
: privileges.join(", ");
const grantText = `GRANT ${privilegesText} ON ${databaseText}.${tableText} TO '${username}'@'${host}'`;
const grantPriviledge = yield (0, noDatabaseDbHandler_1.default)(grantText);
}
}
success = true;
}
catch ( /** @type {any} */error) {
console.log(`Error in adding SQL user =>`, error.message);
}
return success;
});
}

View File

@ -1 +0,0 @@
export {};

View File

@ -1,72 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("dotenv").config({ path: "../../.env" });
const generate_password_1 = __importDefault(require("generate-password"));
const noDatabaseDbHandler_1 = __importDefault(require("../utils/noDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../../functions/backend/dbHandler"));
const encrypt_1 = __importDefault(require("../../functions/dsql/encrypt"));
const grab_sql_key_name_1 = __importDefault(require("../../utils/grab-sql-key-name"));
/**
* # Reset SQL Passwords
*/
function resetSQLCredentialsPasswords() {
return __awaiter(this, void 0, void 0, function* () {
var _a;
const users = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users`,
}));
if (!users) {
process.exit();
}
for (let i = 0; i < users.length; i++) {
const user = users[i];
if (!user)
continue;
try {
const maridbUsers = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM mysql.user WHERE User = '${(0, grab_sql_key_name_1.default)({ type: "user", userId: user.id })}'`,
}));
for (let j = 0; j < maridbUsers.length; j++) {
const { User, Host } = maridbUsers[j];
const password = generate_password_1.default.generate({
length: 16,
numbers: true,
symbols: true,
uppercase: true,
exclude: "*#.'`\"",
});
const encryptedPassword = (0, encrypt_1.default)({
data: password,
encryptionKey: process.env.DSQL_ENCRYPTION_PASSWORD,
encryptionSalt: process.env.DSQL_ENCRYPTION_SALT,
});
yield (0, noDatabaseDbHandler_1.default)(`SET PASSWORD FOR '${User}'@'${Host}' = PASSWORD('${password}')`);
if (user.mariadb_user == User && user.mariadb_host == Host) {
const updateUser = yield (0, dbHandler_1.default)({
query: `UPDATE users SET mariadb_pass = ? WHERE id = ?`,
values: [encryptedPassword, user.id],
});
}
console.log(`User ${user.id}: ${user.first_name} ${user.last_name} Password Updated successfully added.`);
}
}
catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Resetting MariaDB User Password`, error);
}
}
process.exit();
});
}
resetSQLCredentialsPasswords();

View File

@ -17,7 +17,7 @@ require("dotenv").config({ path: "../../../.env" });
const fs_1 = __importDefault(require("fs")); const fs_1 = __importDefault(require("fs"));
const child_process_1 = require("child_process"); const child_process_1 = require("child_process");
const ejson_1 = __importDefault(require("../../../utils/ejson")); const ejson_1 = __importDefault(require("../../../utils/ejson"));
const DB_HANDLER_1 = __importDefault(require("../../../utils/backend/global-db/DB_HANDLER")); const dbHandler_1 = __importDefault(require("../../../functions/backend/dbHandler"));
const addDbEntry_1 = __importDefault(require("../../../functions/backend/db/addDbEntry")); const addDbEntry_1 = __importDefault(require("../../../functions/backend/db/addDbEntry"));
const addMariadbUser_1 = __importDefault(require("../../../functions/backend/addMariadbUser")); const addMariadbUser_1 = __importDefault(require("../../../functions/backend/addMariadbUser"));
const updateDbEntry_1 = __importDefault(require("../../../functions/backend/db/updateDbEntry")); const updateDbEntry_1 = __importDefault(require("../../../functions/backend/db/updateDbEntry"));
@ -29,7 +29,7 @@ const tmpDir = process.argv[process.argv.length - 1];
*/ */
function createUser() { function createUser() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
var _a, _b; var _a;
/** /**
* Validate Form * Validate Form
* *
@ -67,7 +67,9 @@ function createUser() {
encryptionKey: process.env.DSQL_ENCRYPTION_PASSWORD || "", encryptionKey: process.env.DSQL_ENCRYPTION_PASSWORD || "",
password: password, password: password,
}); });
let existingUser = yield (0, DB_HANDLER_1.default)(`SELECT * FROM users WHERE email='${email}'`); let existingUser = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users WHERE email='${email}'`,
}));
if (existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) { if (existingUser === null || existingUser === void 0 ? void 0 : existingUser[0]) {
console.log("User Exists"); console.log("User Exists");
return false; return false;
@ -128,7 +130,7 @@ function createUser() {
return true; return true;
} }
catch (error) { catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Creating User`, error); console.log("Error =\u003e", error.message);
return false; return false;
} }
}); });

View File

@ -24,7 +24,6 @@ const tmpDir = process.argv[process.argv.length - 1];
*/ */
function createUser() { function createUser() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
var _a;
/** /**
* Validate Form * Validate Form
* *
@ -66,7 +65,7 @@ function createUser() {
return true; return true;
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Updating User`, error); console.log("Error =\u003e", error.message);
return false; return false;
} }
}); });

View File

@ -14,8 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs")); const fs_1 = __importDefault(require("fs"));
require("dotenv").config({ path: "./../.env" }); require("dotenv").config({ path: "./../.env" });
const varDatabaseDbHandler_1 = __importDefault(require("../functions/backend/varDatabaseDbHandler")); const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
const DB_HANDLER_1 = __importDefault(require("../utils/backend/global-db/DB_HANDLER"));
const userId = process.argv.indexOf("--userId") >= 0 const userId = process.argv.indexOf("--userId") >= 0
? process.argv[process.argv.indexOf("--userId") + 1] ? process.argv[process.argv.indexOf("--userId") + 1]
: null; : null;
@ -30,7 +29,9 @@ function recoverMainJsonFromDb() {
console.log("No user Id provided"); console.log("No user Id provided");
return; return;
} }
const databases = yield (0, DB_HANDLER_1.default)(`SELECT * FROM user_databases WHERE user_id='${userId}'`); const databases = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM user_databases WHERE user_id='${userId}'`,
}));
const dbWrite = []; const dbWrite = [];
for (let i = 0; i < databases.length; i++) { for (let i = 0; i < databases.length; i++) {
const { id, db_name, db_slug, db_full_name, db_image, db_description } = databases[i]; const { id, db_name, db_slug, db_full_name, db_image, db_description } = databases[i];
@ -42,7 +43,9 @@ function recoverMainJsonFromDb() {
dbImage: db_image, dbImage: db_image,
tables: [], tables: [],
}; };
const tables = yield (0, DB_HANDLER_1.default)(`SELECT * FROM user_database_tables WHERE user_id='${userId}' AND db_id='${id}'`); const tables = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM user_database_tables WHERE user_id='${userId}' AND db_id='${id}'`,
}));
for (let j = 0; j < tables.length; j++) { for (let j = 0; j < tables.length; j++) {
const { table_name, table_slug, table_description } = tables[j]; const { table_name, table_slug, table_description } = tables[j];
const tableObject = { const tableObject = {
@ -51,10 +54,14 @@ function recoverMainJsonFromDb() {
fields: [], fields: [],
indexes: [], indexes: [],
}; };
const tableFields = yield (0, varDatabaseDbHandler_1.default)({ const tableFields = (yield (0, dbHandler_1.default)({
database: db_full_name, database: db_full_name,
queryString: `SHOW COLUMNS FROM ${db_full_name}.${table_slug}`, query: `SHOW COLUMNS FROM ${db_full_name}.${table_slug}`,
}); }));
if (!tableFields) {
console.log("No table fields found");
continue;
}
for (let k = 0; k < tableFields.length; k++) { for (let k = 0; k < tableFields.length; k++) {
const { Field, Type, Null, Default, Key } = tableFields[k]; const { Field, Type, Null, Default, Key } = tableFields[k];
const fieldObject = { const fieldObject = {

View File

@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
require("dotenv").config({ path: "./../.env" }); require("dotenv").config({ path: "./../.env" });
const generate_password_1 = __importDefault(require("generate-password")); const generate_password_1 = __importDefault(require("generate-password"));
const noDatabaseDbHandler_1 = __importDefault(require("./utils/noDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler")); const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
const encrypt_1 = __importDefault(require("../functions/dsql/encrypt")); const encrypt_1 = __importDefault(require("../functions/dsql/encrypt"));
const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name")); const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"));
@ -23,7 +22,6 @@ const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"
*/ */
function resetSQLCredentialsPasswords() { function resetSQLCredentialsPasswords() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
var _a;
const users = (yield (0, dbHandler_1.default)({ const users = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users`, query: `SELECT * FROM users`,
})); }));
@ -45,7 +43,9 @@ function resetSQLCredentialsPasswords() {
exclude: "*#.'`\"", exclude: "*#.'`\"",
}); });
const encryptedPassword = (0, encrypt_1.default)({ data: password }); const encryptedPassword = (0, encrypt_1.default)({ data: password });
yield (0, noDatabaseDbHandler_1.default)(`SET PASSWORD FOR '${username}'@'${defaultMariadbUserHost}' = PASSWORD('${password}')`); yield (0, dbHandler_1.default)({
query: `SET PASSWORD FOR '${username}'@'${defaultMariadbUserHost}' = PASSWORD('${password}')`,
});
const updateUser = yield (0, dbHandler_1.default)({ const updateUser = yield (0, dbHandler_1.default)({
query: `UPDATE users SET mariadb_pass = ? WHERE id = ?`, query: `UPDATE users SET mariadb_pass = ? WHERE id = ?`,
values: [encryptedPassword, user.id], values: [encryptedPassword, user.id],
@ -53,7 +53,7 @@ function resetSQLCredentialsPasswords() {
console.log(`User ${user.id}: ${user.first_name} ${user.last_name} Password Updated successfully added.`); console.log(`User ${user.id}: ${user.first_name} ${user.last_name} Password Updated successfully added.`);
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Updating MariaDB User`, error); console.log("Error =\u003e", error.message);
} }
} }
process.exit(); process.exit();

View File

@ -1 +0,0 @@
export {};

View File

@ -1,71 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("dotenv").config({ path: "./../.env" });
const generate_password_1 = __importDefault(require("generate-password"));
const noDatabaseDbHandler_1 = __importDefault(require("./utils/noDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
const encrypt_1 = __importDefault(require("../functions/dsql/encrypt"));
const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"));
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/** ****************************************************************************** */
/**
* # Set SQL Credentials
*/
function setSQLCredentials() {
return __awaiter(this, void 0, void 0, function* () {
var _a;
const users = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users`,
}));
if (!users) {
process.exit();
}
for (let i = 0; i < users.length; i++) {
const user = users[i];
if (!user)
continue;
if (user.mariadb_user && user.mariadb_pass) {
continue;
}
try {
const username = (0, grab_sql_key_name_1.default)({ type: "user", userId: user.id });
const password = generate_password_1.default.generate({
length: 16,
numbers: true,
symbols: true,
uppercase: true,
exclude: "*#.'`\"",
});
const encryptedPassword = (0, encrypt_1.default)({ data: password });
yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${username}'@'127.0.0.1' IDENTIFIED BY '${password}'`);
yield (0, noDatabaseDbHandler_1.default)(`GRANT ALL PRIVILEGES ON \`datasquirel\\_user\\_${user.id}\\_%\`.* TO '${username}'@'127.0.0.1'`);
yield (0, noDatabaseDbHandler_1.default)(`FLUSH PRIVILEGES`);
const updateUser = yield (0, dbHandler_1.default)({
query: `UPDATE users SET mariadb_user = ?, mariadb_host = '127.0.0.1' mariadb_pass = ? WHERE id = ?`,
values: [username, encryptedPassword, user.id],
});
console.log(`User ${user.id}: ${user.first_name} ${user.last_name} SQL credentials successfully added.`);
}
catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Setting SQL credentials`, error);
}
}
});
}
setSQLCredentials();

View File

@ -26,7 +26,6 @@ const grab_dsql_connection_1 = __importDefault(require("../utils/grab-dsql-conne
* @returns {Promise<object|null>} * @returns {Promise<object|null>}
*/ */
(() => __awaiter(void 0, void 0, void 0, function* () { (() => __awaiter(void 0, void 0, void 0, function* () {
var _a;
const CONNECTION = yield (0, grab_dsql_connection_1.default)({ noDb: true }); const CONNECTION = yield (0, grab_dsql_connection_1.default)({ noDb: true });
/** /**
* Switch Database * Switch Database
@ -34,12 +33,12 @@ const grab_dsql_connection_1 = __importDefault(require("../utils/grab-dsql-conne
* @description If a database is provided, switch to it * @description If a database is provided, switch to it
*/ */
try { try {
const result = yield CONNECTION.query("SHOW DATABASES"); const [result] = yield CONNECTION.query("SHOW DATABASES");
const parsedResults = JSON.parse(JSON.stringify(result)); const parsedResults = JSON.parse(JSON.stringify(result));
console.log("parsedResults =>", parsedResults); console.log("parsedResults =>", parsedResults);
} }
catch (error) { catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Testing External Server`, error); console.log("Error =\u003e", error.message);
} }
finally { finally {
yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end()); yield (CONNECTION === null || CONNECTION === void 0 ? void 0 : CONNECTION.end());

View File

@ -1,4 +0,0 @@
/**
* # Test SQL Escape
*/
export default function testSQLEscape(): Promise<void>;

View File

@ -1,71 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = testSQLEscape;
require("dotenv").config({ path: "./../.env" });
const generate_password_1 = __importDefault(require("generate-password"));
const noDatabaseDbHandler_1 = __importDefault(require("./utils/noDatabaseDbHandler"));
const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
const encrypt_1 = __importDefault(require("../functions/dsql/encrypt"));
const grab_sql_key_name_1 = __importDefault(require("../utils/grab-sql-key-name"));
/**
* # Test SQL Escape
*/
function testSQLEscape() {
return __awaiter(this, void 0, void 0, function* () {
var _a;
const users = (yield (0, dbHandler_1.default)({
query: `SELECT * FROM users`,
}));
if (!users) {
process.exit();
}
for (let i = 0; i < users.length; i++) {
const user = users[i];
if (!user)
continue;
const defaultMariadbUserHost = process.env.DSQL_DB_HOST || "127.0.0.1";
try {
const username = (0, grab_sql_key_name_1.default)({ type: "user", userId: user.id });
const password = generate_password_1.default.generate({
length: 16,
numbers: true,
symbols: true,
uppercase: true,
exclude: "*#.'`\"",
});
const encryptedPassword = (0, encrypt_1.default)({ data: password });
yield (0, noDatabaseDbHandler_1.default)(`DROP USER '${username}'@'${defaultMariadbUserHost}'`);
yield (0, noDatabaseDbHandler_1.default)(`CREATE USER IF NOT EXISTS '${username}'@'${defaultMariadbUserHost}' IDENTIFIED BY '${password}'`);
yield (0, noDatabaseDbHandler_1.default)(`GRANT ALL PRIVILEGES ON \`datasquirel\\_user\\_${user.id}\\_%\`.* TO '${username}'@'${defaultMariadbUserHost}'`);
yield (0, noDatabaseDbHandler_1.default)(`FLUSH PRIVILEGES`);
const updateUser = yield (0, dbHandler_1.default)({
query: `UPDATE users SET mariadb_user = ?, mariadb_host = ? mariadb_pass = ? WHERE id = ?`,
values: [
username,
defaultMariadbUserHost,
encryptedPassword,
user.id,
],
});
console.log(`User ${user.id}: ${user.first_name} ${user.last_name} SQL credentials successfully added.`);
}
catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Testing SQL Escape`, error);
}
}
process.exit();
});
}
testSQLEscape();

View File

@ -12,12 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const DB_HANDLER_1 = __importDefault(require("../utils/backend/global-db/DB_HANDLER")); const dbHandler_1 = __importDefault(require("../functions/backend/dbHandler"));
const fs_1 = __importDefault(require("fs")); const fs_1 = __importDefault(require("fs"));
require("dotenv").config({ path: "./../.env" }); require("dotenv").config({ path: "./../.env" });
function updateChildrenTablesOnDb() { function updateChildrenTablesOnDb() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
var _a;
/** /**
* Grab Schema * Grab Schema
* *
@ -39,18 +38,20 @@ function updateChildrenTablesOnDb() {
const originTableName = table.childTableName; const originTableName = table.childTableName;
const originDbName = table.childTableDbFullName; const originDbName = table.childTableDbFullName;
const WHERE_CLAUSE = `WHERE user_id='${userId}' AND db_slug='${db.dbSlug}' AND table_slug='${table.tableName}'`; const WHERE_CLAUSE = `WHERE user_id='${userId}' AND db_slug='${db.dbSlug}' AND table_slug='${table.tableName}'`;
const existingTableInDb = yield (0, DB_HANDLER_1.default)(`SELECT * FROM user_database_tables ${WHERE_CLAUSE}`); const existingTableInDb = (yield (0, dbHandler_1.default)({
if (existingTableInDb && existingTableInDb[0]) { query: `SELECT * FROM user_database_tables ${WHERE_CLAUSE}`,
const updateChildrenTablesInfo = yield (0, DB_HANDLER_1.default)(`UPDATE user_database_tables SET child_table='1',child_table_parent_database='${originDbName}',child_table_parent_table='${originTableName}' WHERE id='${existingTableInDb[0].id}'`); }));
if (existingTableInDb === null || existingTableInDb === void 0 ? void 0 : existingTableInDb[0]) {
const updateChildrenTablesInfo = yield (0, dbHandler_1.default)({
query: `UPDATE user_database_tables SET child_table='1',child_table_parent_database='${originDbName}',child_table_parent_table='${originTableName}' WHERE id='${existingTableInDb[0].id}'`,
});
} }
} }
} }
} }
} }
} }
catch (error) { catch (error) { }
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Error Updating Children Tables on DB`, error);
}
process.exit(); process.exit();
}); });
} }

Some files were not shown because too many files have changed in this diff Show More