= NETIntel – СЦ1: Испраќање на податоци од клиент (X-Env-Token) == Опис Клиентската апликација (Agent/Collector) периодично испраќа JSON пакет со системски перформансни метрики, активни процеси, безбедносни (Sysmon) настани и мрежни конекции до серверот. Автентикацијата на клиентот се врши преку временски валиден Env Token. == Актери * Клиентска апликација (Agent / Collector) * Сервер (API) == Предуслови * Постојно environment поврзано со одреден tenant. * Валиден и неистечен token зачуван во табелата `env_tokens`. * Клиентот го испраќа HTTP header-от `X-Env-Token`. == Главен тек 1. Клиентската апликација повикува `POST /receive` со JSON payload. 2. Серверот го валидира `X-Env-Token` и од табелата `env_tokens` ги добива `env_name` и `tenant_id`. 3. Серверот проверува дали компјутерот постои во табелата `computers` (според `name` и `tenant_id`). 4. Доколку компјутерот постои, серверот ги ажурира следните полиња: * `last_seen` * `ip` * `os` * `sysmon_available` * `env_name` 5. Доколку компјутерот не постои, серверот креира нов запис во табелата `computers` со поврзување кон соодветниот `tenant_id` и `env_name`. 6. Серверот внесува нов запис во `computer_history` со перформансните метрики. 7. Серверот внесува записи во `computer_processes` за тековните процеси. 8. Серверот внесува записи во `sysmon_events` за безбедносните настани. 9. Серверот внесува записи во `network_connections` за активните мрежни конекции. 10. Серверот враќа JSON одговор од облик: `{ status: "success", computer_id, event_count }`. == Алтернативни текови / Грешки * Недостасува или е невалиден `X-Env-Token` → HTTP 401 (Unauthorized) * Недостасува или е невалиден JSON payload → HTTP 400 (Bad Request) * Проблем при запишување во база на податоци → HTTP 500 (Internal Server Error) == Табели што се засегаат * computers * computer_history * computer_processes * sysmon_events * network_connections * env_tokens == Пример SQL (логички) * INSERT / UPDATE во `computers` * INSERT во `computer_history` * INSERT во `computer_processes` * INSERT во `sysmon_events` * INSERT во `network_connections`