forked from projects/fipamo
moved fixes from dev to beta-release branch
This commit is contained in:
parent
0dd9d104fa
commit
fe6a4eab32
9 changed files with 1101 additions and 716 deletions
|
@ -67,7 +67,7 @@ router.post('/sync', (req, res) => {
|
|||
router.post('/nav-sync', (req, res) => {
|
||||
auth.authCheck(req)
|
||||
.then(() => {
|
||||
// find removoed menu item page and set menu to false
|
||||
// find removed menu item page and set menu to false
|
||||
book.getPage(req.body.remove).then(page => {
|
||||
let body = page.metadata;
|
||||
body.content = page.content;
|
||||
|
@ -206,6 +206,31 @@ router.post('/add-feature-background', background_upload, (req, res) => {
|
|||
}
|
||||
});
|
||||
|
||||
router.post('/reindex', (req, res) => {
|
||||
auth.authCheck(req)
|
||||
.then(() => {
|
||||
book.reindexPages(req)
|
||||
.then(response => {
|
||||
//reset settings index
|
||||
settings.resetLibraryIndex(response.count + 1);
|
||||
//return success to front end
|
||||
res.json(response);
|
||||
})
|
||||
.catch(err => {
|
||||
res.json({
|
||||
type: err.type,
|
||||
message: err.message
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
res.json({
|
||||
type: err.type,
|
||||
message: err.message
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
function getBookData() {
|
||||
|
|
|
@ -51,7 +51,7 @@ export default class Book {
|
|||
//TODO: Duct tape solution until something better created
|
||||
|
||||
//make check against menu to see if page should be marked as menu item
|
||||
//if it doesnt' exist in menu change, edit page to
|
||||
//if it doesn't exist in menu change, edit page to
|
||||
let page = _.find(pages, list => {
|
||||
return list.metadata.uuid === id;
|
||||
});
|
||||
|
@ -227,6 +227,46 @@ export default class Book {
|
|||
});
|
||||
}
|
||||
|
||||
reindexPages(req) {
|
||||
var response = '';
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
self.getPage()
|
||||
.then(pages => {
|
||||
let sorted = [];
|
||||
for (let i = 0; i < pages.length; i++) {
|
||||
let body = pages[i].metadata;
|
||||
body.content = pages[i].content;
|
||||
sorted.push(body);
|
||||
}
|
||||
//resorts pages by date created
|
||||
let byDate = _.sortBy(sorted, page => {
|
||||
return page.created;
|
||||
});
|
||||
//reassigns id sequentially based on sorted pages
|
||||
for (let index = 0; index < byDate.length; index++) {
|
||||
byDate[index].id = index;
|
||||
self.editPage(
|
||||
byDate[index],
|
||||
index,
|
||||
DataEvent.API_PAGE_WRITE,
|
||||
req.session.user
|
||||
);
|
||||
}
|
||||
response = {
|
||||
type: DataEvent.API_REINDEX_PAGES,
|
||||
message: 'Pages re-sorted. Easy peasy.',
|
||||
count: byDate.length
|
||||
};
|
||||
resolve(response);
|
||||
})
|
||||
.catch(err => {
|
||||
response = { type: DataEvent.PAGE_ERROR, message: err };
|
||||
reject(response);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
|
|
|
@ -41,7 +41,8 @@ export default class Render {
|
|||
return (
|
||||
page.metadata.deleted === false &&
|
||||
page.metadata.published === true &&
|
||||
page.metadata.featured === true
|
||||
page.metadata.featured === true &&
|
||||
page.metadata.layout !== 'index'
|
||||
);
|
||||
});
|
||||
for (let index = 0; index < pages.length; index++) {
|
||||
|
|
|
@ -122,8 +122,32 @@ export default class Settings {
|
|||
updatePageIndex() {
|
||||
fs.readJSON('site/settings.json').then(settings => {
|
||||
settings.library_stats.current_index = ++settings.library_stats.current_index;
|
||||
//settings.library_stats.total_pages = ++settings.library_stats.total_pages;
|
||||
fs.writeJSON('site/settings.json', settings);
|
||||
setTimeout(() => {
|
||||
//TODO: Duct tape solution until something better created
|
||||
fs.writeJSON('site/settings.json', settings)
|
||||
.then(() => {
|
||||
//console.log('ALL TO THE GOOD');
|
||||
})
|
||||
.catch(() => {
|
||||
//.log('ERR', err);
|
||||
});
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
|
||||
resetLibraryIndex(index) {
|
||||
fs.readJSON('site/settings.json').then(settings => {
|
||||
settings.library_stats.current_index = index;
|
||||
setTimeout(() => {
|
||||
//TODO: Duct tape solution until something better created
|
||||
fs.writeJSON('site/settings.json', settings)
|
||||
.then(() => {
|
||||
//console.log('ALL TO THE GOOD');
|
||||
})
|
||||
.catch(() => {
|
||||
//.log('ERR', err);
|
||||
});
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
load(fileToLoad) {
|
||||
|
|
|
@ -97,9 +97,6 @@ export default class Utils {
|
|||
}
|
||||
render.publishArchive(archive);
|
||||
}
|
||||
reindexPages(pages) {
|
||||
//let byDate = _.sortBy(pages, ['created']);
|
||||
}
|
||||
moveAssets() {
|
||||
settings
|
||||
.load(SETTINGS_FILE)
|
||||
|
@ -128,6 +125,7 @@ export default class Utils {
|
|||
//console.log('Copy completed!');
|
||||
}
|
||||
);
|
||||
//TODO: Add method to move new logo to public from theme upload
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log('ERROR', err);
|
||||
|
|
|
@ -57,6 +57,8 @@ block main-content
|
|||
input(id="backup-upload" type="file" name="backup-upload")
|
||||
#util-2.column
|
||||
label MAINTENANCE
|
||||
br
|
||||
button#reindex-pages REINDEX PAGES
|
||||
#option-settings.columns
|
||||
#theme-settings.column
|
||||
label THEMES
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "fipamo-beta",
|
||||
"version": "1.2.3",
|
||||
"version": "1.2.4",
|
||||
"private": true,
|
||||
"description": "The most chill blog framework ever.",
|
||||
"repository": "https://code.playvicio.us/Are0h/Fipamo",
|
||||
|
|
File diff suppressed because it is too large
Load diff
48
public/assets/scripts/dash.min.js
vendored
48
public/assets/scripts/dash.min.js
vendored
|
@ -123,7 +123,7 @@ parcelRequire = (function (modules, cache, entry, globalName) {
|
|||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = exports.SEND_MAIL = exports.API_INIT_LAME = exports.API_INIT_GOOD = exports.API_INIT = exports.API_RENDER_PAGES = exports.API_IMAGES_UPLOAD = exports.API_BACKUP_RESTORE = exports.API_BACKUP_DOWNLOAD = exports.API_BACKUP_CREATE = exports.API_SETTINGS_WRITE = exports.API_PAGE_DELETE = exports.API_PAGE_CREATE = exports.API_PAGE_WRITE = exports.UPLOAD_PROGRESS = exports.SITE_BACKGROUND_UPLOADED = exports.AVATAR_UPLOADED = exports.MENU_UPDATED = exports.MENU_DELETE_ITEM = exports.MENU_ADD_ITEM = exports.SETTINGS_NOT_UPDATED = exports.SETTINGS_UPDATED = exports.TAG_PAGES_NOT_RENDERED = exports.TAG_PAGES_RENDERED = exports.PAGES_NOT_RENDERED = exports.PAGES_RENDERED = exports.PAGE_DELETED = exports.PAGE_UPDATED = exports.PAGE_ADDED = exports.PAGE_ERROR = exports.FEATURE_IMAGE_ADDED = exports.POST_IMAGE_ADDED = exports.SETTINGS_LOADED = exports.IMG_REQUEST_LAME = exports.IMG_REQUEST_GOOD = exports.API_REQUEST_LAME = exports.API_REQUEST_GOOD = exports.REQUEST_LAME = exports.REQUEST_GOOD = void 0;
|
||||
exports.default = exports.SEND_MAIL = exports.API_INIT_LAME = exports.API_INIT_GOOD = exports.API_INIT = exports.API_REINDEX_PAGES = exports.API_RENDER_PAGES = exports.API_IMAGES_UPLOAD = exports.API_BACKUP_RESTORE = exports.API_BACKUP_DOWNLOAD = exports.API_BACKUP_CREATE = exports.API_SETTINGS_WRITE = exports.API_PAGE_DELETE = exports.API_PAGE_CREATE = exports.API_PAGE_WRITE = exports.UPLOAD_PROGRESS = exports.SITE_BACKGROUND_UPLOADED = exports.AVATAR_UPLOADED = exports.MENU_UPDATED = exports.MENU_DELETE_ITEM = exports.MENU_ADD_ITEM = exports.SETTINGS_NOT_UPDATED = exports.SETTINGS_UPDATED = exports.TAG_PAGES_NOT_RENDERED = exports.TAG_PAGES_RENDERED = exports.PAGES_NOT_RENDERED = exports.PAGES_RENDERED = exports.PAGE_DELETED = exports.PAGE_UPDATED = exports.PAGE_ADDED = exports.PAGE_ERROR = exports.FEATURE_IMAGE_ADDED = exports.POST_IMAGE_ADDED = exports.SETTINGS_LOADED = exports.IMG_REQUEST_LAME = exports.IMG_REQUEST_GOOD = exports.API_REQUEST_LAME = exports.API_REQUEST_GOOD = exports.REQUEST_LAME = exports.REQUEST_GOOD = void 0;
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
|
@ -195,6 +195,8 @@ var API_IMAGES_UPLOAD = 'uploadProfileImages';
|
|||
exports.API_IMAGES_UPLOAD = API_IMAGES_UPLOAD;
|
||||
var API_RENDER_PAGES = 'renderPages';
|
||||
exports.API_RENDER_PAGES = API_RENDER_PAGES;
|
||||
var API_REINDEX_PAGES = 'reindexPages';
|
||||
exports.API_REINDEX_PAGES = API_REINDEX_PAGES;
|
||||
var API_INIT = 'blogInit';
|
||||
exports.API_INIT = API_INIT;
|
||||
var API_INIT_GOOD = 'blogInitGood';
|
||||
|
@ -380,7 +382,7 @@ exports.default = APIUtils;
|
|||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = exports.API_SEND_MAIL = exports.API_INIT_RESTORE_BACKUP = exports.API_RESTORE_BACKUP = exports.API_DOWNLOAD_BACKUP = exports.API_CREATE_BACKUP = exports.API_NAV_SYNC = exports.API_PUBLISH_PAGES = exports.API_UPLOAD_BACKGROUND = exports.API_UPLOAD_AVATAR = exports.API_SETTINGS_SYNC = exports.API_IMAGE_UPLOAD = exports.API_DELETE_PAGE = exports.API_EDIT_PAGE = exports.API_NEW_PAGE = exports.API_GET_NAV = exports.API_STATUS = exports.CONTENT_TYPE_FORM = exports.CONTENT_TYPE_JSON = exports.TASK_PAGE_DELETE = exports.TASK_PAGE_EDIT = exports.TASK_PAGE_CREATE = exports.REQUEST_TYPE_DELETE = exports.REQUEST_TYPE_PUT = exports.REQUEST_TYPE_GET = exports.REQUEST_TYPE_POST = void 0;
|
||||
exports.default = exports.API_SEND_MAIL = exports.API_INIT_RESTORE_BACKUP = exports.API_RESTORE_BACKUP = exports.API_DOWNLOAD_BACKUP = exports.API_CREATE_BACKUP = exports.API_REINDEX_PAGES = exports.API_NAV_SYNC = exports.API_PUBLISH_PAGES = exports.API_UPLOAD_BACKGROUND = exports.API_UPLOAD_AVATAR = exports.API_SETTINGS_SYNC = exports.API_IMAGE_UPLOAD = exports.API_DELETE_PAGE = exports.API_EDIT_PAGE = exports.API_NEW_PAGE = exports.API_GET_NAV = exports.API_STATUS = exports.CONTENT_TYPE_FORM = exports.CONTENT_TYPE_JSON = exports.TASK_PAGE_DELETE = exports.TASK_PAGE_EDIT = exports.TASK_PAGE_CREATE = exports.REQUEST_TYPE_DELETE = exports.REQUEST_TYPE_PUT = exports.REQUEST_TYPE_GET = exports.REQUEST_TYPE_POST = void 0;
|
||||
|
||||
var DataEvent = _interopRequireWildcard(require("../com/events/DataEvent"));
|
||||
|
||||
|
@ -434,6 +436,8 @@ var API_PUBLISH_PAGES = '/api/v1/settings/publish-pages';
|
|||
exports.API_PUBLISH_PAGES = API_PUBLISH_PAGES;
|
||||
var API_NAV_SYNC = '/api/v1/settings/nav-sync';
|
||||
exports.API_NAV_SYNC = API_NAV_SYNC;
|
||||
var API_REINDEX_PAGES = '/api/v1/settings/reindex';
|
||||
exports.API_REINDEX_PAGES = API_REINDEX_PAGES;
|
||||
var API_CREATE_BACKUP = '/api/v1/backup/create';
|
||||
exports.API_CREATE_BACKUP = API_CREATE_BACKUP;
|
||||
var API_DOWNLOAD_BACKUP = '/api/v1/backup/download';
|
||||
|
@ -666,6 +670,19 @@ var APIUtils = /*#__PURE__*/function () {
|
|||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "handleReindex",
|
||||
value: function handleReindex(data) {
|
||||
var _this10 = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
_this10._request(API_REINDEX_PAGES, DataEvent.API_REINDEX_PAGES, REQUEST_TYPE_POST, CONTENT_TYPE_JSON, data).then(function (result) {
|
||||
resolve(result);
|
||||
}).catch(function (err) {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
} //--------------------------
|
||||
// private
|
||||
//--------------------------
|
||||
|
@ -693,7 +710,7 @@ var APIUtils = /*#__PURE__*/function () {
|
|||
};
|
||||
|
||||
if (requestType == REQUEST_TYPE_PUT || requestType == REQUEST_TYPE_POST) {
|
||||
if (eventType === DataEvent.API_PAGE_WRITE || eventType === DataEvent.API_IMAGES_UPLOAD || eventType === DataEvent.API_SETTINGS_WRITE || eventType === DataEvent.API_PAGE_DELETE || eventType === DataEvent.API_RENDER_PAGES || eventType === DataEvent.API_BACKUP_CREATE || eventType === DataEvent.API_BACKUP_RESTORE) request.setRequestHeader('x-access-token', self.token);
|
||||
if (eventType === DataEvent.API_PAGE_WRITE || eventType === DataEvent.API_IMAGES_UPLOAD || eventType === DataEvent.API_SETTINGS_WRITE || eventType === DataEvent.API_PAGE_DELETE || eventType === DataEvent.API_RENDER_PAGES || eventType === DataEvent.API_BACKUP_CREATE || eventType === DataEvent.API_BACKUP_RESTORE || eventType === DataEvent.API_REINDEX_PAGES) request.setRequestHeader('x-access-token', self.token);
|
||||
|
||||
switch (contentType) {
|
||||
case CONTENT_TYPE_JSON:
|
||||
|
@ -3953,9 +3970,12 @@ var PostEditor = /*#__PURE__*/function () {
|
|||
key: "handleImageUpload",
|
||||
value: function handleImageUpload(type, files) {
|
||||
var self = this;
|
||||
notify.alert('Uploading Image', null);
|
||||
admin.imageUpload(type, files).then(function (r) {
|
||||
if (r.type == DataEvent.POST_IMAGE_ADDED) self.editor.notify(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, r.url);
|
||||
}).catch(function () {//console.log('ERROR', err);
|
||||
notify.alert('Image Added to Entry', true);
|
||||
}).catch(function () {
|
||||
notify.alert('Uh oh. Image not added', false); //console.log('ERROR', err);
|
||||
});
|
||||
}
|
||||
}]);
|
||||
|
@ -4297,6 +4317,9 @@ var SettingsIndex = /*#__PURE__*/function () {
|
|||
document.getElementById('create-backup').addEventListener('click', function (e) {
|
||||
return _this.handleBackup(e);
|
||||
});
|
||||
document.getElementById('reindex-pages').addEventListener('click', function (e) {
|
||||
return _this.handleReindex(e);
|
||||
});
|
||||
} //--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
|
@ -4413,6 +4436,21 @@ var SettingsIndex = /*#__PURE__*/function () {
|
|||
notify.alert(err, false);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "handleReindex",
|
||||
value: function handleReindex(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
var task = {
|
||||
task: 'cleanup pages indexes'
|
||||
};
|
||||
notify.alert('Cleaning up page indexes', null);
|
||||
admin.handleReindex(task).then(function (r) {
|
||||
notify.alert(r.message, true);
|
||||
}).catch(function (err) {
|
||||
notify.alert(err, false);
|
||||
});
|
||||
}
|
||||
}]);
|
||||
|
||||
return SettingsIndex;
|
||||
|
@ -8574,7 +8612,7 @@ var parent = module.bundle.parent;
|
|||
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
|
||||
var hostname = "" || location.hostname;
|
||||
var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
|
||||
var ws = new WebSocket(protocol + '://' + hostname + ':' + "57701" + '/');
|
||||
var ws = new WebSocket(protocol + '://' + hostname + ':' + "55198" + '/');
|
||||
|
||||
ws.onmessage = function (event) {
|
||||
checkedAssets = {};
|
||||
|
|
Loading…
Reference in a new issue