(
req: Request,
res: Response,
)
| 6 | import { createUserWithToken } from '../services/user.service'; |
| 7 | |
| 8 | export const githubOauthHandler = async ( |
| 9 | req: Request, |
| 10 | res: Response, |
| 11 | ) => { |
| 12 | try { |
| 13 | const code = req.query.code as string; |
| 14 | |
| 15 | if (!code) { |
| 16 | return res.json({error: 'authorization code not provided'}) |
| 17 | } |
| 18 | |
| 19 | // Get access_token using code |
| 20 | const { access_token } = await getGithubOathToken({ code }); |
| 21 | |
| 22 | // Get user details using access token |
| 23 | const userData = await getGithubUser({access_token}); |
| 24 | |
| 25 | const returnedUser = await createUserWithToken(userData) |
| 26 | |
| 27 | res.json({user: returnedUser}) |
| 28 | |
| 29 | } catch (err: any) { |
| 30 | res.json({'error': err.message}) |
| 31 | } |
| 32 | }; |
| 33 |
nothing calls this directly
no test coverage detected