summaryrefslogtreecommitdiff
path: root/app/node_modules/okresource/index.js
diff options
context:
space:
mode:
authorSean Fridman <fridman@mail.sfsu.edu>2015-04-08 14:17:08 -0400
committerSean Fridman <fridman@mail.sfsu.edu>2015-04-08 14:17:08 -0400
commitf768fc2d247988bafc80f43bda3a4a1d89a31adb (patch)
treef640fbea3d09e3b648ac4761c99ef66ebeab58a8 /app/node_modules/okresource/index.js
parent0fc380788157779a39fe630b2464280eea9f5088 (diff)
Don't just reject, fail!
Changed Q promise stuff in OKResource so that it properly catches exceptions in promises.
Diffstat (limited to 'app/node_modules/okresource/index.js')
-rw-r--r--app/node_modules/okresource/index.js21
1 files changed, 11 insertions, 10 deletions
diff --git a/app/node_modules/okresource/index.js b/app/node_modules/okresource/index.js
index 0e99883..122b293 100644
--- a/app/node_modules/okresource/index.js
+++ b/app/node_modules/okresource/index.js
@@ -83,7 +83,7 @@ OKResource.prototype.create = function(data) {
if (!id) {
reject(new Error('Data does not contain ID property'));
} else {
- db.create(type, data).then(resolve, reject);
+ db.create(type, data).then(resolve).fail(reject);
}
});
};
@@ -95,7 +95,7 @@ OKResource.prototype.destroy = function(data) {
if (!id) {
reject(new Error('Data does not contain ID property'));
} else {
- this._db.remove(this.type, data.id, data).then(resolve, reject);
+ this._db.remove(this.type, data.id, data).then(resolve).fail(reject);
}
});
};
@@ -105,7 +105,7 @@ OKResource.prototype.find = function(query) {
if (!query) {
throw new Error('No query given');
} else {
- this._db.find(this.type, query).then(resolve, reject);
+ this._db.find(this.type, query).then(resolve).fail(reject);
}
});
};
@@ -123,7 +123,7 @@ OKResource.prototype.get = function(id) {
// to match
var query = {};
query[idField] = id;
- db.get(type, query).then(resolve, reject);
+ db.get(type, query).then(resolve).fail(reject);
}
});
};
@@ -140,7 +140,7 @@ OKResource.prototype.update = function(data) {
} else {
var query = {};
query[idField] = data[idField];
- db.put(type, query, data).then(resolve, reject);;
+ db.put(type, query, data).then(resolve).fail(reject);;
}
});
};
@@ -158,11 +158,12 @@ OKResource.prototype.updateOrCreate = function(data) {
reject(new Error('Cannot updateOrCreate without ID'));
} else {
db.get(type, query).then(function(persisted) {
- if (persisted)
- db.put(type, query, data).then(resolve, reject);
- else
- db.create(type, data).then(resolve, reject);
- }, reject);
+ if (persisted) {
+ db.put(type, query, data).then(resolve).fail(reject);
+ } else {
+ db.create(type, data).then(resolve).fail(reject);
+ }
+ }).fail(reject);
}
});
};