From 9acc94b35240bd64624cebfc3ca6fe1884b60eb8 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 15 May 2026 13:18:29 +0000 Subject: [PATCH] Autosave: 20260515-131832 --- assets/pasted-20260515-131818-8a9b448d.png | Bin 0 -> 199973 bytes backend/src/routes/devices.js | 28 + backend/src/services/devices.js | 158 ++- frontend/src/components/NavBarItem.tsx | 3 +- frontend/src/layouts/Authenticated.tsx | 3 +- frontend/src/menuAside.ts | 8 + frontend/src/pages/dashboard.tsx | 31 + frontend/src/pages/device-approval-center.tsx | 984 ++++++++++++++++++ frontend/src/pages/index.tsx | 341 +++--- 9 files changed, 1388 insertions(+), 168 deletions(-) create mode 100644 assets/pasted-20260515-131818-8a9b448d.png create mode 100644 frontend/src/pages/device-approval-center.tsx diff --git a/assets/pasted-20260515-131818-8a9b448d.png b/assets/pasted-20260515-131818-8a9b448d.png new file mode 100644 index 0000000000000000000000000000000000000000..53bc7a0aea188a423afc3deaa38f2bc4dca7b1c2 GIT binary patch literal 199973 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 K_~~hS@A?m)Hx literal 0 HcmV?d00001 diff --git a/backend/src/routes/devices.js b/backend/src/routes/devices.js index 59f1d40..2f07d10 100644 --- a/backend/src/routes/devices.js +++ b/backend/src/routes/devices.js @@ -213,6 +213,27 @@ router.put('/:id', wrapAsync(async (req, res) => { res.status(200).send(payload); })); + +router.put('/:id/approval-status', wrapAsync(async (req, res) => { + if (!req.body || !req.body.approval_status) { + const error = new Error('approval_status is required.'); + error.code = 400; + throw error; + } + + const payload = await DevicesService.changeApprovalStatus( + req.params.id, + req.body.approval_status, + req.currentUser, + { + sourceIp: req.ip, + userAgent: req.get('user-agent'), + }, + ); + + res.status(200).send(payload); +})); + /** * @swagger * /api/devices/{id}: @@ -416,6 +437,13 @@ router.get('/autocomplete', async (req, res) => { res.status(200).send(payload); }); + +router.get('/approval-center/summary', wrapAsync(async (req, res) => { + const payload = await DevicesService.getApprovalCenterSummary(req.query); + + res.status(200).send(payload); +})); + /** * @swagger * /api/devices/{id}: diff --git a/backend/src/services/devices.js b/backend/src/services/devices.js index 1513ede..b1c2ebc 100644 --- a/backend/src/services/devices.js +++ b/backend/src/services/devices.js @@ -1,15 +1,22 @@ const db = require('../db/models'); const DevicesDBApi = require('../db/api/devices'); -const processFile = require("../middlewares/upload"); +const processFile = require('../middlewares/upload'); const ValidationError = require('./notifications/errors/validation'); const csv = require('csv-parser'); -const axios = require('axios'); -const config = require('../config'); const stream = require('stream'); +const { Op } = db.Sequelize; +const ALLOWED_APPROVAL_ACTIONS = ['approved', 'blocked']; +const APPROVAL_CENTER_FILTERS = ['all', 'pending', 'approved', 'blocked']; +const createHttpError = (message, code = 400) => { + const error = new Error(message); + error.code = code; + return error; +}; +const toPlain = (record) => record.get({ plain: true }); module.exports = class DevicesService { static async create(data, currentUser) { @@ -28,9 +35,9 @@ module.exports = class DevicesService { await transaction.rollback(); throw error; } - }; + } - static async bulkImport(req, res, sendInvitationEmails = true, host) { + static async bulkImport(req, res) { const transaction = await db.sequelize.transaction(); try { @@ -38,7 +45,7 @@ module.exports = class DevicesService { const bufferStream = new stream.PassThrough(); const results = []; - await bufferStream.end(Buffer.from(req.file.buffer, "utf-8")); // convert Buffer to Stream + await bufferStream.end(Buffer.from(req.file.buffer, 'utf-8')); await new Promise((resolve, reject) => { bufferStream @@ -49,13 +56,13 @@ module.exports = class DevicesService { resolve(); }) .on('error', (error) => reject(error)); - }) + }); await DevicesDBApi.bulkImport(results, { - transaction, - ignoreDuplicates: true, - validate: true, - currentUser: req.currentUser + transaction, + ignoreDuplicates: true, + validate: true, + currentUser: req.currentUser, }); await transaction.commit(); @@ -68,9 +75,9 @@ module.exports = class DevicesService { static async update(data, id, currentUser) { const transaction = await db.sequelize.transaction(); try { - let devices = await DevicesDBApi.findBy( - {id}, - {transaction}, + const devices = await DevicesDBApi.findBy( + { id }, + { transaction }, ); if (!devices) { @@ -90,12 +97,11 @@ module.exports = class DevicesService { await transaction.commit(); return updatedDevices; - } catch (error) { await transaction.rollback(); throw error; } - }; + } static async deleteByIds(ids, currentUser) { const transaction = await db.sequelize.transaction(); @@ -132,7 +138,121 @@ module.exports = class DevicesService { } } - + static async getApprovalCenterSummary(filter = {}) { + const query = typeof filter.query === 'string' ? filter.query.trim() : ''; + const status = APPROVAL_CENTER_FILTERS.includes(filter.status) ? filter.status : 'all'; + const limit = Math.min(Math.max(Number(filter.limit) || 16, 6), 40); + const where = {}; + + if (status !== 'all') { + where.approval_status = status; + } + + if (query) { + where[Op.or] = [ + { device_name: { [Op.iLike]: `%${query}%` } }, + { computer_name: { [Op.iLike]: `%${query}%` } }, + { current_username: { [Op.iLike]: `%${query}%` } }, + { public_ip: { [Op.iLike]: `%${query}%` } }, + { local_ip: { [Op.iLike]: `%${query}%` } }, + ]; + } + + const [devices, total, pending, approved, blocked, online] = await Promise.all([ + db.devices.findAll({ + where, + include: [ + { + model: db.users, + as: 'approved_by', + attributes: ['id', 'firstName', 'lastName', 'email'], + }, + ], + order: [ + ['is_online', 'DESC'], + ['last_heartbeat_at', 'DESC'], + ['last_seen_at', 'DESC'], + ['createdAt', 'DESC'], + ], + limit, + }), + db.devices.count(), + db.devices.count({ where: { approval_status: 'pending' } }), + db.devices.count({ where: { approval_status: 'approved' } }), + db.devices.count({ where: { approval_status: 'blocked' } }), + db.devices.count({ where: { is_online: true } }), + ]); + + return { + counts: { + total, + pending, + approved, + blocked, + online, + }, + filters: { + query, + status, + }, + devices: devices.map(toPlain), + }; + } + + static async changeApprovalStatus(id, approvalStatus, currentUser, meta = {}) { + if (!ALLOWED_APPROVAL_ACTIONS.includes(approvalStatus)) { + throw createHttpError('approval_status must be either approved or blocked.', 400); + } + + const transaction = await db.sequelize.transaction(); + + try { + const device = await db.devices.findByPk(id, { transaction }); + + if (!device) { + throw createHttpError('Device not found.', 404); + } + + const previousStatus = device.approval_status; + + if (previousStatus !== approvalStatus) { + await device.update( + { + approval_status: approvalStatus, + approved_byId: currentUser.id, + updatedById: currentUser.id, + }, + { transaction }, + ); + + await db.security_events.create( + { + event_type: approvalStatus === 'approved' ? 'device_approved' : 'device_blocked', + occurred_at: new Date(), + source_ip: meta.sourceIp || null, + user_agent: meta.userAgent || null, + details_json: JSON.stringify({ + previousStatus, + nextStatus: approvalStatus, + deviceName: device.device_name, + computerName: device.computer_name, + approvedById: currentUser.id, + }), + severity: approvalStatus === 'approved' ? 'info' : 'high', + userId: currentUser.id, + deviceId: device.id, + createdById: currentUser.id, + updatedById: currentUser.id, + }, + { transaction }, + ); + } + + await transaction.commit(); + return DevicesDBApi.findBy({ id }); + } catch (error) { + await transaction.rollback(); + throw error; + } + } }; - - diff --git a/frontend/src/components/NavBarItem.tsx b/frontend/src/components/NavBarItem.tsx index eb155e3..fb0fca2 100644 --- a/frontend/src/components/NavBarItem.tsx +++ b/frontend/src/components/NavBarItem.tsx @@ -1,6 +1,5 @@ -import React, {useEffect, useRef} from 'react' +import React, { useEffect, useRef, useState } from 'react' import Link from 'next/link' -import { useState } from 'react' import { mdiChevronUp, mdiChevronDown } from '@mdi/js' import BaseDivider from './BaseDivider' import BaseIcon from './BaseIcon' diff --git a/frontend/src/layouts/Authenticated.tsx b/frontend/src/layouts/Authenticated.tsx index 1b9907d..73d8391 100644 --- a/frontend/src/layouts/Authenticated.tsx +++ b/frontend/src/layouts/Authenticated.tsx @@ -1,5 +1,4 @@ -import React, { ReactNode, useEffect } from 'react' -import { useState } from 'react' +import React, { ReactNode, useEffect, useState } from 'react' import jwt from 'jsonwebtoken'; import { mdiForwardburger, mdiBackburger, mdiMenu } from '@mdi/js' import menuAside from '../menuAside' diff --git a/frontend/src/menuAside.ts b/frontend/src/menuAside.ts index 6501c9c..513c9f7 100644 --- a/frontend/src/menuAside.ts +++ b/frontend/src/menuAside.ts @@ -40,6 +40,14 @@ const menuAside: MenuAsideItem[] = [ icon: 'mdiMonitor' in icon ? icon['mdiMonitor' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_DEVICES' }, + { + href: '/device-approval-center', + label: 'Approval center', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + icon: icon.mdiShieldCheckOutline ?? icon.mdiTable, + permissions: 'READ_DEVICES' + }, { href: '/device_sessions/device_sessions-list', label: 'Device sessions', diff --git a/frontend/src/pages/dashboard.tsx b/frontend/src/pages/dashboard.tsx index 4c90d79..40f3439 100644 --- a/frontend/src/pages/dashboard.tsx +++ b/frontend/src/pages/dashboard.tsx @@ -6,6 +6,8 @@ import type { ReactElement } from 'react' import LayoutAuthenticated from '../layouts/Authenticated' import SectionMain from '../components/SectionMain' import SectionTitleLineWithButton from '../components/SectionTitleLineWithButton' +import CardBox from '../components/CardBox' +import BaseButton from '../components/BaseButton' import BaseIcon from "../components/BaseIcon"; import { getPageTitle } from '../config' import Link from "next/link"; @@ -103,6 +105,35 @@ const Dashboard = () => { {''} + + {hasPermission(currentUser, 'READ_DEVICES') && ( + +

+
+
+
+
+
+ Device operations +
+

Approval center is ready for first-day operations

+

+ Review pending enrollments, approve trusted devices, and keep each decision visible in the audit trail. +

+
+
+ + +
+
+
+ + )} + {hasPermission(currentUser, 'CREATE_ROLES') && ; + title: string; + description: string; +}; + +const FILTERS: Array<{ id: ApprovalFilter; label: string }> = [ + { id: 'pending', label: 'Pending review' }, + { id: 'approved', label: 'Approved' }, + { id: 'blocked', label: 'Blocked' }, + { id: 'all', label: 'All devices' }, +]; + +const METRIC_META = [ + { + key: 'pending', + label: 'Pending review', + icon: mdiLanPending, + helper: 'Needs an admin decision before it joins the approved fleet.', + className: 'border-amber-500/30 bg-amber-500/10 text-amber-100', + }, + { + key: 'approved', + label: 'Approved', + icon: mdiCheckCircleOutline, + helper: 'Ready for future automation and policy rollout.', + className: 'border-emerald-500/30 bg-emerald-500/10 text-emerald-100', + }, + { + key: 'blocked', + label: 'Blocked', + icon: mdiCloseCircleOutline, + helper: 'Explicitly denied from the authorized device pool.', + className: 'border-rose-500/30 bg-rose-500/10 text-rose-100', + }, + { + key: 'online', + label: 'Online now', + icon: mdiAccessPointNetwork, + helper: 'Active heartbeat seen recently from the current fleet.', + className: 'border-sky-500/30 bg-sky-500/10 text-sky-100', + }, +] as const; + +const statusClasses: Record = { + pending: 'border border-amber-200 bg-amber-50 text-amber-700', + approved: 'border border-emerald-200 bg-emerald-50 text-emerald-700', + blocked: 'border border-rose-200 bg-rose-50 text-rose-700', +}; + +const severityClasses: Record = { + info: 'border border-sky-200 bg-sky-50 text-sky-700', + warning: 'border border-amber-200 bg-amber-50 text-amber-700', + high: 'border border-orange-200 bg-orange-50 text-orange-700', + critical: 'border border-rose-200 bg-rose-50 text-rose-700', +}; + +const formatNumber = (value?: number | string | null) => { + if (value === null || value === undefined || value === '') { + return '—'; + } + + const numericValue = Number(value); + + if (Number.isNaN(numericValue)) { + return `${value}`; + } + + return `${numericValue.toFixed(1)}%`; +}; + +const formatDate = (value?: string | null) => { + if (!value) { + return '—'; + } + + const date = new Date(value); + + if (Number.isNaN(date.getTime())) { + return '—'; + } + + return new Intl.DateTimeFormat('en-US', { + dateStyle: 'medium', + timeStyle: 'short', + }).format(date); +}; + +const formatRelativeTime = (value?: string | null) => { + if (!value) { + return 'No heartbeat yet'; + } + + const timestamp = new Date(value).getTime(); + + if (Number.isNaN(timestamp)) { + return 'No heartbeat yet'; + } + + const diffMs = timestamp - Date.now(); + const diffMinutes = Math.round(diffMs / (1000 * 60)); + const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' }); + + if (Math.abs(diffMinutes) < 60) { + return rtf.format(diffMinutes, 'minute'); + } + + const diffHours = Math.round(diffMinutes / 60); + + if (Math.abs(diffHours) < 24) { + return rtf.format(diffHours, 'hour'); + } + + const diffDays = Math.round(diffHours / 24); + return rtf.format(diffDays, 'day'); +}; + +const getDisplayName = (person?: Person | null) => { + if (!person) { + return 'Unassigned'; + } + + const fullName = [person.firstName, person.lastName].filter(Boolean).join(' ').trim(); + return fullName || person.email || 'Unassigned'; +}; + +const getEventSummary = (event?: SecurityEvent) => { + if (!event?.details_json) { + return 'No additional context saved for this event.'; + } + + if (!event.details_json.trim().startsWith('{')) { + return event.details_json; + } + + try { + const parsed = JSON.parse(event.details_json) as Record; + const pieces = [parsed.deviceName, parsed.computerName, parsed.previousStatus, parsed.nextStatus].filter(Boolean); + + if (pieces.length) { + return pieces.join(' • '); + } + } catch { + return event.details_json; + } + + return event.details_json; +}; + +const sortByNewest = >(items: T[], primaryKey: keyof T, secondaryKey?: keyof T) => { + return [...items].sort((first, second) => { + const firstTimestamp = new Date((first[primaryKey] || first[secondaryKey || primaryKey] || '') as string).getTime(); + const secondTimestamp = new Date((second[primaryKey] || second[secondaryKey || primaryKey] || '') as string).getTime(); + + return secondTimestamp - firstTimestamp; + }); +}; + +const EmptyState = ({ title, description, action }: { title: string; description: string; action?: React.ReactNode }) => ( +
+
+ +
+

{title}

+

{description}

+ {action ?
{action}
: null} +
+); + +const DeviceApprovalCenter = () => { + const { currentUser } = useAppSelector((state) => state.auth); + const canCreateDevices = hasPermission(currentUser, 'CREATE_DEVICES'); + const canUpdateDevices = hasPermission(currentUser, 'UPDATE_DEVICES'); + const canReadSecurityEvents = hasPermission(currentUser, 'READ_SECURITY_EVENTS'); + + const [summary, setSummary] = useState(null); + const [selectedDeviceId, setSelectedDeviceId] = useState(null); + const [selectedDevice, setSelectedDevice] = useState(null); + const [activeFilter, setActiveFilter] = useState('pending'); + const [queryInput, setQueryInput] = useState(''); + const [query, setQuery] = useState(''); + const [loadingSummary, setLoadingSummary] = useState(false); + const [loadingDetail, setLoadingDetail] = useState(false); + const [loadingEvents, setLoadingEvents] = useState(false); + const [errorMessage, setErrorMessage] = useState(''); + const [feedback, setFeedback] = useState<{ color: 'success' | 'danger'; message: string } | null>(null); + const [recentEvents, setRecentEvents] = useState([]); + const [actionState, setActionState] = useState(null); + const [isSubmitting, setIsSubmitting] = useState(false); + + const loadSummary = useCallback( + async (preferredDeviceId?: string | null) => { + setLoadingSummary(true); + setErrorMessage(''); + + try { + const { data } = await axios.get('/devices/approval-center/summary', { + params: { + status: activeFilter, + query, + limit: 18, + }, + }); + + setSummary(data); + setSelectedDeviceId((currentDeviceId) => { + const desiredDeviceId = preferredDeviceId ?? currentDeviceId; + + if (desiredDeviceId && data.devices.some((device) => device.id === desiredDeviceId)) { + return desiredDeviceId; + } + + return data.devices[0]?.id ?? null; + }); + } catch (error) { + console.error('Failed to load approval center summary', error); + setErrorMessage('Unable to load the approval queue right now. Try refreshing the page.'); + } finally { + setLoadingSummary(false); + } + }, + [activeFilter, query], + ); + + const loadSelectedDevice = useCallback(async (deviceId: string) => { + setLoadingDetail(true); + + try { + const { data } = await axios.get(`/devices/${deviceId}`); + setSelectedDevice(data); + } catch (error) { + console.error('Failed to load device detail', error); + setSelectedDevice(null); + } finally { + setLoadingDetail(false); + } + }, []); + + const loadRecentEvents = useCallback(async () => { + if (!canReadSecurityEvents) { + setRecentEvents([]); + return; + } + + setLoadingEvents(true); + + try { + const { data } = await axios.get('/security_events', { + params: { + page: 0, + limit: 6, + field: 'occurred_at', + sort: 'desc', + }, + }); + + setRecentEvents(data.rows || []); + } catch (error) { + console.error('Failed to load recent security events', error); + setRecentEvents([]); + } finally { + setLoadingEvents(false); + } + }, [canReadSecurityEvents]); + + useEffect(() => { + const timeoutId = window.setTimeout(() => { + setQuery(queryInput.trim()); + }, 250); + + return () => window.clearTimeout(timeoutId); + }, [queryInput]); + + useEffect(() => { + if (!currentUser) { + return; + } + + loadSummary().catch((error) => { + console.error('Approval center summary effect failed', error); + }); + }, [currentUser, loadSummary]); + + useEffect(() => { + if (!currentUser) { + return; + } + + loadRecentEvents().catch((error) => { + console.error('Recent events effect failed', error); + }); + }, [currentUser, loadRecentEvents]); + + useEffect(() => { + if (!selectedDeviceId) { + setSelectedDevice(null); + return; + } + + loadSelectedDevice(selectedDeviceId).catch((error) => { + console.error('Selected device effect failed', error); + }); + }, [selectedDeviceId, loadSelectedDevice]); + + const recentSessions = useMemo( + () => sortByNewest(selectedDevice?.device_sessions_device || [], 'connected_at', 'createdAt').slice(0, 4), + [selectedDevice], + ); + + const selectedDeviceEvents = useMemo( + () => sortByNewest(selectedDevice?.security_events_device || [], 'occurred_at', 'createdAt').slice(0, 5), + [selectedDevice], + ); + + const openActionModal = (status: Extract) => { + const modalCopy = status === 'approved' + ? { + status, + title: 'Approve this device?', + description: 'This will mark the device as authorized and write an audit event for the review action.', + } + : { + status, + title: 'Block this device?', + description: 'This keeps the device out of the approved pool and records the decision in the security timeline.', + }; + + setActionState(modalCopy); + }; + + const handleApprovalDecision = async () => { + if (!actionState || !selectedDeviceId || isSubmitting) { + return; + } + + setIsSubmitting(true); + setFeedback(null); + + try { + await axios.put(`/devices/${selectedDeviceId}/approval-status`, { + approval_status: actionState.status, + }); + + setFeedback({ + color: 'success', + message: actionState.status === 'approved' + ? 'Device approved and added to the authorized fleet.' + : 'Device blocked and logged for follow-up.', + }); + setActionState(null); + + await Promise.all([ + loadSummary(selectedDeviceId), + loadRecentEvents(), + ]); + } catch (error) { + console.error('Failed to update approval status', error); + setFeedback({ + color: 'danger', + message: 'The approval decision could not be saved. Please try again.', + }); + } finally { + setIsSubmitting(false); + } + }; + + const selectedDeviceStatus = (selectedDevice?.approval_status || 'pending') as ApprovalStatus; + + return ( + <> + + {getPageTitle('Device approval center')} + + + +
+ { + setFeedback(null); + loadSummary(selectedDeviceId).catch((error) => { + console.error('Manual refresh failed', error); + }); + loadRecentEvents().catch((error) => { + console.error('Manual events refresh failed', error); + }); + }} + /> + +
+
+ + +
+
+
+
+
+
+ + Authorized-device workflow +
+

+ Review new enrollments, approve only trusted computers, and keep an audit trail from day one. +

+

+ This first slice turns the generated CRUD into an operations workflow: a queue for device review, + a fast approval decision, and a clear history of what changed and when. +

+
+ {canCreateDevices ? ( + + ) : null} + {canReadSecurityEvents ? ( + + ) : null} +
+
+
+ {METRIC_META.map((metric) => ( +
+
+
+ +
+ Fleet +
+
+ {summary?.counts[metric.key] ?? 0} +
+
{metric.label}
+

{metric.helper}

+
+ ))} +
+
+
+ + + {errorMessage ? ( + + {errorMessage} + + ) : null} + +
+
+ +
+
+

Approval queue

+

+ Search newly seen devices and narrow the queue by approval state. +

+
+ + Inventory + + +
+ + + setQueryInput(event.target.value)} + placeholder='Search review queue' + /> + + +
+ {FILTERS.map((filter) => ( + { + setActiveFilter(filter.id); + setFeedback(null); + }} + small + /> + ))} +
+ +
+ {loadingSummary ? ( + Array.from({ length: 4 }).map((_, index) => ( +
+ )) + ) : summary?.devices?.length ? ( + summary.devices.map((device) => { + const status = (device.approval_status || 'pending') as ApprovalStatus; + const isSelected = device.id === selectedDeviceId; + + return ( + + ); + }) + ) : ( + : undefined + } + /> + )} +
+ +
+ +
+ + {feedback ? ( + + {feedback.message} + + ) : null} + + {!selectedDeviceId && !loadingDetail ? ( + } + /> + ) : loadingDetail ? ( +
+
+
+
+
+
+
+
+ ) : selectedDevice ? ( + <> +
+
+
+ + Device review + + + {selectedDeviceStatus} + + + {selectedDevice.is_online ? 'Online' : 'Offline'} + +
+

+ {selectedDevice.device_name || selectedDevice.computer_name || 'Unnamed device'} +

+

+ {selectedDevice.computer_name || 'No hostname yet'} • {selectedDevice.current_username || 'No local user reported'} +

+
+
+ + {canUpdateDevices ? ( + <> + openActionModal('approved')} + /> + openActionModal('blocked')} + /> + + ) : ( + + Read-only access + + )} +
+
+ +
+ {[ + { label: 'Last heartbeat', value: formatRelativeTime(selectedDevice.last_heartbeat_at), icon: mdiClockOutline }, + { label: 'CPU usage', value: formatNumber(selectedDevice.cpu_usage_percent), icon: mdiChartTimelineVariant }, + { label: 'RAM usage', value: formatNumber(selectedDevice.ram_usage_percent), icon: mdiMonitorDashboard }, + { label: 'Reconnect attempts', value: `${selectedDevice.reconnect_attempts ?? 0}`, icon: mdiRefresh }, + ].map((stat) => ( +
+
+
+ {stat.label} +
+ +
+
{stat.value}
+
+ ))} +
+ + + +
+
+
+

Host profile

+

System identity, network details, and reviewer information.

+
+
+ {[ + { label: 'Agent version', value: selectedDevice.agent_version || '—' }, + { label: 'OS version', value: selectedDevice.os_version || '—' }, + { label: 'Public IP', value: selectedDevice.public_ip || '—' }, + { label: 'Local IP', value: selectedDevice.local_ip || '—' }, + { label: 'MAC address', value: selectedDevice.mac_address || '—' }, + { label: 'Fingerprint', value: selectedDevice.device_fingerprint || '—' }, + { label: 'First seen', value: formatDate(selectedDevice.first_seen_at) }, + { label: 'Reviewed by', value: getDisplayName(selectedDevice.approved_by) }, + ].map((item) => ( +
+
+ {item.label} +
+
+ {item.value} +
+
+ ))} +
+
+ +
+
+

Connection history

+

Most recent sessions reported for this device.

+
+
+ {recentSessions.length ? ( + recentSessions.map((session) => ( +
+
+
+ {session.server_node || 'Primary node'} +
+ + {session.disconnect_reason || 'connected'} + +
+
+
+
Connected
+
{formatDate(session.connected_at)}
+
+
+
Disconnected
+
{formatDate(session.disconnected_at)}
+
+
+
+ )) + ) : ( + + )} +
+
+
+ + {canReadSecurityEvents ? ( + <> + +
+
+
+

Audit timeline for this device

+

Approval changes, registrations, and other related events.

+
+ + Full audit log + + +
+
+ {selectedDeviceEvents.length ? ( + selectedDeviceEvents.map((event) => ( +
+
+
+
+ {(event.event_type || 'activity').replace(/_/g, ' ')} +
+

{getEventSummary(event)}

+
+ + {event.severity || 'info'} + +
+
+ {formatDate(event.occurred_at || event.createdAt)} + {event.source_ip || 'No source IP'} +
+
+ )) + ) : ( + + )} +
+
+ + ) : null} + + ) : ( + } + /> + )} + +
+
+ + {canReadSecurityEvents ? ( + +
+
+

Recent audit activity

+

A quick view of the latest security-relevant events across the admin panel.

+
+ +
+ {loadingEvents ? ( +
+ {Array.from({ length: 3 }).map((_, index) => ( +
+ ))} +
+ ) : recentEvents.length ? ( +
+ {recentEvents.map((event) => ( +
+
+ + {event.severity || 'info'} + + + {formatDate(event.occurred_at || event.createdAt)} + +
+
+ {(event.event_type || 'activity').replace(/_/g, ' ')} +
+

+ {getEventSummary(event)} +

+
+ {event.device?.device_name || event.device?.computer_name || 'Security event'} +
+
+ ))} +
+ ) : ( + + )} + + ) : null} + + + { + if (!isSubmitting) { + setActionState(null); + } + }} + > +

+ {actionState?.description} +

+
+
+ {selectedDevice?.device_name || selectedDevice?.computer_name || 'Selected device'} +
+
+ {selectedDevice?.computer_name || 'No hostname'} • {selectedDevice?.current_username || 'No local user'} +
+
+
+ + ); +}; + +DeviceApprovalCenter.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; + +export default DeviceApprovalCenter; diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 153b6a4..4f9cd02 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -1,166 +1,217 @@ - -import React, { useEffect, useState } from 'react'; -import type { ReactElement } from 'react'; +import { + mdiAccessPointNetwork, + mdiChevronRight, + mdiHistory, + mdiLockOutline, + mdiMonitorDashboard, + mdiShieldCheckOutline, +} from '@mdi/js'; import Head from 'next/head'; import Link from 'next/link'; +import React from 'react'; +import type { ReactElement } from 'react'; import BaseButton from '../components/BaseButton'; +import BaseIcon from '../components/BaseIcon'; import CardBox from '../components/CardBox'; -import SectionFullScreen from '../components/SectionFullScreen'; -import LayoutGuest from '../layouts/Guest'; -import BaseDivider from '../components/BaseDivider'; -import BaseButtons from '../components/BaseButtons'; import { getPageTitle } from '../config'; -import { useAppSelector } from '../stores/hooks'; -import CardBoxComponentTitle from "../components/CardBoxComponentTitle"; -import { getPexelsImage, getPexelsVideo } from '../helpers/pexels'; +import LayoutGuest from '../layouts/Guest'; +const highlights = [ + { + title: 'Approved devices only', + description: 'Keep enrollment under review before any machine joins your trusted fleet.', + icon: mdiShieldCheckOutline, + }, + { + title: 'Heartbeat-first visibility', + description: 'Surface online status, reconnect health, and recent activity in one panel.', + icon: mdiAccessPointNetwork, + }, + { + title: 'Audit-ready operations', + description: 'Every approval decision should be visible, timestamped, and easy to revisit.', + icon: mdiHistory, + }, +]; -export default function Starter() { - const [illustrationImage, setIllustrationImage] = useState({ - src: undefined, - photographer: undefined, - photographer_url: undefined, - }) - const [illustrationVideo, setIllustrationVideo] = useState({video_files: []}) - const [contentType, setContentType] = useState('image'); - const [contentPosition, setContentPosition] = useState('background'); - const textColor = useAppSelector((state) => state.style.linkColor); - - const title = 'Remote Admin System' - - // Fetch Pexels image/video - useEffect(() => { - async function fetchData() { - const image = await getPexelsImage(); - const video = await getPexelsVideo(); - setIllustrationImage(image); - setIllustrationVideo(video); - } - fetchData(); - }, []); - - const imageBlock = (image) => ( - - ); - - const videoBlock = (video) => { - if (video?.video_files?.length > 0) { - return ( -
- - -
) - } - }; +const workflow = [ + 'Enroll a device and capture host metadata.', + 'Review heartbeat and system identity in the approval queue.', + 'Approve only trusted computers into the authorized fleet.', + 'Track decisions in the audit timeline for follow-up and reporting.', +]; +export default function Home() { return ( -
+ <> - {getPageTitle('Starter Page')} + {getPageTitle('Remote Admin System')} - -
- {contentType === 'image' && contentPosition !== 'background' - ? imageBlock(illustrationImage) - : null} - {contentType === 'video' && contentPosition !== 'background' - ? videoBlock(illustrationVideo) - : null} -
- - - -
-

This is a React.js/Node.js app generated by the Flatlogic Web App Generator

-

For guides and documentation please check - your local README.md and the Flatlogic documentation

+
+
+
+
+ + Remote Admin System + +

Secure web operations for approved computers and admin-reviewed access.

- - - +
+ + +
+
- - +
+
+
+
+ + First-day control center +
+

+ Modern remote administration starts with trusted enrollment and a clean audit trail. +

+

+ The app is now shaped around the first real workflow your team needs: review newly connected devices, + approve only the machines you trust, and keep every decision visible in the admin panel. +

+ +
+ + +
+ +
+ {[ + { label: 'Secure access', value: 'JWT login' }, + { label: 'Device review', value: 'Approval queue' }, + { label: 'Traceability', value: 'Audit history' }, + ].map((item) => ( +
+
{item.label}
+
{item.value}
+
+ ))} +
+
+ + +
+
+
+
+
+
+

Control preview

+

Approval center

+
+
+ +
+
+ +
+
+
Pending review
+
2
+

New devices waiting for an approval decision.

+
+
+
Authorized fleet
+
Ready
+

Approved devices stay clearly separated from blocked ones.

+
+
+ +
+
+
Today's workflow
+
+ Live queue + +
+
+
+ {workflow.slice(0, 3).map((item, index) => ( +
+
+ {index + 1} +
+

{item}

+
+ ))} +
+
+
+
+ +
+ +
+ {highlights.map((item) => ( + +
+ +
+

{item.title}

+

{item.description}

+
+ ))} +
+ +
+
+
+
+ + Built for safe admin flow +
+

What the first delivery gives you immediately

+

+ Instead of a generic shell, the product now points to a concrete operational loop: review, approve, + and trace device access decisions inside the admin experience. +

+
+
+ {workflow.map((step, index) => ( +
+
Step {index + 1}
+

{step}

+
+ ))} +
+
+
+
-
- -
-

© 2026 {title}. All rights reserved

- - Privacy Policy - -
-
+
+
+

© 2026 Remote Admin System. Secure access for approved devices only.

+
+ + Admin interface + + + Login + + + Privacy Policy + +
+
+
+
+ ); } -Starter.getLayout = function getLayout(page: ReactElement) { +Home.getLayout = function getLayout(page: ReactElement) { return {page}; }; -