mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-06-02 22:26:57 -05:00
22 lines
699 B
TypeScript
22 lines
699 B
TypeScript
import { requireUser } from "~/features/auth/core/user.server";
|
|
import * as VodRepository from "./VodRepository.server";
|
|
import { vodFormBaseSchema } from "./vods-schemas";
|
|
import { canEditVideo } from "./vods-utils";
|
|
|
|
export const vodFormSchemaServer = vodFormBaseSchema.refine(
|
|
async (data) => {
|
|
if (!data.vodToEditId) return true;
|
|
|
|
const user = requireUser();
|
|
const vod = await VodRepository.findVodById(data.vodToEditId);
|
|
if (!vod) return false;
|
|
|
|
return canEditVideo({
|
|
userId: user.id,
|
|
submitterUserId: vod.submitterUserId,
|
|
povUserId: typeof vod.pov === "string" ? undefined : vod.pov?.id,
|
|
});
|
|
},
|
|
{ message: "No permissions to edit this VOD", path: ["vodToEditId"] },
|
|
);
|