dsql-admin/dsql-app/package-shared/utils/grab-host-names.ts
Benjamin Toby 81cf010cb5 Updates
2025-01-14 16:27:08 +01:00

38 lines
1.1 KiB
TypeScript

// @ts-check
import https from "https";
import http from "http";
type GrabHostNamesReturn = {
host: string;
port: number | string;
scheme: typeof http | typeof https;
user_id: string | number;
};
type Param = {
userId?: string | number;
};
/**
* # Grab Names For Query
*/
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;
const remoteHost = process.env.DSQL_API_REMOTE_HOST?.match(/.*\..*/)
? process.env.DSQL_API_REMOTE_HOST
: undefined;
const remoteHostPort = process.env.DSQL_API_REMOTE_HOST_PORT?.match(/./)
? process.env.DSQL_API_REMOTE_HOST_PORT
: undefined;
return {
host: remoteHost || localHost || "datasquirel.com",
port: remoteHostPort || localHostPort || 443,
scheme: scheme?.match(/^http$/i) ? http : https,
user_id: param?.userId || String(process.env.DSQL_API_USER_ID || 0),
};
}