Automatic SQL updates
This commit is contained in:
parent
1812873e33
commit
85a2d0683e
8 changed files with 331 additions and 24 deletions
35
node.go
35
node.go
|
|
@ -223,5 +223,40 @@ func (session Session) UpdateNode(nodeID int, content string) (err error) {// {{
|
|||
)
|
||||
return
|
||||
}// }}}
|
||||
func (session Session) RenameNode(nodeID int, name string) (err error) {// {{{
|
||||
_, err = db.Exec(`
|
||||
UPDATE node SET name = $1 WHERE user_id = $2 AND id = $3
|
||||
`,
|
||||
name,
|
||||
session.UserID,
|
||||
nodeID,
|
||||
)
|
||||
return
|
||||
}// }}}
|
||||
func (session Session) DeleteNode(nodeID int) (err error) {// {{{
|
||||
_, err = db.Exec(`
|
||||
WITH RECURSIVE nodetree AS (
|
||||
SELECT
|
||||
id, parent_id
|
||||
FROM node
|
||||
WHERE
|
||||
user_id = $1 AND id = $2
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
n.id, n.parent_id
|
||||
FROM node n
|
||||
INNER JOIN nodetree nt ON n.parent_id = nt.id
|
||||
)
|
||||
|
||||
DELETE FROM node WHERE id IN (
|
||||
SELECT id FROM nodetree
|
||||
)`,
|
||||
session.UserID,
|
||||
nodeID,
|
||||
)
|
||||
return
|
||||
}// }}}
|
||||
|
||||
// vim: foldmethod=marker
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue