perf: git
This commit is contained in:
@@ -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({
|
||||||
|
|||||||
Reference in New Issue
Block a user