fix(#181): check if folder exists in S3

This commit is contained in:
tdurieux
2023-02-22 08:00:20 +01:00
parent 6caca33145
commit 7dbfdb3056
3 changed files with 15 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
import { join } from "path";
import storage from "./storage";
import { RepositoryStatus, Source, Tree, TreeElement, TreeFile } from "./types";
import { Readable, Transform } from "stream";
import { Readable } from "stream";
import User from "./User";
import GitHubStream from "./source/GitHubStream";
import GitHubDownload from "./source/GitHubDownload";

View File

@@ -80,7 +80,11 @@ export default class GitHubStream extends GitHubBase implements SourceBase {
}
async getFiles() {
return this.getTree(this.branch.commit);
let commit = this.branch?.commit;
if (!commit && this.repository.model.source.commit) {
commit = this.repository.model.source.commit;
}
return this.getTree(commit);
}
private async getTree(

View File

@@ -45,7 +45,15 @@ export default class S3Storage implements StorageBase {
.promise();
return true;
} catch (err) {
return false;
// check if it is a directory
const data = await this.client
.listObjectsV2({
Bucket: config.S3_BUCKET,
Prefix: path,
MaxKeys: 1,
})
.promise();
return (data.Contents?.length || 0) > 0;
}
}