@@ -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-
10399type 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