( cookieValue: string, )
| 129 | } |
| 130 | |
| 131 | async function getDataFromCookie( |
| 132 | cookieValue: string, |
| 133 | ): Promise<{ user: User; session: UserSession | undefined; tokenData?: JwtData['data'] } | null> { |
| 134 | if (!cookieValue) { |
| 135 | return null; |
| 136 | } |
| 137 | |
| 138 | const key = await generateKey(JWT_SECRET); |
| 139 | |
| 140 | try { |
| 141 | const token = await verifyAuthJwt(key, cookieValue) as JwtData; |
| 142 | |
| 143 | const { user, session } = await validateUserAndSession(token.data.user_id, token.data.session_id); |
| 144 | |
| 145 | return { user, session, tokenData: token.data }; |
| 146 | } catch (error) { |
| 147 | console.error(error); |
| 148 | } |
| 149 | |
| 150 | return null; |
| 151 | } |
| 152 | |
| 153 | export async function generateToken<T = JwtData>(tokenData: T): Promise<string> { |
| 154 | const key = await generateKey(JWT_SECRET); |
no test coverage detected