@@ -9,7 +9,7 @@ import { getCacheTag, getComputedContentSourceCacheTags } from '@gitbook/cache-t
99import { GITBOOK_API_TOKEN , GITBOOK_API_URL , GITBOOK_USER_AGENT } from '@v2/lib/env' ;
1010import { unstable_cacheLife as cacheLife , unstable_cacheTag as cacheTag } from 'next/cache' ;
1111import { cache } from '../cache' ;
12- import { DataFetcherError , wrapCacheDataFetcherError } from './errors' ;
12+ import { DataFetcherError , throwIfDataError , wrapCacheDataFetcherError } from './errors' ;
1313import type { GitBookDataFetcher } from './types' ;
1414
1515interface DataFetcherInput {
@@ -73,7 +73,6 @@ export function createDataFetcher(
7373 getRevision ( input , {
7474 spaceId : params . spaceId ,
7575 revisionId : params . revisionId ,
76- metadata : params . metadata ,
7776 } )
7877 ) ;
7978 } ,
@@ -282,10 +281,7 @@ const getChangeRequest = cache(
282281) ;
283282
284283const getRevision = cache (
285- async (
286- input : DataFetcherInput ,
287- params : { spaceId : string ; revisionId : string ; metadata : boolean }
288- ) => {
284+ async ( input : DataFetcherInput , params : { spaceId : string ; revisionId : string } ) => {
289285 'use cache' ;
290286 return wrapCacheDataFetcherError ( async ( ) => {
291287 return trace ( `getRevision(${ params . spaceId } , ${ params . revisionId } )` , async ( ) => {
@@ -294,7 +290,7 @@ const getRevision = cache(
294290 params . spaceId ,
295291 params . revisionId ,
296292 {
297- metadata : params . metadata ,
293+ metadata : true ,
298294 } ,
299295 {
300296 ...noCacheFetchOptions ,
@@ -340,24 +336,24 @@ const getRevisionFile = cache(
340336 input : DataFetcherInput ,
341337 params : { spaceId : string ; revisionId : string ; fileId : string }
342338 ) => {
343- 'use cache' ;
344339 return wrapCacheDataFetcherError ( async ( ) => {
345340 return trace (
346341 `getRevisionFile(${ params . spaceId } , ${ params . revisionId } , ${ params . fileId } )` ,
347342 async ( ) => {
348- const api = apiClient ( input ) ;
349- const res = await api . spaces . getFileInRevisionById (
350- params . spaceId ,
351- params . revisionId ,
352- params . fileId ,
353- { } ,
354- {
355- ...noCacheFetchOptions ,
356- }
343+ const revision = await throwIfDataError (
344+ getRevision ( input , {
345+ spaceId : params . spaceId ,
346+ revisionId : params . revisionId ,
347+ } )
357348 ) ;
358- cacheTag ( ...getCacheTagsFromResponse ( res ) ) ;
359- cacheLife ( 'max' ) ;
360- return res . data ;
349+
350+ const file = revision . files . find ( ( file ) => file . id === params . fileId ) ;
351+
352+ if ( ! file ) {
353+ throw new DataFetcherError ( 'File not found' , 404 ) ;
354+ }
355+
356+ return file ;
361357 }
362358 ) ;
363359 } ) ;
0 commit comments