Support cascade deletion
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from .operation import *
|
||||
from .database import *
|
||||
|
||||
|
||||
def get_quality_schema(name: str) -> dict[str, dict[str, Any]]:
|
||||
@@ -30,7 +30,7 @@ class Quality(object):
|
||||
return { 'type': self.type, 'node': self.node, 'quality': self.quality }
|
||||
|
||||
|
||||
def set_quality_cache(name: str, cs: ChangeSet) -> DbChangeSet:
|
||||
def set_quality_cmd(name: str, cs: ChangeSet) -> DbChangeSet:
|
||||
old = Quality(get_quality(name, cs.operations[0]['node']))
|
||||
raw_new = get_quality(name, cs.operations[0]['node'])
|
||||
|
||||
@@ -56,7 +56,7 @@ def set_quality_cache(name: str, cs: ChangeSet) -> DbChangeSet:
|
||||
|
||||
|
||||
def set_quality(name: str, cs: ChangeSet) -> ChangeSet:
|
||||
return execute_command(name, set_quality_cache(name, cs))
|
||||
return execute_command(name, set_quality_cmd(name, cs))
|
||||
|
||||
|
||||
class InpQuality:
|
||||
@@ -90,3 +90,10 @@ def inp_out_quality(name: str) -> list[str]:
|
||||
quality = obj['quality']
|
||||
lines.append(f'{node} {quality}')
|
||||
return lines
|
||||
|
||||
|
||||
def delete_quality_by_node(name: str, node: str) -> ChangeSet:
|
||||
row = try_read(name, f"select * from quality where node = '{node}'")
|
||||
if row == None:
|
||||
return ChangeSet()
|
||||
return ChangeSet(g_update_prefix | {'type' : 'quality', 'node': node, 'quality': None})
|
||||
|
||||
Reference in New Issue
Block a user