unetd: cli: add unet_create/update/delete hook calls
authorFelix Fietkau <nbd@nbd.name>
Wed, 26 Feb 2025 09:41:48 +0000 (10:41 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 11 Mar 2025 12:45:14 +0000 (13:45 +0100)
Useful for upcoming cli modules that store created interfaces separately

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/unetd/files/unet.uc

index d9533d3fa36feebfa99f97c9fc06b264e9ccd452..30ad452c04cf58512b4658d418ce9d1b83c649c9 100644 (file)
@@ -153,6 +153,7 @@ function network_sign_data(ctx, name, network, pw_file, upload)
 
 function network_create_uci(model, name, iface)
 {
+       model.run_hook("unet_create", name, iface);
        let cur = uci.cursor(null, null, "");
        cur.set("network", name, "interface");
        for (let key, val in iface)
@@ -361,6 +362,7 @@ function network_create(ctx, argv, named) {
 function network_delete(ctx, argv) {
        let name = argv[0];
        let cur = uci.cursor(null, null, "");
+       model.run_hook("unet_delete", name);
        if (!cur.delete("network", name))
                return ctx.command_failed("Command failed");
 
@@ -378,6 +380,7 @@ function network_iface_save(ctx)
        if (!netdata.iface_changed)
                return;
 
+       model.run_hook("unet_update", network, netdata.iface);
        let cur = uci.cursor(null, null, "");
        let iface_orig = cur.get_all("network", network);
        for (let name, val in netdata.iface) {