"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = getAuthCookieNames;
const get_csrf_header_name_1 = __importDefault(require("../../../actions/get-csrf-header-name"));
/**
 * # Grab Auth Cookie Names
 */
function getAuthCookieNames(params) {
    var _a, _b;
    const cookiesPrefix = process.env.DSQL_COOKIES_PREFIX || "dsql_";
    const cookiesKeyName = process.env.DSQL_COOKIES_KEY_NAME || "key";
    const cookiesCSRFName = (0, get_csrf_header_name_1.default)();
    const cookieOneTimeCodeName = process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME || "one-time-code";
    const targetDatabase = ((_a = params === null || params === void 0 ? void 0 : params.database) === null || _a === void 0 ? void 0 : _a.replace(/^datasquirel_user_\d+_/, "")) ||
        ((_b = process.env.DSQL_DB_NAME) === null || _b === void 0 ? void 0 : _b.replace(/^datasquirel_user_\d+_/, ""));
    let keyCookieName = cookiesPrefix;
    if (params === null || params === void 0 ? void 0 : params.userId)
        keyCookieName += `user_${params.userId}_`;
    if (targetDatabase)
        keyCookieName += `${targetDatabase}_`;
    keyCookieName += cookiesKeyName;
    let csrfCookieName = cookiesPrefix;
    if (params === null || params === void 0 ? void 0 : params.userId)
        csrfCookieName += `user_${params.userId}_`;
    if (targetDatabase)
        csrfCookieName += `${targetDatabase}_`;
    csrfCookieName += cookiesCSRFName;
    let oneTimeCodeName = cookiesPrefix;
    if (params === null || params === void 0 ? void 0 : params.userId)
        oneTimeCodeName += `user_${params.userId}_`;
    if (targetDatabase)
        oneTimeCodeName += `${targetDatabase}_`;
    oneTimeCodeName += cookieOneTimeCodeName;
    return {
        keyCookieName,
        csrfCookieName,
        oneTimeCodeName,
    };
}