Files
ulweb/backend/src/app.module.ts
ulhub 5de7b4d7a2 Add BLE challenge-response for short-lived MQTT session certs
BLE-only locators can't hold the MQTT/TLS connection themselves — a phone
relays their data — so handing the phone a device's permanent client-cert
key would export its identity to every phone it pairs with. Instead the
device signs a server-issued nonce with its permanent key over BLE; once
verified, the backend mints a short-lived session certificate for the
phone's actual MQTT connection, keeping the permanent key on-device always.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 20:51:58 +00:00

39 lines
1.3 KiB
TypeScript

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { StatusController } from './status.controller';
import { PrismaModule } from './prisma/prisma.module';
import { AuthModule } from './auth/auth.module';
import { OrgsModule } from './orgs/orgs.module';
import { JobsModule } from './jobs/jobs.module';
import { PointsModule } from './points/points.module';
import { DevicesModule } from './devices/devices.module';
import { IngestModule } from './ingest/ingest.module';
import { RealtimeModule } from './realtime/realtime.module';
import { ApiKeysModule } from './api-keys/api-keys.module';
import { SimModule } from './sim/sim.module';
import { DeviceStatusModule } from './device-status/device-status.module';
import { CertificatesModule } from './certificates/certificates.module';
import { DeviceMqttAuthModule } from './device-mqtt-auth/device-mqtt-auth.module';
@Module({
imports: [
PrismaModule,
AuthModule,
OrgsModule,
JobsModule,
PointsModule,
DevicesModule,
IngestModule,
RealtimeModule,
ApiKeysModule,
SimModule,
DeviceStatusModule,
CertificatesModule,
DeviceMqttAuthModule,
],
controllers: [AppController, StatusController],
providers: [AppService],
})
export class AppModule {}