Files
GMW/services/backend/src/modules/moderation/moderation.service.ts
T
2026-08-18 20:45:12 +07:00

45 lines
1.1 KiB
TypeScript

import { createChildLogger } from "../../shared/logger/index.js";
import {
type ListModerationQuery,
moderationRepository,
} from "./moderation.repository.js";
const logger = createChildLogger("moderation.service");
export class ModerationService {
async getStats() {
return moderationRepository.getStats();
}
async getTrends(days = 30) {
return moderationRepository.getTrends(days);
}
async getTopFlaggedDomains(days = 30) {
return moderationRepository.getTopFlaggedDomains(days);
}
async getTopFlaggedChannels(days = 30) {
return moderationRepository.getTopFlaggedChannels(days);
}
async getHourlyModeration(days = 30) {
return moderationRepository.getHourlyModeration(days);
}
async getByCategory(days = 30, category: string) {
return moderationRepository.getByCategory(days, category);
}
async getCoverage(days = 30) {
return moderationRepository.getCoverage(days);
}
async listActions(query: ListModerationQuery) {
logger.debug({ query }, "Listing moderation actions");
return moderationRepository.listActions(query);
}
}
export const moderationService = new ModerationService();