mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-13 10:52:53 +00:00
fix(#181): check if folder exists in S3
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user