fix: get files for new repos

This commit is contained in:
tdurieux
2023-02-08 16:26:46 +01:00
parent 5c72f54db5
commit 32d1884450
3 changed files with 11 additions and 8 deletions
+4 -2
View File
@@ -102,7 +102,7 @@ export default class Repository {
} }
if ( if (
this._model.originalFiles && this._model.originalFiles &&
this._model.size.file !== 0 && Object.getOwnPropertyNames(this._model.originalFiles).length !== 0 &&
!opt.force !opt.force
) { ) {
return this._model.originalFiles; return this._model.originalFiles;
@@ -110,7 +110,9 @@ export default class Repository {
const files = await this.source.getFiles(); const files = await this.source.getFiles();
this._model.originalFiles = files; this._model.originalFiles = files;
this._model.size = { storage: 0, file: 0 }; this._model.size = { storage: 0, file: 0 };
console.log("Size", this._model.originalFiles);
await this.computeSize(); await this.computeSize();
console.log("Size", this._model);
return files; return files;
} }
@@ -305,7 +307,7 @@ export default class Repository {
*/ */
file: number; file: number;
}> { }> {
if (this.status != "ready") return { storage: 0, file: 0 }; if (this.status !== RepositoryStatus.READY) return { storage: 0, file: 0 };
if (this._model.size.file) return this._model.size; if (this._model.size.file) return this._model.size;
function recursiveCount(files: Tree): { storage: number; file: number } { function recursiveCount(files: Tree): { storage: number; file: number } {
const out = { storage: 0, file: 0 }; const out = { storage: 0, file: 0 };
+2 -1
View File
@@ -32,9 +32,10 @@ async function getTokenForAdmin(user: User, req: express.Request) {
}, },
{ {
"source.accessToken": 1, "source.accessToken": 1,
owner: 1,
} }
).exec(); ).exec();
if (existingRepo) { if (existingRepo && existingRepo.owner != user.id) {
return existingRepo.source.accessToken; return existingRepo.source.accessToken;
} }
} catch (error) { } catch (error) {
+5 -5
View File
@@ -1,14 +1,14 @@
import { Branch } from "../types"; import { Branch } from "../types";
import * as gh from "parse-github-url"; import * as gh from "parse-github-url";
import { IRepositoryDocument } from "../database/repositories/repositories.types"; import { IRepositoryDocument } from "../database/repositories/repositories.types";
import { Octokit } from "@octokit/rest"; import { Octokit, RestEndpointMethodTypes } from "@octokit/rest";
import RepositoryModel from "../database/repositories/repositories.model"; import RepositoryModel from "../database/repositories/repositories.model";
import AnonymousError from "../AnonymousError"; import AnonymousError from "../AnonymousError";
export class GitHubRepository { export class GitHubRepository {
private _data: Partial< private _data: Partial<{
{ [P in keyof IRepositoryDocument]: IRepositoryDocument[P] } [P in keyof IRepositoryDocument]: IRepositoryDocument[P];
>; }>;
constructor( constructor(
data: Partial<{ [P in keyof IRepositoryDocument]: IRepositoryDocument[P] }> data: Partial<{ [P in keyof IRepositoryDocument]: IRepositoryDocument[P] }>
) { ) {
@@ -167,7 +167,7 @@ export async function getRepositoryFromGitHub(opt: {
opt.repo = opt.repo.replace(".git", ""); opt.repo = opt.repo.replace(".git", "");
} }
const octokit = new Octokit({ auth: opt.accessToken }); const octokit = new Octokit({ auth: opt.accessToken });
let r; let r: RestEndpointMethodTypes["repos"]["get"]["response"]["data"];
try { try {
r = ( r = (
await octokit.repos.get({ await octokit.repos.get({