try to fix repo access

This commit is contained in:
Thomas Durieux
2025-04-01 22:27:17 +02:00
parent c2a423714f
commit b2d77faa6c
4 changed files with 33 additions and 11 deletions
+12 -11
View File
@@ -28,18 +28,19 @@ export async function checkToken(token: string) {
export async function getToken(repository: Repository) {
const span = trace.getTracer("ano-file").startSpan("GHUtils.getToken");
span.setAttribute("repoId", repository.repoId);
console.log("getToken", repository.repoId);
try {
if (repository.model.source.accessToken) {
// only check the token if the repo has been visited less than 10 minutes ago
if (
repository.status == RepositoryStatus.READY &&
repository.model.lastView > new Date(Date.now() - 1000 * 60 * 10)
) {
return repository.model.source.accessToken;
} else if (await checkToken(repository.model.source.accessToken)) {
return repository.model.source.accessToken;
}
}
// if (repository.model.source.accessToken) {
// // only check the token if the repo has been visited less than 10 minutes ago
// if (
// repository.status == RepositoryStatus.READY &&
// repository.model.lastView > new Date(Date.now() - 1000 * 60 * 10)
// ) {
// return repository.model.source.accessToken;
// } else if (await checkToken(repository.model.source.accessToken)) {
// return repository.model.source.accessToken;
// }
// }
if (!repository.owner.model.accessTokens?.github) {
const query = await UserModel.findById(repository.owner.id, {
accessTokens: 1,
+15
View File
@@ -272,6 +272,21 @@ export async function getRepositoryFromGitHub(opt: {
).data;
} catch (error) {
span.recordException(error as Error);
if (
error instanceof Error &&
error.message.includes(
"organization has enabled OAuth App access restrictions"
)
) {
throw new AnonymousError("repo_access_limited", {
httpStatus: 403,
object: {
owner: opt.owner,
repo: opt.repo,
},
cause: error as Error,
});
}
throw new AnonymousError("repo_not_found", {
httpStatus: (error as any).status,
object: {