mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-23 19:02:37 +01:00
fix: don't set location by default
This commit is contained in:
parent
ef157c9aa7
commit
0e5172bc5f
@ -13,14 +13,21 @@ const readableToBuffer = (readable: Readable): Promise<Buffer> =>
|
|||||||
export class S3Storage implements Storage {
|
export class S3Storage implements Storage {
|
||||||
public constructor(
|
public constructor(
|
||||||
private client: S3,
|
private client: S3,
|
||||||
private basePath: string,
|
private bucket: string,
|
||||||
private bucket: string
|
private basePath?: string,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Always return a string, to ensure consistency.
|
||||||
|
*/
|
||||||
|
get bucketBasePath() {
|
||||||
|
return this.basePath ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
async set(path: string, data: Buffer): Promise<void> {
|
async set(path: string, data: Buffer): Promise<void> {
|
||||||
await this.client.putObject({
|
await this.client.putObject({
|
||||||
Bucket: this.bucket,
|
Bucket: this.bucket,
|
||||||
Key: `${this.basePath}${path}`,
|
Key: `${this.bucketBasePath}${path}`,
|
||||||
Body: data
|
Body: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -29,7 +36,7 @@ export class S3Storage implements Storage {
|
|||||||
try {
|
try {
|
||||||
const s3Object = await this.client.getObject({
|
const s3Object = await this.client.getObject({
|
||||||
Bucket: this.bucket,
|
Bucket: this.bucket,
|
||||||
Key: `${this.basePath}${path}`
|
Key: `${this.bucketBasePath ?? ''}${path}`
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!s3Object.Body) return null;
|
if (!s3Object.Body) return null;
|
||||||
@ -47,7 +54,7 @@ export class S3Storage implements Storage {
|
|||||||
async delete(path: string): Promise<void> {
|
async delete(path: string): Promise<void> {
|
||||||
await this.client.deleteObject({
|
await this.client.deleteObject({
|
||||||
Bucket: this.bucket,
|
Bucket: this.bucket,
|
||||||
Key: `${this.basePath}${path}`
|
Key: `${this.bucketBasePath}${path}`
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,13 +45,13 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
|
|||||||
let location = process.env.STORAGE_LOCATION;
|
let location = process.env.STORAGE_LOCATION;
|
||||||
|
|
||||||
if (!location) {
|
if (!location) {
|
||||||
console.warn(`[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to '/'...`);
|
console.warn(`[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...`);
|
||||||
location = "/";
|
location = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const client = new S3({ region });
|
const client = new S3({ region });
|
||||||
|
|
||||||
storage = new S3Storage(client, location, bucket);
|
storage = new S3Storage(client, bucket, location);
|
||||||
}
|
}
|
||||||
|
|
||||||
export { storage };
|
export { storage };
|
||||||
|
Loading…
Reference in New Issue
Block a user