From f266024c1b90fd2bc45814fa0af3cfcc53925453 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Tue, 24 Jun 2014 15:53:26 -0700 Subject: [PATCH] Fix amazon s3 container handling See https://github.com/strongloop/loopback-storage-service/issues/16 --- lib/factory.js | 5 +++++ lib/storage-service.js | 1 + 2 files changed, 6 insertions(+) diff --git a/lib/factory.js b/lib/factory.js index daf23f1..e03bc71 100644 --- a/lib/factory.js +++ b/lib/factory.js @@ -25,6 +25,11 @@ function patchBaseClass(cls) { proto._setProperties = function (details) { // Use an empty object to receive the calculated properties from details var receiver = {}; + // Pass in some context as non-enumerable properties + Object.defineProperties(receiver, { + client: {value: this.client}, + files: {value: this.files} + }); m1.call(receiver, details); // Apply the calculated properties to this for (var p in receiver) { diff --git a/lib/storage-service.js b/lib/storage-service.js index 1cc5978..0f1ee66 100644 --- a/lib/storage-service.js +++ b/lib/storage-service.js @@ -64,6 +64,7 @@ StorageService.prototype.getContainers = function (cb) { StorageService.prototype.createContainer = function (options, cb) { options = options || {}; if ('object' === typeof options && !(options instanceof storage.Container)) { + options.Name = options.name; // Amazon expects Name var Container = factory.getProvider(this.provider).storage.Container; options = new Container(this.client, options); }