# SPDX-FileCopyrightText: 2025 Lubin Bailly # # SPDX-License-Identifier: EUPL-1.2 { lib, writeShellApplication, writeText, vlans-info, postgresql, kea_log-init, }: let inherit (lib) concatMapStringsSep; sql-script = writeText "vlan-filling.sql" '' DROP TABLE IF EXISTS vlan_prefixes; INSERT INTO kea_log (ip_addr, vlan_id, lease_start_sec, lease_end_sec) VALUES ${concatMapStringsSep ",\n " ( { vlan, netIP, prefixLen, ... }: "(inet '${netIP}/${toString prefixLen}', ${toString vlan}, 0, MIGRATION_TIMESTAMP)" ) vlans-info} ; ''; in writeShellApplication { name = "fill-vlan_prefixes"; runtimeInputs = [ postgresql ]; text = '' TIMESTAMP="$(date +%s)" psql -d ulogd -U ulogd -f ${kea_log-init} sed "s/MIGRATION_TIMESTAMP/$TIMESTAMP/" ${sql-script} \ | psql -d ulogd -U ulogd ''; }