Files
calendar/apps/web/app/cache/travelSchedule.ts
T
6b9115dfde perf: server-fetch data for all pages in /settings/my-account (#20712)
* wip

* fix type check

* refactor "/settings/my-account/profile"

* refactor "settings/my-account/general"

* refactor "/settings/my-accouunt/calendars"

* refactor "/settings/my-account/appearance"

* fix: type-check

---------

Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
Co-authored-by: Amit Sharma <samit91848@gmail.com>
2025-07-24 22:36:40 +01:00

27 lines
750 B
TypeScript

"use server";
import { revalidateTag } from "next/cache";
import { NEXTJS_CACHE_TTL } from "@calcom/lib/constants";
import { TravelScheduleRepository } from "@calcom/lib/server/repository/travelSchedule";
import { unstable_cache } from "@calcom/lib/unstable_cache";
const CACHE_TAGS = {
TRAVEL_SCHEDULES: "TravelRepository.findTravelSchedulesByUserId",
} as const;
export const getTravelSchedule = unstable_cache(
async (userId: number) => {
return await TravelScheduleRepository.findTravelSchedulesByUserId(userId);
},
["getTravelSchedule"],
{
revalidate: NEXTJS_CACHE_TTL,
tags: [CACHE_TAGS.TRAVEL_SCHEDULES],
}
);
export const revalidateTravelSchedules = async () => {
revalidateTag(CACHE_TAGS.TRAVEL_SCHEDULES);
};