unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
36 lines • 1.99 kB
JavaScript
import { BackstageController } from './backstage.js';
import ResetPasswordController from './auth/reset-password-controller.js';
import { SimplePasswordProvider } from './auth/simple-password-provider.js';
import LogoutController from './logout.js';
import rateLimit from 'express-rate-limit';
import Controller from './controller.js';
import { AdminApi } from './admin-api/index.js';
import ClientApi from './client-api/index.js';
import { HealthCheckController } from './health-check.js';
import FrontendAPIController from '../features/frontend-api/frontend-api-controller.js';
import EdgeController from './edge-api/index.js';
import { PublicInviteController } from './public-invite.js';
import { minutesToMilliseconds } from 'date-fns';
class IndexRouter extends Controller {
constructor(config, services, stores, db) {
super(config);
this.use('/health', new HealthCheckController(config, services).router);
this.use('/invite', new PublicInviteController(config, services).router);
this.use('/internal-backstage', new BackstageController(config, services).router);
this.use('/logout', new LogoutController(config, services).router);
this.useWithMiddleware('/auth/simple', new SimplePasswordProvider(config, services).router, rateLimit({
windowMs: minutesToMilliseconds(1),
max: config.rateLimiting.simpleLoginMaxPerMinute,
validate: false,
standardHeaders: true,
legacyHeaders: false,
}));
this.use('/auth/reset', new ResetPasswordController(config, services).router);
this.use('/api/admin', new AdminApi(config, services, stores, db).router);
this.use('/api/client', new ClientApi(config, services).router);
this.use('/api/frontend', new FrontendAPIController(config, services).router);
this.use('/edge', new EdgeController(config, services).router);
}
}
export default IndexRouter;
//# sourceMappingURL=index.js.map