@@ -10,7 +10,7 @@ import { GITBOOK_API_TOKEN, GITBOOK_API_URL, GITBOOK_USER_AGENT } from '@v2/lib/
10
10
import { unstable_cache } from 'next/cache' ;
11
11
import { getCloudflareContext } from './cloudflare' ;
12
12
import { DataFetcherError , wrapDataFetcherError } from './errors' ;
13
- import { memoize } from './memoize' ;
13
+ import { getCacheKey , memoize } from './memoize' ;
14
14
import type { GitBookDataFetcher } from './types' ;
15
15
16
16
interface DataFetcherInput {
@@ -201,9 +201,10 @@ const getUserById = memoize(async function getUserById(
201
201
} ) ;
202
202
} ) ;
203
203
} ,
204
- [ ] ,
204
+ [ input . apiToken ?? '' , params . userId ] ,
205
205
{
206
206
revalidate : 60 * 60 * 24 ,
207
+ tags : [ ] ,
207
208
}
208
209
) ;
209
210
@@ -240,14 +241,15 @@ const getSpace = memoize(async function getSpace(
240
241
} ) ;
241
242
} ) ;
242
243
} ,
243
- [
244
- getCacheTag ( {
245
- tag : 'space' ,
246
- space : params . spaceId ,
247
- } ) ,
248
- ] ,
244
+ [ input . apiToken ?? '' , params . spaceId , params . shareKey ?? '' ] ,
249
245
{
250
246
revalidate : 60 * 60 * 24 ,
247
+ tags : [
248
+ getCacheTag ( {
249
+ tag : 'space' ,
250
+ space : params . spaceId ,
251
+ } ) ,
252
+ ] ,
251
253
}
252
254
) ;
253
255
@@ -293,15 +295,16 @@ const getChangeRequest = memoize(async function getChangeRequest(
293
295
} ) ;
294
296
} ) ;
295
297
} ,
296
- [
297
- getCacheTag ( {
298
- tag : 'change-request' ,
299
- space : params . spaceId ,
300
- changeRequest : params . changeRequestId ,
301
- } ) ,
302
- ] ,
298
+ [ input . apiToken ?? '' , params . spaceId , params . changeRequestId ?? '' ] ,
303
299
{
304
300
revalidate : 60 * 5 ,
301
+ tags : [
302
+ getCacheTag ( {
303
+ tag : 'change-request' ,
304
+ space : params . spaceId ,
305
+ changeRequest : params . changeRequestId ,
306
+ } ) ,
307
+ ] ,
305
308
}
306
309
) ;
307
310
@@ -353,9 +356,10 @@ const getRevision = memoize(async function getRevision(
353
356
} ) ;
354
357
} ) ;
355
358
} ,
356
- [ ] ,
359
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId ] ,
357
360
{
358
361
revalidate : 60 * 60 * 24 * 7 ,
362
+ tags : [ ] ,
359
363
}
360
364
) ;
361
365
@@ -399,9 +403,10 @@ const getRevisionPages = memoize(async function getRevisionPages(
399
403
} ) ;
400
404
} ) ;
401
405
} ,
402
- [ ] ,
406
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId ] ,
403
407
{
404
408
revalidate : 60 * 60 * 24 ,
409
+ tags : [ ] ,
405
410
}
406
411
) ;
407
412
@@ -448,9 +453,10 @@ const getRevisionFile = memoize(async function getRevisionFile(
448
453
} ) ;
449
454
} ) ;
450
455
} ,
451
- [ ] ,
456
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId , params . fileId ] ,
452
457
{
453
458
revalidate : 60 * 60 * 24 * 7 ,
459
+ tags : [ ] ,
454
460
}
455
461
) ;
456
462
@@ -500,9 +506,10 @@ const getRevisionPageMarkdown = memoize(async function getRevisionPageMarkdown(
500
506
} ) ;
501
507
} ) ;
502
508
} ,
503
- [ ] ,
509
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId , params . pageId ] ,
504
510
{
505
511
revalidate : 60 * 60 * 24 * 7 ,
512
+ tags : [ ] ,
506
513
}
507
514
) ;
508
515
@@ -555,9 +562,10 @@ const getRevisionPageByPath = memoize(async function getRevisionPageByPath(
555
562
} ) ;
556
563
} ) ;
557
564
} ,
558
- [ ] ,
565
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId , params . path ] ,
559
566
{
560
567
revalidate : 60 * 60 * 24 * 7 ,
568
+ tags : [ ] ,
561
569
}
562
570
) ;
563
571
@@ -603,9 +611,10 @@ const getDocument = memoize(async function getDocument(
603
611
} ) ;
604
612
} ) ;
605
613
} ,
606
- [ ] ,
614
+ [ input . apiToken ?? '' , params . spaceId , params . documentId ] ,
607
615
{
608
616
revalidate : 60 * 60 * 24 * 7 ,
617
+ tags : [ ] ,
609
618
}
610
619
) ;
611
620
@@ -645,15 +654,22 @@ const getComputedDocument = memoize(async function getComputedDocument(
645
654
} ) ;
646
655
} ) ;
647
656
} ,
648
- getComputedContentSourceCacheTags (
649
- {
650
- spaceId : params . spaceId ,
651
- organizationId : params . organizationId ,
652
- } ,
653
- params . source
654
- ) ,
657
+ [
658
+ input . apiToken ?? '' ,
659
+ params . spaceId ,
660
+ params . organizationId ,
661
+ getCacheKey ( [ params . source ] ) ,
662
+ params . seed ,
663
+ ] ,
655
664
{
656
665
revalidate : 60 * 60 * 24 ,
666
+ tags : getComputedContentSourceCacheTags (
667
+ {
668
+ spaceId : params . spaceId ,
669
+ organizationId : params . organizationId ,
670
+ } ,
671
+ params . source
672
+ ) ,
657
673
}
658
674
) ;
659
675
@@ -706,9 +722,10 @@ const getReusableContent = memoize(async function getReusableContent(
706
722
} ) ;
707
723
} ) ;
708
724
} ,
709
- [ ] ,
725
+ [ input . apiToken ?? '' , params . spaceId , params . revisionId , params . reusableContentId ] ,
710
726
{
711
727
revalidate : 60 * 60 * 24 * 7 ,
728
+ tags : [ ] ,
712
729
}
713
730
) ;
714
731
@@ -749,15 +766,16 @@ const getLatestOpenAPISpecVersionContent = memoize(
749
766
} ) ;
750
767
} ) ;
751
768
} ,
752
- [
753
- getCacheTag ( {
754
- tag : 'openapi' ,
755
- organization : params . organizationId ,
756
- openAPISpec : params . slug ,
757
- } ) ,
758
- ] ,
769
+ [ input . apiToken ?? '' , params . organizationId , params . slug ] ,
759
770
{
760
771
revalidate : 60 * 60 * 24 ,
772
+ tags : [
773
+ getCacheTag ( {
774
+ tag : 'openapi' ,
775
+ organization : params . organizationId ,
776
+ openAPISpec : params . slug ,
777
+ } ) ,
778
+ ] ,
761
779
}
762
780
) ;
763
781
@@ -810,14 +828,15 @@ const getPublishedContentSite = memoize(async function getPublishedContentSite(
810
828
} ) ;
811
829
} ) ;
812
830
} ,
813
- [
814
- getCacheTag ( {
815
- tag : 'site' ,
816
- site : params . siteId ,
817
- } ) ,
818
- ] ,
831
+ [ input . apiToken ?? '' , params . organizationId , params . siteId , params . siteShareKey ?? '' ] ,
819
832
{
820
833
revalidate : 60 * 60 * 24 ,
834
+ tags : [
835
+ getCacheTag ( {
836
+ tag : 'site' ,
837
+ site : params . siteId ,
838
+ } ) ,
839
+ ] ,
821
840
}
822
841
) ;
823
842
@@ -875,13 +894,20 @@ const getSiteRedirectBySource = memoize(async function getSiteRedirectBySource(
875
894
} ) ;
876
895
} ,
877
896
[
878
- getCacheTag ( {
879
- tag : 'site' ,
880
- site : params . siteId ,
881
- } ) ,
897
+ input . apiToken ?? '' ,
898
+ params . organizationId ,
899
+ params . siteId ,
900
+ params . siteShareKey ?? '' ,
901
+ params . source ,
882
902
] ,
883
903
{
884
904
revalidate : 60 * 60 * 24 ,
905
+ tags : [
906
+ getCacheTag ( {
907
+ tag : 'site' ,
908
+ site : params . siteId ,
909
+ } ) ,
910
+ ] ,
885
911
}
886
912
) ;
887
913
@@ -926,9 +952,10 @@ const getEmbedByUrl = memoize(async function getEmbedByUrl(
926
952
} ) ;
927
953
} ) ;
928
954
} ,
929
- [ ] ,
955
+ [ input . apiToken ?? '' , params . spaceId , params . url ] ,
930
956
{
931
957
revalidate : 60 * 60 * 24 * 7 ,
958
+ tags : [ ] ,
932
959
}
933
960
) ;
934
961
@@ -964,9 +991,16 @@ const searchSiteContent = memoize(async function searchSiteContent(
964
991
} ) ;
965
992
} ) ;
966
993
} ,
967
- [ ] ,
994
+ [
995
+ input . apiToken ?? '' ,
996
+ params . organizationId ,
997
+ params . siteId ,
998
+ params . query ,
999
+ getCacheKey ( [ params . scope ] ) ,
1000
+ ] ,
968
1001
{
969
1002
revalidate : 60 * 60 * 24 ,
1003
+ tags : [ ] ,
970
1004
}
971
1005
) ;
972
1006
@@ -1009,14 +1043,15 @@ const renderIntegrationUi = memoize(async function renderIntegrationUi(
1009
1043
} ) ;
1010
1044
} ) ;
1011
1045
} ,
1012
- [
1013
- getCacheTag ( {
1014
- tag : 'integration' ,
1015
- integration : params . integrationName ,
1016
- } ) ,
1017
- ] ,
1046
+ [ input . apiToken ?? '' , params . integrationName ] ,
1018
1047
{
1019
1048
revalidate : 60 * 60 * 24 ,
1049
+ tags : [
1050
+ getCacheTag ( {
1051
+ tag : 'integration' ,
1052
+ integration : params . integrationName ,
1053
+ } ) ,
1054
+ ] ,
1020
1055
}
1021
1056
) ;
1022
1057
0 commit comments