1
1
import { getRaysDailyChallengeData , getRaysDailyChallengeDateFormat } from 'helpers/dailyRays'
2
2
import type { NextApiHandler } from 'next'
3
+ import { verifyAccessToken } from 'pages/api/auth/check-auth'
3
4
import { prisma } from 'server/prisma'
4
5
5
6
export const dailyRaysGetHandler : NextApiHandler = async ( req , res ) => {
@@ -8,7 +9,7 @@ export const dailyRaysGetHandler: NextApiHandler = async (req, res) => {
8
9
const { walletAddress } = req . query
9
10
const dailyChallengeData = await prisma . raysDailyChallenge . findUnique ( {
10
11
where : {
11
- address : ( walletAddress as string ) . toLocaleLowerCase ( ) ,
12
+ address : ( walletAddress as string ) . toLowerCase ( ) ,
12
13
} ,
13
14
} )
14
15
const calculatedData = getRaysDailyChallengeData ( dailyChallengeData ?. claimed_dates )
@@ -24,12 +25,22 @@ export const dailyRaysPostHandler: NextApiHandler = async (req, res) => {
24
25
return res . status ( 400 ) . end ( )
25
26
}
26
27
27
- const token = req . cookies [ `token-${ address . toLocaleLowerCase ( ) } ` ]
28
+ const token = req . cookies [ `token-${ address . toLowerCase ( ) } ` ]
28
29
29
30
if ( ! token ) {
30
31
return res . status ( 401 ) . json ( { authenticated : false } )
31
32
}
32
33
34
+ const decoded = verifyAccessToken ( token )
35
+
36
+ if ( ! decoded ) {
37
+ return res . status ( 401 ) . json ( { authenticated : false } )
38
+ }
39
+
40
+ if ( decoded . address . toLowerCase ( ) !== address . toLowerCase ( ) ) {
41
+ return res . status ( 401 ) . json ( { authenticated : false } )
42
+ }
43
+
33
44
const usersOverview = await fetch (
34
45
`${ process . env . FUNCTIONS_API_URL } /api/portfolio/overview?address=${ address } ` ,
35
46
) . then ( ( usersOverviewRes ) => usersOverviewRes . json ( ) )
0 commit comments