Skip to content

Commit 162a876

Browse files
committed
update generateMetadata
1 parent 7ebca85 commit 162a876

File tree

1 file changed

+35
-7
lines changed

1 file changed

+35
-7
lines changed

apps/web/app/s/[videoId]/page.tsx

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,6 @@ type Props = {
9696
searchParams: { [key: string]: string | string[] | undefined };
9797
};
9898

99-
type CommentWithAuthor = typeof comments.$inferSelect & {
100-
authorName: string | null;
101-
};
102-
10399
type VideoWithOrganization = typeof videos.$inferSelect & {
104100
sharedOrganization?: {
105101
organizationId: string;
@@ -118,7 +114,22 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
118114
"[generateMetadata] Fetching video metadata for videoId:",
119115
videoId,
120116
);
121-
const query = await db().select().from(videos).where(eq(videos.id, videoId));
117+
const query = await db()
118+
.select({
119+
id: videos.id,
120+
public: videos.public,
121+
name: videos.name,
122+
password: videos.password,
123+
ownerId: videos.ownerId,
124+
sharedOrganization: {
125+
organizationId: sharedVideos.organizationId,
126+
},
127+
spaceId: spaceVideos.spaceId,
128+
})
129+
.from(videos)
130+
.leftJoin(spaceVideos, eq(videos.id, spaceVideos.videoId))
131+
.leftJoin(sharedVideos, eq(videos.id, sharedVideos.videoId))
132+
.where(eq(videos.id, videoId));
122133

123134
if (query.length === 0) {
124135
console.log("[generateMetadata] No video found for videoId:", videoId);
@@ -131,8 +142,25 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
131142
return notFound();
132143
}
133144

134-
const userPromise = getCurrentUser();
135-
const userAccess = await userHasAccessToVideo(userPromise, video);
145+
const user = await getCurrentUser();
146+
147+
const [space] = await db()
148+
.select({
149+
isSpaceMember: spaceMembers.userId,
150+
})
151+
.from(spaceMembers)
152+
.where(
153+
and(
154+
eq(spaceMembers.userId, user?.id ?? ""),
155+
eq(spaceMembers.spaceId, video?.spaceId ?? ""),
156+
),
157+
);
158+
159+
const userAccess = await userHasAccessToVideo(
160+
user,
161+
video,
162+
space?.isSpaceMember,
163+
);
136164

137165
const headersList = headers();
138166
const referrer = headersList.get("x-referrer") || "";

0 commit comments

Comments
 (0)