Add VersionedModel base and version page changes
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -258,7 +258,7 @@ class OfflineController extends Controller {
|
||||
if ( online_page ) {
|
||||
// if it existed in the online page, delete it
|
||||
online_page.NodeIds = online_page.NodeIds.filter(x => x !== rec.UUID)
|
||||
await online_page.save()
|
||||
await online_page.version_save('Updated from offline sync')
|
||||
}
|
||||
|
||||
await existing_node.delete()
|
||||
@@ -322,7 +322,7 @@ class OfflineController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
await online_page.save()
|
||||
await online_page.version_save('Updated page from online save')
|
||||
}
|
||||
|
||||
// assuming the pages were created first, we should never have a case
|
||||
|
||||
@@ -35,14 +35,28 @@ class Page extends Controller {
|
||||
page.OrgUserId = req.user._id
|
||||
}
|
||||
|
||||
let save_message = 'Updated page metadata'
|
||||
|
||||
if ( !req.body.Name ) return res.status(400).message('Missing required: Name').api({})
|
||||
page.Name = req.body.Name
|
||||
|
||||
if ( page.Name !== req.body.Name ) {
|
||||
page.Name = req.body.Name
|
||||
save_message = `Changed page name to ${page.Name}`
|
||||
}
|
||||
|
||||
if ( 'IsPublic' in req.body ) {
|
||||
if ( Boolean(page.IsPublic) !== Boolean(req.body.IsPublic) ) {
|
||||
save_message = `Made page ${req.body.IsPublic ? 'public' : 'private'}`
|
||||
}
|
||||
|
||||
page.IsPublic = !!req.body.IsPublic
|
||||
}
|
||||
|
||||
if ( 'IsVisibleInMenu' in req.body ) {
|
||||
if ( Boolean(page.IsVisibleInMenu) !== Boolean(req.body.IsVisibleInMenu) ) {
|
||||
save_message = `Made page ${req.body.IsVisibleInMenu ? 'visible' : 'hidden'} in menu`
|
||||
}
|
||||
|
||||
page.IsVisibleInMenu = !!req.body.IsVisibleInMenu
|
||||
}
|
||||
|
||||
@@ -56,8 +70,7 @@ class Page extends Controller {
|
||||
|
||||
page.UpdatedAt = new Date
|
||||
page.UpdateUserId = req.user._id
|
||||
|
||||
await page.save()
|
||||
await page.version_save(save_message)
|
||||
return res.api(page)
|
||||
}
|
||||
|
||||
@@ -127,7 +140,7 @@ class Page extends Controller {
|
||||
await node_obj.save()
|
||||
|
||||
page.NodeIds.push(node_obj.UUID);
|
||||
await page.save();
|
||||
await page.version_save(`Added ${node_obj.Type.split('_')[0]} node to page`);
|
||||
return res.api(node_obj)
|
||||
}
|
||||
}
|
||||
@@ -191,14 +204,8 @@ class Page extends Controller {
|
||||
}
|
||||
|
||||
page.NodeIds = updated_nodes.map(x => x.UUID)
|
||||
await page.save()
|
||||
|
||||
await page.version_save('Bulk-updated nodes on page')
|
||||
res.api(updated_nodes)
|
||||
|
||||
// Step 1: make sure the updated nodes are updated
|
||||
// Make sure the deleted nodes are deleted
|
||||
// Make sure the new nodes are created
|
||||
// Make sure the order is correct
|
||||
}
|
||||
|
||||
async create_top_level(req, res) {
|
||||
@@ -223,10 +230,10 @@ class Page extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
await new_page.save()
|
||||
await new_page.version_save('Created new top-level page')
|
||||
|
||||
root_page.ChildPageIds.push(new_page.UUID)
|
||||
await root_page.save()
|
||||
await root_page.version_save(`Added new top-level page "${new_page.Name}"`)
|
||||
|
||||
req.user.allow(`page:${new_page.UUID}`)
|
||||
await req.user.save()
|
||||
@@ -244,7 +251,7 @@ class Page extends Controller {
|
||||
|
||||
await starter_node.save()
|
||||
new_page.NodeIds.push(starter_node.UUID)
|
||||
await new_page.save()
|
||||
await new_page.version_save('Added paragraph node to page')
|
||||
}
|
||||
|
||||
return res.api(new_page)
|
||||
@@ -282,10 +289,10 @@ class Page extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
await new_page.save()
|
||||
await new_page.version_save(`Created new page as child of "${parent.Name}"`)
|
||||
|
||||
parent.ChildPageIds.push(new_page.UUID)
|
||||
await parent.save()
|
||||
await parent.version_save(`Created new child page "${new_page.Name}"`)
|
||||
|
||||
req.user.allow(`page:${new_page.UUID}`)
|
||||
await req.user.save()
|
||||
@@ -303,7 +310,7 @@ class Page extends Controller {
|
||||
|
||||
await starter_node.save()
|
||||
new_page.NodeIds.push(starter_node.UUID)
|
||||
await new_page.save()
|
||||
await new_page.version_save('Added paragraph node to page')
|
||||
}
|
||||
|
||||
return res.api(new_page)
|
||||
@@ -322,7 +329,7 @@ class Page extends Controller {
|
||||
|
||||
page.Active = false
|
||||
page.DeletedAt = new Date
|
||||
await page.save()
|
||||
await page.version_save('Deleted page')
|
||||
return res.api({})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user