Files
adam-acs/app/utils/device_utils.ts
Kevin L'HereecandCopilot d1c65dbf1e chore: initial commit — AdonisJS v7 TR-069 ACS
- Docker infrastructure (Dockerfile, docker-compose.yml, genieacs-sim)
- AdonisJS v7 app with Inertia.js + Vue 3
- MongoDB integration
- CWMP/TR-069 state machine engine
- Configuration engine with compliance tracking
- Branding: ADAM ACS (favicon, navbar, locales)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-29 16:46:37 +02:00

16 lines
503 B
TypeScript

import { createHash } from 'node:crypto'
/**
* Generates a deterministic hex identifier for a device (URL-safe, 24 chars)
*/
export function getDeviceHashIdentifier(device: {
oui: string
productClass: string
serialNumber: string
manufacturer?: string
}): string {
const manufacturer = device.manufacturer ?? ''
const canonical = `${manufacturer}-${device.oui}-${device.productClass}-${device.serialNumber}`
return createHash('sha256').update(canonical).digest('hex').substring(0, 24)
}