49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import getCsrfHeaderName from "../../../actions/get-csrf-header-name";
|
|
import { AppNames } from "../../../dict/app-names";
|
|
import grabDbNames from "../../../utils/grab-db-names";
|
|
|
|
type Param = {
|
|
database?: string;
|
|
userId?: string | number;
|
|
};
|
|
|
|
type Return = {
|
|
keyCookieName: string;
|
|
csrfCookieName: string;
|
|
oneTimeCodeName: string;
|
|
};
|
|
|
|
/**
|
|
* # Grab Auth Cookie Names
|
|
*/
|
|
export default function getAuthCookieNames(params?: Param): Return {
|
|
const cookiesPrefix = process.env.DSQL_COOKIES_PREFIX || "dsql_";
|
|
const cookiesKeyName = process.env.DSQL_COOKIES_KEY_NAME || "key";
|
|
const cookiesCSRFName = getCsrfHeaderName();
|
|
const cookieOneTimeCodeName =
|
|
process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME || "one-time-code";
|
|
|
|
const { dbSlug } = grabDbNames({ dbName: params?.database });
|
|
|
|
let keyCookieName = cookiesPrefix;
|
|
if (params?.userId) keyCookieName += `user_${params.userId}_`;
|
|
if (dbSlug) keyCookieName += `${dbSlug}_`;
|
|
keyCookieName += cookiesKeyName;
|
|
|
|
let csrfCookieName = cookiesPrefix;
|
|
if (params?.userId) csrfCookieName += `user_${params.userId}_`;
|
|
if (dbSlug) csrfCookieName += `${dbSlug}_`;
|
|
csrfCookieName += cookiesCSRFName;
|
|
|
|
let oneTimeCodeName = cookiesPrefix;
|
|
if (params?.userId) oneTimeCodeName += `user_${params.userId}_`;
|
|
if (dbSlug) oneTimeCodeName += `${dbSlug}_`;
|
|
oneTimeCodeName += cookieOneTimeCodeName;
|
|
|
|
return {
|
|
keyCookieName,
|
|
csrfCookieName,
|
|
oneTimeCodeName,
|
|
};
|
|
}
|