/** * @fileoverview Mount all /zapier routes. * @module routes/index */ import { Router } from 'express'; import { authRoutes } from './authRoutes.js'; import { timestampRoutes } from './timestampRoutes.js'; import { verifyRoutes } from './verifyRoutes.js'; import { statusRoutes } from './statusRoutes.js'; import { webhookRoutes } from './webhookRoutes.js'; import { publicTenantRoutes, adminTenantRoutes } from './tenantRoutes.js'; import { hashRoutes } from './hashRoutes.js'; import { receiptRoutes } from './receiptRoutes.js'; import { objectRoutes, publicShareRoutes } from './objectRoutes.js'; import { authenticate } from '../middleware/authenticate.js'; import { rateLimit } from '../middleware/rateLimit.js'; export const apiRoutes = Router(); // Public apiRoutes.use('/v1/auth', authRoutes); apiRoutes.use('/v1', publicTenantRoutes); apiRoutes.use('/v1/admin', adminTenantRoutes); apiRoutes.use('/v1/shares', publicShareRoutes); // Protected const protectedRoutes = Router(); protectedRoutes.use(authenticate); protectedRoutes.use(rateLimit); protectedRoutes.use('/timestamp', timestampRoutes); protectedRoutes.use('/verify', verifyRoutes); protectedRoutes.use('/status', statusRoutes); protectedRoutes.use('/webhooks', webhookRoutes); protectedRoutes.use('/hashes', hashRoutes); protectedRoutes.use('/receipts', receiptRoutes); protectedRoutes.use('/objects', objectRoutes); apiRoutes.use('/v1', protectedRoutes);