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 = process.env.DSQL_COOKIES_CSRF_NAME || "csrf"; const cookieOneTimeCodeName = process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME || "one-time-code"; const targetDatabase = params?.database?.replace(/^datasquirel_user_\d+_/, "") || process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/, ""); let keyCookieName = cookiesPrefix; if (params?.userId) keyCookieName += `user_${params.userId}_`; if (targetDatabase) keyCookieName += `${targetDatabase}_`; keyCookieName += cookiesKeyName; let csrfCookieName = cookiesPrefix; if (params?.userId) csrfCookieName += `user_${params.userId}_`; if (targetDatabase) csrfCookieName += `${targetDatabase}_`; csrfCookieName += cookiesCSRFName; let oneTimeCodeName = cookiesPrefix; if (params?.userId) oneTimeCodeName += `user_${params.userId}_`; if (targetDatabase) oneTimeCodeName += `${targetDatabase}_`; oneTimeCodeName += cookieOneTimeCodeName; return { keyCookieName, csrfCookieName, oneTimeCodeName, }; }