/** * 租户管理路由 * * API前缀: /api/admin/tenants */ import type { FastifyInstance } from 'fastify'; import * as tenantController from '../controllers/tenantController.js'; import { authenticate, requirePermission } from '../../../common/auth/auth.middleware.js'; export async function tenantRoutes(fastify: FastifyInstance) { // ==================== 租户管理 ==================== // 获取租户列表 // GET /api/admin/tenants?type=&status=&search=&page=1&limit=20 fastify.get('/', { preHandler: [authenticate, requirePermission('tenant:view')], handler: tenantController.listTenants, }); // 获取租户详情 // GET /api/admin/tenants/:id fastify.get('/:id', { preHandler: [authenticate, requirePermission('tenant:view')], handler: tenantController.getTenant, }); // 创建租户 // POST /api/admin/tenants fastify.post('/', { preHandler: [authenticate, requirePermission('tenant:create')], handler: tenantController.createTenant, }); // 更新租户信息 // PUT /api/admin/tenants/:id fastify.put('/:id', { preHandler: [authenticate, requirePermission('tenant:edit')], handler: tenantController.updateTenant, }); // 更新租户状态 // PUT /api/admin/tenants/:id/status fastify.put('/:id/status', { preHandler: [authenticate, requirePermission('tenant:edit')], handler: tenantController.updateTenantStatus, }); // 删除租户 // DELETE /api/admin/tenants/:id fastify.delete('/:id', { preHandler: [authenticate, requirePermission('tenant:delete')], handler: tenantController.deleteTenant, }); // 配置租户模块 // PUT /api/admin/tenants/:id/modules fastify.put('/:id/modules', { preHandler: [authenticate, requirePermission('tenant:edit')], handler: tenantController.configureModules, }); } /** * 模块管理路由 * * API前缀: /api/admin/modules */ export async function moduleRoutes(fastify: FastifyInstance) { // 获取所有可用模块列表 // GET /api/admin/modules fastify.get('/', { preHandler: [authenticate, requirePermission('tenant:view')], handler: tenantController.listModules, }); }