After first login, admins are redirected to a 4-step setup wizard: 1. Server hostname (FQDN) 2. Primary and secondary nameservers 3. Admin email and optional password change 4. Review and confirm Setup state is persisted in the settings table (setup_complete=true). Once complete, the redirect never triggers again. Settings are saved to the DB and hostname is applied via hostnamectl.
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import type { FastifyInstance } from 'fastify'
|
|
import accountRoutes from './accounts.js'
|
|
import packageRoutes from './packages.js'
|
|
import resellerRoutes from './resellers.js'
|
|
import dnsRoutes from './dns.js'
|
|
import emailRoutes from './email.js'
|
|
import sslRoutes from './ssl.js'
|
|
import phpRoutes from './php.js'
|
|
import serviceRoutes from './services.js'
|
|
import systemRoutes from './system.js'
|
|
import securityRoutes from './security.js'
|
|
import backupRoutes from './backup.js'
|
|
import webserverRoutes from './webserver.js'
|
|
import setupRoutes from './setup.js'
|
|
|
|
export default async function nixserverRoutes(fastify: FastifyInstance) {
|
|
fastify.register(setupRoutes, { prefix: '/setup' })
|
|
fastify.register(accountRoutes, { prefix: '/accounts' })
|
|
fastify.register(packageRoutes, { prefix: '/packages' })
|
|
fastify.register(resellerRoutes, { prefix: '/resellers' })
|
|
fastify.register(dnsRoutes, { prefix: '/dns' })
|
|
fastify.register(emailRoutes, { prefix: '/email' })
|
|
fastify.register(sslRoutes, { prefix: '/ssl' })
|
|
fastify.register(phpRoutes, { prefix: '/php' })
|
|
fastify.register(serviceRoutes, { prefix: '/services' })
|
|
fastify.register(systemRoutes, { prefix: '/system' })
|
|
fastify.register(securityRoutes, { prefix: '/security' })
|
|
fastify.register(backupRoutes, { prefix: '/backup' })
|
|
fastify.register(webserverRoutes, { prefix: '/webserver' })
|
|
}
|