export const auth = betterAuth({
database: mongodbAdapter(client),
secondaryStorage: {
get: async (key) => {
try {
const value = await getCache(key);
return value ? value : null;
} catch (error) {
console.error("Error getting from redis", error);
return null;
}
},
set: async (key, value, ttl) => {
try {
if (ttl) await setCache(key, value, { EX: ttl });
else await setCache(key, value, {});
} catch (error) {
console.error("Error setting to redis", error);
}
},
delete: async (key) => {
try {
await delCache(key);
} catch (error) {
console.error("Error deleting from redis", error);
}
},
},
})
export const getCache = async (key: string): Promise<string | null> => {
try {
if (process.env.REDIS_PASSWORD && process.env.REDIS_URL) {
await connectRedis();
const data = await redis.get(key);
if (data) {
return data;
}
}
return null;
} catch (error) {
console.error("Error getting cache", error);
return null;
}
};
export const auth = betterAuth({
database: mongodbAdapter(client),
secondaryStorage: {
get: async (key) => {
try {
const value = await getCache(key);
return value ? value : null;
} catch (error) {
console.error("Error getting from redis", error);
return null;
}
},
set: async (key, value, ttl) => {
try {
if (ttl) await setCache(key, value, { EX: ttl });
else await setCache(key, value, {});
} catch (error) {
console.error("Error setting to redis", error);
}
},
delete: async (key) => {
try {
await delCache(key);
} catch (error) {
console.error("Error deleting from redis", error);
}
},
},
})
export const getCache = async (key: string): Promise<string | null> => {
try {
if (process.env.REDIS_PASSWORD && process.env.REDIS_URL) {
await connectRedis();
const data = await redis.get(key);
if (data) {
return data;
}
}
return null;
} catch (error) {
console.error("Error getting cache", error);
return null;
}
};