From 27499869acb10c0e56c99becaeb08f6e6d8d3d44 Mon Sep 17 00:00:00 2001 From: Marco Lanzara <48531002-marco370@users.noreply.replit.com> Date: Tue, 25 Nov 2025 08:42:17 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Release=20v1.0.74?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tipo: patch - Database schema: database-schema/schema.sql (solo struttura) - Data: 2025-11-25 08:42:17 --- database-schema/schema.sql | 316 +++++++++++++++++++++++++++++++++++++ version.json | 16 +- 2 files changed, 324 insertions(+), 8 deletions(-) diff --git a/database-schema/schema.sql b/database-schema/schema.sql index e69de29..c609f82 100644 --- a/database-schema/schema.sql +++ b/database-schema/schema.sql @@ -0,0 +1,316 @@ +-- +-- PostgreSQL database dump +-- + +\restrict 49scKYnbPz4KeRWLKIRmDGccFQkeWL6TZhn0IJZbF3aAy7zVgpFFheVphH626Ye + +-- Dumped from database version 16.9 (415ebe8) +-- Dumped by pg_dump version 16.10 + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- +-- Name: detections; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.detections ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + source_ip text NOT NULL, + risk_score numeric(5,2) NOT NULL, + confidence numeric(5,2) NOT NULL, + anomaly_type text NOT NULL, + reason text, + log_count integer NOT NULL, + first_seen timestamp without time zone NOT NULL, + last_seen timestamp without time zone NOT NULL, + blocked boolean DEFAULT false NOT NULL, + blocked_at timestamp without time zone, + detected_at timestamp without time zone DEFAULT now() NOT NULL, + country text, + country_code text, + city text, + organization text, + as_number text, + as_name text, + isp text +); + + +-- +-- Name: network_analytics; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.network_analytics ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + date timestamp without time zone NOT NULL, + hour integer, + total_packets integer DEFAULT 0 NOT NULL, + total_bytes bigint DEFAULT 0 NOT NULL, + unique_ips integer DEFAULT 0 NOT NULL, + normal_packets integer DEFAULT 0 NOT NULL, + normal_bytes bigint DEFAULT 0 NOT NULL, + normal_unique_ips integer DEFAULT 0 NOT NULL, + top_normal_ips text, + attack_packets integer DEFAULT 0 NOT NULL, + attack_bytes bigint DEFAULT 0 NOT NULL, + attack_unique_ips integer DEFAULT 0 NOT NULL, + attacks_by_country text, + attacks_by_type text, + top_attackers text, + traffic_by_country text, + created_at timestamp without time zone DEFAULT now() NOT NULL +); + + +-- +-- Name: network_logs; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.network_logs ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + router_id character varying NOT NULL, + "timestamp" timestamp without time zone NOT NULL, + source_ip text NOT NULL, + destination_ip text, + source_port integer, + destination_port integer, + protocol text, + action text, + bytes integer, + packets integer, + logged_at timestamp without time zone DEFAULT now() NOT NULL, + router_name text DEFAULT 'unknown'::text NOT NULL +); + + +-- +-- Name: routers; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.routers ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + name text NOT NULL, + ip_address text NOT NULL, + api_port integer DEFAULT 8728 NOT NULL, + username text NOT NULL, + password text NOT NULL, + enabled boolean DEFAULT true NOT NULL, + last_sync timestamp without time zone, + created_at timestamp without time zone DEFAULT now() NOT NULL +); + + +-- +-- Name: schema_version; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.schema_version ( + id integer DEFAULT 1 NOT NULL, + version integer DEFAULT 0 NOT NULL, + applied_at timestamp without time zone DEFAULT now() NOT NULL, + description text +); + + +-- +-- Name: training_history; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.training_history ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + model_version text NOT NULL, + records_processed integer NOT NULL, + features_count integer NOT NULL, + accuracy numeric(5,2), + training_duration integer, + status text NOT NULL, + notes text, + trained_at timestamp without time zone DEFAULT now() NOT NULL +); + + +-- +-- Name: whitelist; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public.whitelist ( + id character varying DEFAULT gen_random_uuid() NOT NULL, + ip_address text NOT NULL, + comment text, + reason text, + created_by text, + active boolean DEFAULT true NOT NULL, + created_at timestamp without time zone DEFAULT now() NOT NULL +); + + +-- +-- Name: detections detections_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.detections + ADD CONSTRAINT detections_pkey PRIMARY KEY (id); + + +-- +-- Name: network_analytics network_analytics_date_hour_key; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.network_analytics + ADD CONSTRAINT network_analytics_date_hour_key UNIQUE (date, hour); + + +-- +-- Name: network_analytics network_analytics_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.network_analytics + ADD CONSTRAINT network_analytics_pkey PRIMARY KEY (id); + + +-- +-- Name: network_logs network_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.network_logs + ADD CONSTRAINT network_logs_pkey PRIMARY KEY (id); + + +-- +-- Name: routers routers_ip_address_unique; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.routers + ADD CONSTRAINT routers_ip_address_unique UNIQUE (ip_address); + + +-- +-- Name: routers routers_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.routers + ADD CONSTRAINT routers_pkey PRIMARY KEY (id); + + +-- +-- Name: schema_version schema_version_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.schema_version + ADD CONSTRAINT schema_version_pkey PRIMARY KEY (id); + + +-- +-- Name: training_history training_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.training_history + ADD CONSTRAINT training_history_pkey PRIMARY KEY (id); + + +-- +-- Name: whitelist whitelist_ip_address_unique; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.whitelist + ADD CONSTRAINT whitelist_ip_address_unique UNIQUE (ip_address); + + +-- +-- Name: whitelist whitelist_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.whitelist + ADD CONSTRAINT whitelist_pkey PRIMARY KEY (id); + + +-- +-- Name: country_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX country_idx ON public.detections USING btree (country); + + +-- +-- Name: detected_at_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX detected_at_idx ON public.detections USING btree (detected_at); + + +-- +-- Name: detection_source_ip_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX detection_source_ip_idx ON public.detections USING btree (source_ip); + + +-- +-- Name: network_analytics_date_hour_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX network_analytics_date_hour_idx ON public.network_analytics USING btree (date, hour); + + +-- +-- Name: network_analytics_date_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX network_analytics_date_idx ON public.network_analytics USING btree (date); + + +-- +-- Name: risk_score_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX risk_score_idx ON public.detections USING btree (risk_score); + + +-- +-- Name: router_id_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX router_id_idx ON public.network_logs USING btree (router_id); + + +-- +-- Name: source_ip_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX source_ip_idx ON public.network_logs USING btree (source_ip); + + +-- +-- Name: timestamp_idx; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX timestamp_idx ON public.network_logs USING btree ("timestamp"); + + +-- +-- Name: network_logs network_logs_router_id_routers_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.network_logs + ADD CONSTRAINT network_logs_router_id_routers_id_fk FOREIGN KEY (router_id) REFERENCES public.routers(id); + + +-- +-- PostgreSQL database dump complete +-- + +\unrestrict 49scKYnbPz4KeRWLKIRmDGccFQkeWL6TZhn0IJZbF3aAy7zVgpFFheVphH626Ye + diff --git a/version.json b/version.json index 70ea2ea..5a9c6e6 100644 --- a/version.json +++ b/version.json @@ -1,7 +1,13 @@ { - "version": "1.0.73", - "lastUpdate": "2025-11-25T08:37:26.548Z", + "version": "1.0.74", + "lastUpdate": "2025-11-25T08:42:17.816Z", "changelog": [ + { + "version": "1.0.74", + "date": "2025-11-25", + "type": "patch", + "description": "Deployment automatico v1.0.74" + }, { "version": "1.0.73", "date": "2025-11-25", @@ -295,12 +301,6 @@ "date": "2025-11-21", "type": "patch", "description": "Deployment automatico v1.0.25" - }, - { - "version": "1.0.24", - "date": "2025-11-21", - "type": "patch", - "description": "Deployment automatico v1.0.24" } ] } \ No newline at end of file