tem/session/nmap.sql

              SELECT 'dynamic' AS component, sqlpage.run_sql('shell/shell.sql') AS properties;
              -- not including breadcrumbs from sqlpage_aide_navigation
              -- not including page title from sqlpage_aide_navigation
              

              SELECT 'title' AS component, (SELECT COALESCE(title, caption)
    FROM sqlpage_aide_navigation
   WHERE namespace = 'prime' AND path = 'tem/session/nmap.sql/index.sql') as contents;
    ;
--- Display breadcrumb
SELECT 'breadcrumb' AS component;
    SELECT
    'breadcrumb' AS component;
    SELECT
        'Home' AS title,
        sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/'    AS link;
    SELECT
        'Threat Exposure Management' AS title,
        sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/index.sql' AS link;  
    SELECT 'Attack Surface Mapping By Session' AS title,
    sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/attack_surface_mapping_session.sql' AS link;
    SELECT 'Findings' AS title,
     sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/session/finding.sql?session_id=' || $session_id AS link;
    SELECT 'Nmap Scan Results' AS title,
   '#' AS link;

--- Display Page Title
SELECT 'title' AS component,
    'Nmap Scan Results' AS contents;

--- Page description
SELECT 'text' AS component,
    'This page displays parsed Nmap scan results extracted from XML stored in uniform_resource.content. 
        It includes host IP, port, protocol, state, and detected service details to help assess open services and network exposure.' AS contents;

--- Table setup
SELECT 'table' AS component,
    TRUE AS sort,
    TRUE AS search;

SET total_rows = (SELECT COUNT(*) FROM tem_nmap WHERE ur_ingest_session_id = $session_id);
SET limit = COALESCE($limit, 50);
SET offset = COALESCE($offset, 0);
SET total_pages = ($total_rows + $limit - 1) / $limit;
SET current_page = ($offset / $limit) + 1;
SELECT
    tenant_name       AS  "Tenant",
    host_ip           AS "Host IP",
    protocol          AS "Protocol",
    port              AS "Port",
    state             AS "State",
    service_name      AS "Service",
    service_product   AS "Product",
    service_version   AS "Version",
    service_extrainfo AS "Extra Info",
    tool_name         AS "Tool"
FROM tem_nmap WHERE ur_ingest_session_id = $session_id;;

SELECT 'text' AS component,
    (SELECT CASE WHEN CAST($current_page AS INTEGER) > 1 THEN '[Previous](?limit=' || $limit || '&offset=' || ($offset - $limit) || COALESCE('&tenant_id=' || replace($tenant_id, ' ', '%20'), '') || ')' ELSE '' END)
    || ' '
    || '(Page ' || $current_page || ' of ' || $total_pages || ") "
    || (SELECT CASE WHEN CAST($current_page AS INTEGER) < CAST($total_pages AS INTEGER) THEN '[Next](?limit=' || $limit || '&offset=' || ($offset + $limit) || COALESCE('&tenant_id=' || replace($tenant_id, ' ', '%20'), '') || ')' ELSE '' END)
    AS contents_md
;
        ;