diff --git a/README.md b/README.md index 84538c4f58..b0a8d01559 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,20 @@ PARSE_SERVER_MAX_UPLOAD_SIZE ``` +##### Configuring S3 Adapter + +You can use the following environment variable setup the S3 adapter + +```js +S3_ACCESS_KEY +S3_SECRET_KEY +S3_BUCKET +S3_REGION +S3_BUCKET_PREFIX +S3_DIRECT_ACCESS + +``` + ## Contributing We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Server guide](CONTRIBUTING.md). diff --git a/spec/AdapterLoader.spec.js b/spec/AdapterLoader.spec.js index f32867e0bc..69381fc547 100644 --- a/spec/AdapterLoader.spec.js +++ b/spec/AdapterLoader.spec.js @@ -1,6 +1,8 @@ var loadAdapter = require("../src/Adapters/AdapterLoader").loadAdapter; var FilesAdapter = require("../src/Adapters/Files/FilesAdapter").default; +var ParsePushAdapter = require("../src/Adapters/Push/ParsePushAdapter"); +var S3Adapter = require("../src/Adapters/Files/S3Adapter").default; describe("AdapterLoader", ()=>{ @@ -84,4 +86,27 @@ describe("AdapterLoader", ()=>{ }).not.toThrow("foo is required for that adapter"); done(); }); + + it("should load push adapter from options", (done) => { + var options = { + ios: { + bundleId: 'bundle.id' + } + } + expect(() => { + var adapter = loadAdapter(undefined, ParsePushAdapter, options); + expect(adapter.constructor).toBe(ParsePushAdapter); + expect(adapter).not.toBe(undefined); + }).not.toThrow(); + done(); + }); + + it("should load S3Adapter from direct passing", (done) => { + var s3Adapter = new S3Adapter("key", "secret", "bucket") + expect(() => { + var adapter = loadAdapter(s3Adapter, FilesAdapter); + expect(adapter).toBe(s3Adapter); + }).not.toThrow(); + done(); + }) }); diff --git a/src/Adapters/AdapterLoader.js b/src/Adapters/AdapterLoader.js index fd6741c2a0..a9521f0b03 100644 --- a/src/Adapters/AdapterLoader.js +++ b/src/Adapters/AdapterLoader.js @@ -29,7 +29,7 @@ export function loadAdapter(adapter, defaultAdapter, options) { } else if (adapter.adapter) { return loadAdapter(adapter.adapter, undefined, adapter.options); } - // return the adapter as is as it's unusable otherwise + // return the adapter as provided return adapter; }