21 lines
626 B
TypeScript
21 lines
626 B
TypeScript
import { db } from "@zendegi/db";
|
|
import { timeline } from "@zendegi/db/schema/timeline";
|
|
import { createServerFn } from "@tanstack/react-start";
|
|
import { z } from "zod";
|
|
import { authMiddleware } from "@/middleware/auth";
|
|
|
|
export const createTimeline = createServerFn({ method: "POST" })
|
|
.middleware([authMiddleware])
|
|
.inputValidator(z.object({ title: z.string().min(1) }))
|
|
.handler(async ({ data, context }) => {
|
|
const [newTimeline] = await db
|
|
.insert(timeline)
|
|
.values({
|
|
title: data.title,
|
|
ownerId: context.session!.user.id,
|
|
})
|
|
.returning();
|
|
|
|
return newTimeline;
|
|
});
|