Refactor notion of trash and delete.

- Trash a node now does a soft delete (move to trash container).
 - Delete a node now remove it from the storage (no undo).

Signed-off-by: jvelilla <javier.hector@gmail.com>
This commit is contained in:
2015-09-09 22:05:23 +02:00
parent 32a409b7e9
commit 62e74ea6cd
4 changed files with 19 additions and 18 deletions

View File

@@ -321,7 +321,7 @@ feature -- Change: Node
store_node (a_node)
end
delete_node_by_id (a_id: INTEGER_64)
trash_node_by_id (a_id: INTEGER_64)
-- Remove node by id `a_id'.
local
l_parameters: STRING_TABLE [ANY]
@@ -333,10 +333,10 @@ feature -- Change: Node
l_parameters.put (create {DATE_TIME}.make_now_utc, "changed")
l_parameters.put ({CMS_NODE_API}.trashed, "status")
l_parameters.put (a_id, "nid")
sql_change (sql_delete_node, l_parameters)
sql_change (sql_trash_node, l_parameters)
end
trash_node_by_id (a_id: INTEGER_64)
delete_node_by_id (a_id: INTEGER_64)
-- <Precursor>
local
l_parameters: STRING_TABLE [ANY]
@@ -348,7 +348,7 @@ feature -- Change: Node
error_handler.reset
create l_parameters.make (1)
l_parameters.put (a_id, "nid")
sql_change (sql_trash_node, l_parameters)
sql_change (sql_delete_node, l_parameters)
end
restore_node_by_id (a_id: INTEGER_64)
@@ -492,10 +492,10 @@ feature {NONE} -- Queries
sql_update_node : STRING = "UPDATE nodes SET revision=:revision, type=:type, title=:title, summary=:summary, content=:content, format=:format, publish=:publish, changed=:changed, status=:status, author=:author WHERE nid=:nid;"
-- SQL update node.
sql_delete_node: STRING = "UPDATE nodes SET changed=:changed, status =:status WHERE nid=:nid"
sql_trash_node: STRING = "UPDATE nodes SET changed=:changed, status =:status WHERE nid=:nid"
-- Soft deletion with free metadata.
sql_trash_node: STRING = "DELETE FROM nodes WHERE nid=:nid"
sql_delete_node: STRING = "DELETE FROM nodes WHERE nid=:nid"
-- Physical deletion with free metadata.
sql_restore_node: STRING = "UPDATE nodes SET changed=:changed, status =:status WHERE nid=:nid"