mirror of
https://github.com/neynarxyz/create-farcaster-mini-app.git
synced 2025-11-16 08:08:56 -05:00
33 lines
903 B
TypeScript
33 lines
903 B
TypeScript
import { FrameNotificationDetails } from "@farcaster/frame-sdk";
|
|
import { Redis } from "@upstash/redis";
|
|
|
|
const redis = new Redis({
|
|
url: process.env.KV_REST_API_URL,
|
|
token: process.env.KV_REST_API_TOKEN,
|
|
});
|
|
|
|
function getUserNotificationDetailsKey(fid: number): string {
|
|
return `${process.env.NEXT_PUBLIC_FRAME_NAME}:user:${fid}`;
|
|
}
|
|
|
|
export async function getUserNotificationDetails(
|
|
fid: number
|
|
): Promise<FrameNotificationDetails | null> {
|
|
return await redis.get<FrameNotificationDetails>(
|
|
getUserNotificationDetailsKey(fid)
|
|
);
|
|
}
|
|
|
|
export async function setUserNotificationDetails(
|
|
fid: number,
|
|
notificationDetails: FrameNotificationDetails
|
|
): Promise<void> {
|
|
await redis.set(getUserNotificationDetailsKey(fid), notificationDetails);
|
|
}
|
|
|
|
export async function deleteUserNotificationDetails(
|
|
fid: number
|
|
): Promise<void> {
|
|
await redis.del(getUserNotificationDetailsKey(fid));
|
|
}
|