UNPKG

@lonewolfspace/storage-manager-ts

Version:

A universal browser storage manager with optional AES encryption support for localStorage, sessionStorage, and cookies.

45 lines (44 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServerCookieManager = void 0; const headers_1 = require("next/headers"); const base_storage_manager_1 = require("./base-storage-manager"); class ServerCookieManager extends base_storage_manager_1.BaseStorageManager { static async setCookie(name, value, options) { const cookieStore = await (0, headers_1.cookies)(); const encryptedValue = this.encryptValue(value); cookieStore.set(name, encryptedValue, options); } static async getCookie(name) { var _a; const cookieStore = await (0, headers_1.cookies)(); const encryptedValue = (_a = cookieStore.get(name)) === null || _a === void 0 ? void 0 : _a.value; if (!encryptedValue) return undefined; return this.decryptValue(encryptedValue); } static async deleteCookie(name) { const cookieStore = await (0, headers_1.cookies)(); cookieStore.delete(name); } // Token-specific helpers static async getAccessToken() { return this.getCookie("access_token"); } static async getRefreshToken() { return this.getCookie("refresh_token"); } static async setAccessToken(token, options) { await this.setCookie("access_token", token, options); } static async setRefreshToken(token, options) { await this.setCookie("refresh_token", token, options); } static async deleteAccessToken() { await this.deleteCookie("access_token"); } static async deleteRefreshToken() { await this.deleteCookie("refresh_token"); } } exports.ServerCookieManager = ServerCookieManager;