perf: git

This commit is contained in:
archer
2023-08-07 17:59:17 +08:00
parent a4c1a04900
commit b142c04b95

View File

@@ -17,6 +17,7 @@ type GithubAccessTokenType = {
scope: string; scope: string;
}; };
type GithubUserType = { type GithubUserType = {
login: string;
email: string; email: string;
avatar_url: string; avatar_url: string;
}; };
@@ -35,22 +36,22 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
throw new Error('access_token is null'); throw new Error('access_token is null');
} }
const { const { data } = await axios.get<GithubUserType>('https://api.github.com/user', {
data: { email, avatar_url }
} = await axios.get<GithubUserType>('https://api.github.com/user', {
headers: { headers: {
Authorization: `Bearer ${access_token}` Authorization: `Bearer ${access_token}`
} }
}); });
const { login, email, avatar_url } = data;
const username = email || login;
try { try {
jsonRes(res, { jsonRes(res, {
data: await loginByUsername({ username: email, res }) data: await loginByUsername({ username, res })
}); });
} catch (err: any) { } catch (err: any) {
if (err?.code === 500) { if (err?.code === 500) {
jsonRes(res, { jsonRes(res, {
data: await registerUser({ username: email, avatar: avatar_url, res }) data: await registerUser({ username, avatar: avatar_url, res })
}); });
} }
throw new Error(err); throw new Error(err);
@@ -71,7 +72,6 @@ export async function loginByUsername({
res: NextApiResponse; res: NextApiResponse;
}) { }) {
const user = await User.findOne({ username }); const user = await User.findOne({ username });
console.log(user, username);
if (!user) { if (!user) {
return Promise.reject({ return Promise.reject({