express-prismic
Advanced tools
Comparing version
35
index.js
@@ -10,2 +10,12 @@ var Prismic = require('prismic.io').Prismic, | ||
exports.ErrorCodes = { | ||
NOT_FOUND: 'NOT_FOUND' | ||
}; | ||
exports.createError = function(status, message) { | ||
var err = new Error(message); | ||
err.status = status; | ||
return err; | ||
}; | ||
exports.init = function(config) { | ||
@@ -17,5 +27,11 @@ configuration = config; | ||
if (!configuration.apiEndpoint) { | ||
throw new Error("Missing apiEndpoint in configuration: make sure to call init() at the beginning of your script"); | ||
callback(new Error("Missing apiEndpoint in configuration: make sure to call init() at the beginning of your script")); | ||
} | ||
Prismic.Api(configuration.apiEndpoint, callback, accessToken); | ||
Prismic.Api(configuration.apiEndpoint, function(err, res, xhr) { | ||
if (err && err.status == "404") { | ||
callback(new Error("Invalid apiEndPoint configuration: " + configuration.apiEndpoint)); | ||
} else { | ||
callback(err, res, xhr); | ||
} | ||
}, accessToken); | ||
}; | ||
@@ -33,2 +49,4 @@ | ||
Prismic.Api(configuration.apiEndpoint, callback, accessToken); | ||
}).catch(function(err){ | ||
callback(err); | ||
}); | ||
@@ -43,3 +61,3 @@ }, | ||
var id = ctx.api.bookmarks[bookmark]; | ||
if(id) { | ||
if (id) { | ||
self.getByID(ctx, id, callback); | ||
@@ -74,2 +92,4 @@ } else { | ||
}); | ||
}).catch(function(err) { | ||
callback(err); | ||
}); | ||
@@ -83,11 +103,10 @@ } | ||
var accessToken = (req.session && req.session['ACCESS_TOKEN']) || configuration.accessToken; | ||
var ctxPromise = new Promise(function (fulfill) { | ||
var ctxPromise = new Promise(function (fulfill, reject) { | ||
try { | ||
exports.getApiHome(accessToken, function(err, Api) { | ||
if (!configuration.linkResolver) { | ||
throw new Error("Missing linkResolver in configuration: make sure to call init() at the beginning of your script"); | ||
reject(new Error("Missing linkResolver in configuration: make sure to call init() at the beginning of your script")); | ||
} | ||
if (err) { | ||
configuration.onPrismicError && configuration.onPrismicError(err, req, res); | ||
return; | ||
reject(err); | ||
} | ||
@@ -105,3 +124,3 @@ var ctx = { | ||
} catch (ex) { | ||
return fulfill(ex); | ||
return reject(ex); | ||
} | ||
@@ -108,0 +127,0 @@ }); |
{ | ||
"name": "express-prismic", | ||
"description": "Prismic.io support for Prismic.io", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"license": "Apache-2.0", | ||
@@ -16,3 +16,3 @@ "homepage": "http://github.com/prismicio/express-prismic", | ||
"dependencies": { | ||
"prismic.io": "1.3.0", | ||
"prismic.io": "1.3.1", | ||
"promise": "^7.0.4" | ||
@@ -19,0 +19,0 @@ }, |
16752
2.55%132
14.78%+ Added
- Removed
Updated