mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
refactor(api): emit moderation events and apply account actions (#3031)
This commit is contained in:
1 parent
c488906131
commit
364084c819
385 files changed
+8994
-22221
No files matched your search
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import type {ILogger} from '@app/api/ILogger';
|
||||
import {ClientErrorAbuseSignalMiddleware} from '@app/api/middleware/AbusiveIpAutoBanner';
|
||||
import {ActivityContextMiddleware} from '@app/api/infrastructure/activity/ActivityMeta';
|
||||
import {AuditLogMiddleware} from '@app/api/middleware/AuditLogMiddleware';
|
||||
import {ConcurrencyLimitMiddleware} from '@app/api/middleware/ConcurrencyLimitMiddleware';
|
||||
import ContentFilterMiddleware from '@app/api/middleware/ContentFilterMiddleware';
|
||||
@@ -9,9 +9,9 @@ import {GuildAvailabilityMiddleware} from '@app/api/middleware/GuildAvailability
|
||||
import {IpBanMiddleware} from '@app/api/middleware/IpBanMiddleware';
|
||||
import {LocaleMiddleware} from '@app/api/middleware/LocaleMiddleware';
|
||||
import {RequestCacheMiddleware} from '@app/api/middleware/RequestCacheMiddleware';
|
||||
import {RequestErrorTelemetry} from '@app/api/middleware/RequestErrorTelemetry';
|
||||
import {RequireClientIpMiddleware} from '@app/api/middleware/RequireClientIpMiddleware';
|
||||
import {ServiceMiddleware} from '@app/api/middleware/ServiceMiddleware';
|
||||
import {TorExitMiddleware} from '@app/api/middleware/TorExitMiddleware';
|
||||
import {TrustedClientIpHeaderMiddleware} from '@app/api/middleware/TrustedClientIpHeaderMiddleware';
|
||||
import {UserMiddleware} from '@app/api/middleware/UserMiddleware';
|
||||
import type {HonoApp} from '@app/api/types/HonoEnv';
|
||||
@@ -29,19 +29,10 @@ interface MiddlewarePipelineOptions {
|
||||
trustClientIpHeader: boolean;
|
||||
clientIpHeaderName?: string;
|
||||
maxInflightRequests: number;
|
||||
torExitBlockingEnabled: boolean;
|
||||
}
|
||||
|
||||
export function configureMiddleware(routes: HonoApp, options: MiddlewarePipelineOptions): void {
|
||||
const {
|
||||
logger,
|
||||
nodeEnv,
|
||||
corsOrigins,
|
||||
trustClientIpHeader,
|
||||
clientIpHeaderName,
|
||||
maxInflightRequests,
|
||||
torExitBlockingEnabled,
|
||||
} = options;
|
||||
const {logger, nodeEnv, corsOrigins, trustClientIpHeader, clientIpHeaderName, maxInflightRequests} = options;
|
||||
const resolvedHeader = resolveClientIpHeaderName(clientIpHeaderName);
|
||||
routes.use('/webhooks/:webhook_id/:token', cors({origins: '*'}));
|
||||
routes.use('/webhooks/:webhook_id/:token/messages/:message_id', cors({origins: '*'}));
|
||||
@@ -85,7 +76,7 @@ export function configureMiddleware(routes: HonoApp, options: MiddlewarePipeline
|
||||
skip: ['/_health'],
|
||||
}),
|
||||
);
|
||||
routes.use(ClientErrorAbuseSignalMiddleware);
|
||||
routes.use(RequestErrorTelemetry);
|
||||
routes.use(RequestCacheMiddleware);
|
||||
if (nodeEnv === 'production') {
|
||||
routes.use('*', async (ctx, next) => {
|
||||
@@ -109,11 +100,9 @@ export function configureMiddleware(routes: HonoApp, options: MiddlewarePipeline
|
||||
}),
|
||||
);
|
||||
}
|
||||
if (torExitBlockingEnabled) {
|
||||
routes.use(TorExitMiddleware);
|
||||
}
|
||||
routes.use(AuditLogMiddleware);
|
||||
routes.use(RequireClientIpMiddleware());
|
||||
routes.use(ActivityContextMiddleware);
|
||||
routes.use(ServiceMiddleware);
|
||||
routes.use(UserMiddleware);
|
||||
routes.use(ContentFilterMiddleware);
|
||||
|
||||
Reference in new issue
Block a user