Card · Server Actions
Mutation entry: validate → authorize → entity → revalidate.
Sequence
- Read session/permissions.
- Validate input; authorize.
- Call entity action; revalidatePath.
Skeleton
"use server";
export async function createProjectAction(formData) {
const session = await getSession();
if (!session) throw new Error("Unauthorized");
await createProject(formData, session.user.id);
revalidatePath("/projects");
}Study Card · Chapter 04-server-actions