fix: handle duplicate page entries without render content

This commit is contained in:
Nick
2019-06-25 22:48:23 -04:00
parent 4e990d50eb
commit 2890d9ccf0
3 changed files with 45 additions and 26 deletions

View File

@@ -306,11 +306,20 @@ module.exports = class Page extends Model {
}
static async getPage(opts) {
// -> Get from cache first
let page = await WIKI.models.pages.getPageFromCache(opts)
if (!page) {
// -> Get from DB
page = await WIKI.models.pages.getPageFromDb(opts)
if (page) {
await WIKI.models.pages.savePageToCache(page)
if (page.render) {
// -> Save render to cache
await WIKI.models.pages.savePageToCache(page)
} else {
// -> No render? Possible duplicate issue
/* TODO: Detect duplicate and delete */
throw new Error('Error while fetching page. Duplicate entry detected. Reload the page to try again.')
}
}
}
return page