This commit is contained in:
Benjamin Toby 2025-01-14 15:59:48 +01:00
parent 49716e8c5c
commit fc9839fd0c
8 changed files with 24 additions and 12 deletions

View File

@ -6,8 +6,11 @@ type GrabHostNamesReturn = {
scheme: typeof http | typeof https;
user_id: string | number;
};
type Param = {
userId?: string | number;
};
/**
* # Grab Names For Query
*/
export default function grabHostNames(): GrabHostNamesReturn;
export default function grabHostNames(param?: Param): GrabHostNamesReturn;
export {};

View File

@ -10,7 +10,7 @@ const http_1 = __importDefault(require("http"));
/**
* # Grab Names For Query
*/
function grabHostNames() {
function grabHostNames(param) {
var _a, _b;
const scheme = process.env.DSQL_HTTP_SCHEME;
const localHost = process.env.DSQL_LOCAL_HOST;
@ -25,6 +25,6 @@ function grabHostNames() {
host: remoteHost || localHost || "datasquirel.com",
port: remoteHostPort || localHostPort || 443,
scheme: (scheme === null || scheme === void 0 ? void 0 : scheme.match(/^http$/i)) ? http_1.default : https_1.default,
user_id: String(process.env.DSQL_API_USER_ID || 0),
user_id: (param === null || param === void 0 ? void 0 : param.userId) || String(process.env.DSQL_API_USER_ID || 0),
};
}

View File

@ -26,7 +26,7 @@ const write_auth_files_1 = require("../package-shared/functions/backend/auth/wri
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, useLocal, apiUserID, skipWriteAuthFile, dbUserId, debug, }) {
var _b;
const grabedHostNames = (0, grab_host_names_1.default)();
const grabedHostNames = (0, grab_host_names_1.default)({ userId: user_id || apiUserID });
const { host, port, scheme } = grabedHostNames;
const defaultTempLoginFieldName = "temp_login_code";
const emailLoginTempCodeFieldName = email_login
@ -164,7 +164,7 @@ function loginUser(_a) {
catch (error) { }
const cookieNames = (0, get_auth_cookie_names_1.default)({
database,
userId: apiUserID || user_id || grabedHostNames.user_id,
userId: grabedHostNames.user_id,
});
if (httpResponse.csrf && !skipWriteAuthFile) {
(0, write_auth_files_1.writeAuthFile)(httpResponse.csrf, JSON.stringify(httpResponse.payload));

View File

@ -9,6 +9,7 @@ const get_auth_cookie_names_1 = __importDefault(require("../package-shared/funct
const write_auth_files_1 = require("../package-shared/functions/backend/auth/write-auth-files");
const parseCookies_1 = __importDefault(require("../package-shared/utils/backend/parseCookies"));
const get_csrf_header_name_1 = __importDefault(require("../utils/get-csrf-header-name"));
const grab_host_names_1 = __importDefault(require("../package-shared/utils/grab-host-names"));
const minuteInMilliseconds = 60000;
const hourInMilliseconds = minuteInMilliseconds * 60;
const dayInMilliseconds = hourInMilliseconds * 24;
@ -24,6 +25,7 @@ const yearInMilliseconds = dayInMilliseconds * 365;
function userAuth({ request, req, encryptionKey, encryptionSalt, level, database, dsqlUserId, encryptedUserString, expiry = weekInMilliseconds, cookieString, csrfHeaderName, debug, }) {
try {
const finalRequest = req || request;
const { user_id } = (0, grab_host_names_1.default)({ userId: dsqlUserId });
const cookies = (0, parseCookies_1.default)({
request: finalRequest,
cookieString,
@ -32,7 +34,7 @@ function userAuth({ request, req, encryptionKey, encryptionSalt, level, database
console.log("userAuth:cookies:", cookies);
}
const keyNames = (0, get_auth_cookie_names_1.default)({
userId: dsqlUserId || process.env.DSQL_API_USER_ID,
userId: user_id,
database: database || process.env.DSQL_DB_NAME,
});
if (debug) {

View File

@ -10,10 +10,14 @@ type GrabHostNamesReturn = {
user_id: string | number;
};
type Param = {
userId?: string | number;
};
/**
* # Grab Names For Query
*/
export default function grabHostNames(): GrabHostNamesReturn {
export default function grabHostNames(param?: Param): GrabHostNamesReturn {
const scheme = process.env.DSQL_HTTP_SCHEME;
const localHost = process.env.DSQL_LOCAL_HOST;
const localHostPort = process.env.DSQL_LOCAL_HOST_PORT;
@ -28,6 +32,6 @@ export default function grabHostNames(): GrabHostNamesReturn {
host: remoteHost || localHost || "datasquirel.com",
port: remoteHostPort || localHostPort || 443,
scheme: scheme?.match(/^http$/i) ? http : https,
user_id: String(process.env.DSQL_API_USER_ID || 0),
user_id: param?.userId || String(process.env.DSQL_API_USER_ID || 0),
};
}

View File

@ -1,6 +1,6 @@
{
"name": "@moduletrace/datasquirel",
"version": "3.5.7",
"version": "3.5.8",
"description": "Cloud-based SQL data management tool",
"main": "dist/index.js",
"bin": {

View File

@ -60,7 +60,7 @@ export default async function loginUser({
dbUserId,
debug,
}: Param): Promise<APILoginFunctionReturn> {
const grabedHostNames = grabHostNames();
const grabedHostNames = grabHostNames({ userId: user_id || apiUserID });
const { host, port, scheme } = grabedHostNames;
const defaultTempLoginFieldName = "temp_login_code";
@ -231,7 +231,7 @@ export default async function loginUser({
const cookieNames = getAuthCookieNames({
database,
userId: apiUserID || user_id || grabedHostNames.user_id,
userId: grabedHostNames.user_id,
});
if (httpResponse.csrf && !skipWriteAuthFile) {

View File

@ -5,6 +5,7 @@ import { checkAuthFile } from "../package-shared/functions/backend/auth/write-au
import parseCookies from "../package-shared/utils/backend/parseCookies";
import { AuthenticatedUser } from "../package-shared/types";
import getCsrfHeaderName from "../utils/get-csrf-header-name";
import grabHostNames from "../package-shared/utils/grab-host-names";
const minuteInMilliseconds = 60000;
const hourInMilliseconds = minuteInMilliseconds * 60;
@ -51,6 +52,8 @@ export default function userAuth({
try {
const finalRequest = req || request;
const { user_id } = grabHostNames({ userId: dsqlUserId });
const cookies = parseCookies({
request: finalRequest,
cookieString,
@ -61,7 +64,7 @@ export default function userAuth({
}
const keyNames = getAuthCookieNames({
userId: dsqlUserId || process.env.DSQL_API_USER_ID,
userId: user_id,
database: database || process.env.DSQL_DB_NAME,
});