diff --git a/src/pages/share/[videoId].tsx b/src/pages/share/[videoId].tsx
index f0726db..2623246 100644
--- a/src/pages/share/[videoId].tsx
+++ b/src/pages/share/[videoId].tsx
@@ -10,17 +10,17 @@ const VideoList: NextPage = () => {
const router = useRouter();
const { videoId } = router.query as { videoId: string };
- const { data: video, isFetching } = api.video.get.useQuery(
+ const { data: video, isError } = api.video.get.useQuery(
{ videoId },
{
enabled: router.isReady,
}
);
- console.log(video);
- if (isFetching) {
- return loading...;
+ if (isError) {
+ return this video is not publicly available;
}
+
return (
<>
@@ -30,7 +30,7 @@ const VideoList: NextPage = () => {
-
Screenity
+
Screenity | {video?.title ?? ""}
@@ -43,12 +43,14 @@ const VideoList: NextPage = () => {
-
+ {video?.video_url && (
+
+ )}
>
diff --git a/src/server/api/routers/video.ts b/src/server/api/routers/video.ts
index 5abdfe3..0d2ae1f 100644
--- a/src/server/api/routers/video.ts
+++ b/src/server/api/routers/video.ts
@@ -4,6 +4,7 @@ import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";
import { PutObjectCommand } from "@aws-sdk/client-s3";
import { env } from "~/env.mjs";
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
+import { TRPCError } from "@trpc/server";
export const videoRouter = createTRPCRouter({
getAll: protectedProcedure.query(async ({ ctx }) => {
@@ -23,6 +24,11 @@ export const videoRouter = createTRPCRouter({
id: input.videoId,
},
});
+
+ if (video?.userId !== ctx.session.user.id) {
+ throw new TRPCError({ code: "UNAUTHORIZED" });
+ }
+
return video;
}),
getUploadUrl: protectedProcedure