]> git.ktnx.net Git - lsl.git/commitdiff
implement list deletion
authorDamyan Ivanov <dmn@debian.org>
Fri, 4 Mar 2022 20:24:36 +0000 (20:24 +0000)
committerDamyan Ivanov <dmn@debian.org>
Fri, 4 Mar 2022 20:24:36 +0000 (20:24 +0000)
lib/App/LazyShoppingList/API/v1.pm

index 6a34491a00f4535202c834adf93c236c75957c92..cd7be18e24dd5ab4371df4017822a967c0dd1d66 100644 (file)
@@ -210,6 +210,26 @@ put '/list/:list_id/:item_id' => sub {
     $r{version} = $item->version;
     $r{list_version} = $list->version;
 
+    return \%r;
+};
+
+# delete shopping list
+del '/list/:list_id' => sub {
+    my $list_id = route_parameters->get('list_id');
+    length($list_id) and $list_id =~ /^\d{1,18}$/
+        or return invalid_input('bad list ID');
+
+    my $dbh = get_database;
+
+    my %r = (
+        lists_version => get_lists_version($dbh),
+    );
+
+    my $list = $dbh->resultset('ShoppingList')->find($list_id);
+    if ($list) {
+        $list->delete;
+        $r{lists_version} = increment_lists_version($dbh)
+    }
 
     return \%r;
 };