@@ -499,14 +499,14 @@ app.get('/api/campaigns/trending', (req: Request, res: Response) => {
499499 res . send ( responseBody ) ;
500500} ) ;
501501
502- app . get ( '/api/campaigns/:id' , ( req : Request , res : Response ) => {
502+ app . get ( '/api/campaigns/:id' , async ( req : Request , res : Response ) => {
503503 const parsedId = parseCampaignId ( req . params . id ) ;
504504 if ( ! parsedId . ok ) {
505505 sendValidationError ( parsedId . issues ) ;
506506 }
507507
508508 const cacheKey = `campaigns:detail:${ parsedId . value } ` ;
509- const cached = getCampaignCacheEntry ( cacheKey ) ;
509+ const cached = await getCampaignCacheEntry ( cacheKey ) ;
510510 if ( cached ) {
511511 res . setHeader ( 'Cache-Control' , 'max-age=30' ) ;
512512 res . setHeader ( 'X-Cache' , 'HIT' ) ;
@@ -521,7 +521,7 @@ app.get('/api/campaigns/:id', (req: Request, res: Response) => {
521521 }
522522
523523 const responseBody = JSON . stringify ( { data : campaign } ) ;
524- setCampaignCacheEntry ( cacheKey , responseBody ) ;
524+ await setCampaignCacheEntry ( cacheKey , responseBody ) ;
525525
526526 res . setHeader ( 'Cache-Control' , 'max-age=30' ) ;
527527 res . setHeader ( 'X-Cache' , 'MISS' ) ;
@@ -532,29 +532,29 @@ app.get('/api/campaigns/:id', (req: Request, res: Response) => {
532532app . delete (
533533 '/api/campaigns/:id' ,
534534 applyRateLimit ( WRITE_RATE_LIMIT_MAX_REQUESTS ) ,
535- ( req : Request , res : Response ) => {
535+ async ( req : Request , res : Response ) => {
536536 const parsedId = parseCampaignId ( req . params . id ) ;
537537 if ( ! parsedId . ok ) {
538538 sendValidationError ( parsedId . issues ) ;
539539 }
540540
541541 const campaign = softDeleteCampaign ( parsedId . value ) ;
542- invalidateCampaignCache ( ) ;
542+ await invalidateCampaignCache ( ) ;
543543 res . json ( { data : { ...campaign , progress : calculateProgress ( campaign ) } } ) ;
544544 } ,
545545) ;
546546
547547app . post (
548548 '/api/campaigns/:id/restore' ,
549549 applyRateLimit ( WRITE_RATE_LIMIT_MAX_REQUESTS ) ,
550- ( req : Request , res : Response ) => {
550+ async ( req : Request , res : Response ) => {
551551 const parsedId = parseCampaignId ( req . params . id ) ;
552552 if ( ! parsedId . ok ) {
553553 sendValidationError ( parsedId . issues ) ;
554554 }
555555
556556 const campaign = restoreCampaign ( parsedId . value ) ;
557- invalidateCampaignCache ( ) ;
557+ await invalidateCampaignCache ( ) ;
558558 res . json ( { data : { ...campaign , progress : calculateProgress ( campaign ) } } ) ;
559559 } ,
560560) ;
@@ -658,7 +658,7 @@ app.post(
658658
659659 const body = req . body as z . infer < typeof reconcilePledgePayloadSchema > ;
660660 const result = reconcileOnChainPledge ( parsedId . value , body ) ;
661- invalidateCampaignCache ( ) ;
661+ await invalidateCampaignCache ( ) ;
662662 res . status ( result . existing ? 200 : 201 ) . json ( {
663663 data : {
664664 campaign : { ...result . campaign , progress : calculateProgress ( result . campaign ) } ,
@@ -897,7 +897,7 @@ app.get('/api/leaderboard', (req: Request, res: Response) => {
897897} ) ;
898898
899899// Legacy route for backward compatibility
900- app . get ( '/api/leaderboard' , ( req : Request , res : Response ) => {
900+ app . get ( '/api/leaderboard' , async ( req : Request , res : Response ) => {
901901 const queryResult = parseLeaderboardQuery ( req . query as Record < string , unknown > ) ;
902902 if ( ! queryResult . ok ) {
903903 sendValidationError ( queryResult . issues ) ;
@@ -907,7 +907,7 @@ app.get('/api/leaderboard', (req: Request, res: Response) => {
907907
908908 // Build cache key based on type and limit
909909 const cacheKey = `campaign_leaderboard:${ type } :${ limit } ` ;
910- const cached = getCampaignCacheEntry ( cacheKey ) ;
910+ const cached = await getCampaignCacheEntry ( cacheKey ) ;
911911
912912 if ( cached ) {
913913 res . setHeader ( 'Cache-Control' , 'max-age=300' ) ;
@@ -921,7 +921,7 @@ app.get('/api/leaderboard', (req: Request, res: Response) => {
921921 const leaderboard = getCampaignLeaderboard ( type , limit ) ;
922922 const responseBody = JSON . stringify ( { data : leaderboard } ) ;
923923
924- setCampaignCacheEntry ( cacheKey , responseBody ) ;
924+ await setCampaignCacheEntry ( cacheKey , responseBody ) ;
925925
926926 res . setHeader ( 'Cache-Control' , 'max-age=300' ) ;
927927 res . setHeader ( 'X-Cache' , 'MISS' ) ;
@@ -948,7 +948,7 @@ app.get('/api/leaderboard', (req: Request, res: Response) => {
948948 }
949949} ) ;
950950
951- app . get ( '/api/campaigns/leaderboard' , ( req : Request , res : Response ) => {
951+ app . get ( '/api/campaigns/leaderboard' , async ( req : Request , res : Response ) => {
952952 const queryResult = parseLeaderboardQuery ( req . query as Record < string , unknown > ) ;
953953 if ( ! queryResult . ok ) {
954954 sendValidationError ( queryResult . issues ) ;
@@ -958,7 +958,7 @@ app.get('/api/campaigns/leaderboard', (req: Request, res: Response) => {
958958
959959 // Build cache key based on type and limit
960960 const cacheKey = `campaign_leaderboard:${ type } :${ limit } ` ;
961- const cached = getCampaignCacheEntry ( cacheKey ) ;
961+ const cached = await getCampaignCacheEntry ( cacheKey ) ;
962962
963963 if ( cached ) {
964964 res . setHeader ( 'Cache-Control' , 'max-age=300' ) ;
@@ -972,7 +972,7 @@ app.get('/api/campaigns/leaderboard', (req: Request, res: Response) => {
972972 const leaderboard = getCampaignLeaderboard ( type , limit ) ;
973973 const responseBody = JSON . stringify ( { data : leaderboard } ) ;
974974
975- setCampaignCacheEntry ( cacheKey , responseBody ) ;
975+ await setCampaignCacheEntry ( cacheKey , responseBody ) ;
976976
977977 res . setHeader ( 'Cache-Control' , 'max-age=300' ) ;
978978 res . setHeader ( 'X-Cache' , 'MISS' ) ;
@@ -985,15 +985,14 @@ app.get('/api/campaigns/leaderboard', (req: Request, res: Response) => {
985985 event : 'campaign_leaderboard_error' ,
986986 requestId : ( req as RequestWithId ) . requestId ,
987987 type,
988- limit,
989988 } ,
990989 config . logLevel ,
991990 ) ;
992991 res . status ( 500 ) . json ( {
993992 success : false ,
994993 error : {
995994 code : 'INTERNAL_SERVER_ERROR' ,
996- message : 'Failed to fetch campaign leaderboard' ,
995+ message : 'Failed to fetch leaderboard' ,
997996 requestId : ( req as RequestWithId ) . requestId ,
998997 } ,
999998 } ) ;
0 commit comments