40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
/**
|
|
* @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);
|