UNPKG

@atproto/ozone

Version:

Backend service for moderating the Bluesky network.

78 lines 2.79 kB
import { type Selectable } from 'kysely'; import { ModerationEvent } from '../db/schema/moderation_event'; import { ModerationSubjectStatus } from '../db/schema/moderation_subject_status'; import { ModEventView } from '../lexicon/types/tools/ozone/moderation/defs'; import { ModSubject } from './subject'; export type ModerationEventRow = Selectable<ModerationEvent>; export type ReversibleModerationEvent = Pick<ModerationEventRow, 'createdBy' | 'comment' | 'action'> & { createdAt?: Date; subject: ModSubject; }; export type ModerationEventRowWithHandle = ModerationEventRow & { subjectHandle?: string | null; creatorHandle?: string | null; }; export type ModerationSubjectStatusRow = Selectable<ModerationSubjectStatus>; export type ModerationSubjectStatusRowWithStats = ModerationSubjectStatusRow & { takedownCount: number | null; suspendCount: number | null; escalateCount: number | null; reportCount: number | null; appealCount: number | null; totalReports: number | null; reportedCount: number | null; escalatedCount: number | null; appealedCount: number | null; subjectCount: number | null; pendingCount: number | null; processedCount: number | null; takendownCount: number | null; strikeCount: number | null; totalStrikeCount: number | null; firstStrikeAt: string | null; lastStrikeAt: string | null; }; export type ModerationSubjectStatusRowWithHandle = ModerationSubjectStatusRowWithStats & { handle: string | null; }; export type ModEventType = ModEventView['event']; type AccountHostingView = { $type: 'tools.ozone.moderation.defs#accountHosting'; status: 'active' | 'takendown' | 'suspended' | 'deleted' | 'deactivated'; createdAt?: Date; updatedAt?: Date; deletedAt?: Date; deactivatedAt?: Date; reactivatedAt?: Date; }; type RecordHostingView = { $type: 'tools.ozone.moderation.defs#recordHosting'; status: 'active' | 'deleted'; createdAt?: Date; updatedAt?: Date; deletedAt?: Date; }; export type ModerationSubjectHostingView = AccountHostingView | RecordHostingView; export type ReporterStats = { did: string; accountReportCount: number; recordReportCount: number; reportedAccountCount: number; reportedRecordCount: number; takendownAccountCount: number; takendownRecordCount: number; labeledAccountCount: number; labeledRecordCount: number; }; export type ReporterStatsResult = { accountReportCount?: number; recordReportCount?: number; reportedAccountCount?: number; reportedRecordCount?: number; takendownAccountCount?: number; takendownRecordCount?: number; labeledAccountCount?: number; labeledRecordCount?: number; }; export {}; //# sourceMappingURL=types.d.ts.map