-
Notifications
You must be signed in to change notification settings - Fork 80
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1d9e28b
commit 0b9e006
Showing
3 changed files
with
1,506 additions
and
407 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,32 @@ | ||
import aws from "aws-sdk"; | ||
import { | ||
DeleteObjectCommand, | ||
ListObjectsCommand, | ||
PutObjectCommand, | ||
S3, | ||
} from "@aws-sdk/client-s3"; | ||
|
||
export const connectImpl = ({ key, secret }, endpoint) => { | ||
const spacesEndpoint = new aws.Endpoint(endpoint); | ||
return new aws.S3({ | ||
endpoint: spacesEndpoint, | ||
accessKeyId: key, | ||
secretAccessKey: secret, | ||
export const connectImpl = ({ key, secret }, endpoint) => | ||
new S3({ | ||
forcePathStyle: false, | ||
endpoint, | ||
region: "us-east-1", | ||
credentials: { | ||
accessKeyId: key, | ||
secretAccessKey: secret, | ||
}, | ||
}); | ||
}; | ||
|
||
// TODO: we should switch to v3 of the SDK: | ||
// https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/classes/listobjectsv2command.html | ||
export const listObjectsImpl = (s3, params) => { | ||
return new Promise(function (resolve, reject) { | ||
s3.listObjectsV2(params, function (err, data) { | ||
if (err) { | ||
reject(err); | ||
} else { | ||
resolve(data["Contents"]); | ||
} | ||
}); | ||
}); | ||
export const listObjectsImpl = async (s3, params) => { | ||
const data = await s3.send(new ListObjectsCommand(params)); | ||
return data["Contents"]; | ||
}; | ||
|
||
export const putObjectImpl = (s3, params) => { | ||
return new Promise(function (resolve, reject) { | ||
s3.putObject(params, function (err, data) { | ||
if (err) { | ||
reject(err); | ||
} else { | ||
resolve(data); | ||
} | ||
}); | ||
}); | ||
export const putObjectImpl = async (s3, params) => { | ||
const data = await s3.send(new PutObjectCommand(params)); | ||
return data; | ||
}; | ||
|
||
export const deleteObjectImpl = (s3, params) => { | ||
return new Promise(function (resolve, reject) { | ||
s3.deleteObject(params, function (err, data) { | ||
if (err) { | ||
reject(err); | ||
} else { | ||
resolve(data); | ||
} | ||
}); | ||
}); | ||
export const deleteObjectImpl = async (s3, params) => { | ||
const data = await s3.send(new DeleteObjectCommand(params)); | ||
return data; | ||
}; |
Oops, something went wrong.