@atproto/ozone
Version:
Backend service for moderating the Bluesky network.
184 lines • 12.4 kB
TypeScript
import { AtUri } from '@atproto/syntax';
import { Database } from '../db';
import { DatabaseSchema } from '../db/schema';
import { ModerationEventRow, ModerationSubjectStatusRow } from './types';
export declare const moderationSubjectStatusQueryBuilder: (db: DatabaseSchema) => import("kysely/dist/cjs/parser/select-parser").QueryBuilderWithSelection<{
moderation_event: import("../db/schema/moderation_event").ModerationEvent;
moderation_subject_status: import("../db/schema/moderation_subject_status").ModerationSubjectStatus;
label: import("../db/schema/label").Label;
repo_push_event: import("../db/schema/repo_push_event").RepoPushEvent;
record_push_event: import("../db/schema/record_push_event").RecordPushEvent;
blob_push_event: import("../db/schema/blob_push_event").BlobPushEvent;
communication_template: import("../db/schema/communication_template").CommunicationTemplate;
signing_key: import("../db/schema/signing_key").SigningKey;
member: import("../db/schema/member").Member;
set_detail: import("../db/schema/ozone_set").SetDetail;
set_value: import("../db/schema/ozone_set").SetValue;
setting: import("../db/schema/setting").Setting;
account_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db/schema/account_events_stats").AccountEventsStats>;
account_record_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<{
subjectDid: import("kysely").GeneratedAlways<string>;
totalReports: import("kysely").GeneratedAlways<number>;
reportedCount: import("kysely").GeneratedAlways<number>;
escalatedCount: import("kysely").GeneratedAlways<number>;
appealedCount: import("kysely").GeneratedAlways<number>;
}>;
account_record_status_stats: import("kysely/dist/cjs/util/type-utils").Nullable<{
did: import("kysely").GeneratedAlways<string>;
subjectCount: import("kysely").GeneratedAlways<number>;
pendingCount: import("kysely").GeneratedAlways<number>;
processedCount: import("kysely").GeneratedAlways<number>;
takendownCount: import("kysely").GeneratedAlways<number>;
}>;
account_strike: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db/schema/account_strike").AccountStrike>;
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
job_cursor: import("../db/schema/job_cursor").JobCursor;
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
verification: import("../db/schema/verification").Verification;
safelink_rule: import("../db/schema/safelink").SafelinkRule;
safelink_event: import("../db/schema/safelink").SafelinkEvent;
scheduled_action: import("../db/schema/scheduled-action").ScheduledAction;
}, "moderation_subject_status" | "account_events_stats" | "account_record_events_stats" | "account_record_status_stats" | "account_strike", {
id: number;
comment: string | null;
createdAt: string;
did: string;
recordPath: string;
blobCids: string[] | null;
recordCid: string | null;
reviewState: "tools.ozone.moderation.defs#reviewOpen" | "tools.ozone.moderation.defs#reviewEscalated" | "tools.ozone.moderation.defs#reviewClosed" | "tools.ozone.moderation.defs#reviewNone";
muteUntil: string | null;
lastReviewedAt: string | null;
lastReviewedBy: string | null;
lastReportedAt: string | null;
lastAppealedAt: string | null;
takendown: boolean;
suspendUntil: string | null;
appealed: boolean | null;
updatedAt: string;
tags: string[] | null;
muteReportingUntil: string | null;
hostingStatus: string | null;
hostingDeletedAt: string | null;
hostingUpdatedAt: string | null;
hostingCreatedAt: string | null;
hostingDeactivatedAt: string | null;
hostingReactivatedAt: string | null;
ageAssuranceState: string;
priorityScore: number | undefined;
ageAssuranceUpdatedBy: string | null | undefined;
} & import("kysely").Selection<{
moderation_event: import("../db/schema/moderation_event").ModerationEvent;
moderation_subject_status: import("../db/schema/moderation_subject_status").ModerationSubjectStatus;
label: import("../db/schema/label").Label;
repo_push_event: import("../db/schema/repo_push_event").RepoPushEvent;
record_push_event: import("../db/schema/record_push_event").RecordPushEvent;
blob_push_event: import("../db/schema/blob_push_event").BlobPushEvent;
communication_template: import("../db/schema/communication_template").CommunicationTemplate;
signing_key: import("../db/schema/signing_key").SigningKey;
member: import("../db/schema/member").Member;
set_detail: import("../db/schema/ozone_set").SetDetail;
set_value: import("../db/schema/ozone_set").SetValue;
setting: import("../db/schema/setting").Setting;
account_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db/schema/account_events_stats").AccountEventsStats>;
account_record_events_stats: {
subjectDid: import("kysely").GeneratedAlways<string>;
totalReports: import("kysely").GeneratedAlways<number>;
reportedCount: import("kysely").GeneratedAlways<number>;
escalatedCount: import("kysely").GeneratedAlways<number>;
appealedCount: import("kysely").GeneratedAlways<number>;
};
account_record_status_stats: {
did: import("kysely").GeneratedAlways<string>;
subjectCount: import("kysely").GeneratedAlways<number>;
pendingCount: import("kysely").GeneratedAlways<number>;
processedCount: import("kysely").GeneratedAlways<number>;
takendownCount: import("kysely").GeneratedAlways<number>;
};
account_strike: import("../db/schema/account_strike").AccountStrike;
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
job_cursor: import("../db/schema/job_cursor").JobCursor;
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
verification: import("../db/schema/verification").Verification;
safelink_rule: import("../db/schema/safelink").SafelinkRule;
safelink_event: import("../db/schema/safelink").SafelinkEvent;
scheduled_action: import("../db/schema/scheduled-action").ScheduledAction;
}, "moderation_subject_status" | "account_events_stats", "account_events_stats.reportCount" | "account_events_stats.appealCount" | "account_events_stats.suspendCount" | "account_events_stats.escalateCount" | "account_events_stats.takedownCount"> & import("kysely").Selection<{
moderation_event: import("../db/schema/moderation_event").ModerationEvent;
moderation_subject_status: import("../db/schema/moderation_subject_status").ModerationSubjectStatus;
label: import("../db/schema/label").Label;
repo_push_event: import("../db/schema/repo_push_event").RepoPushEvent;
record_push_event: import("../db/schema/record_push_event").RecordPushEvent;
blob_push_event: import("../db/schema/blob_push_event").BlobPushEvent;
communication_template: import("../db/schema/communication_template").CommunicationTemplate;
signing_key: import("../db/schema/signing_key").SigningKey;
member: import("../db/schema/member").Member;
set_detail: import("../db/schema/ozone_set").SetDetail;
set_value: import("../db/schema/ozone_set").SetValue;
setting: import("../db/schema/setting").Setting;
account_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db/schema/account_events_stats").AccountEventsStats>;
account_record_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<{
subjectDid: import("kysely").GeneratedAlways<string>;
totalReports: import("kysely").GeneratedAlways<number>;
reportedCount: import("kysely").GeneratedAlways<number>;
escalatedCount: import("kysely").GeneratedAlways<number>;
appealedCount: import("kysely").GeneratedAlways<number>;
}>;
account_record_status_stats: {
did: import("kysely").GeneratedAlways<string>;
subjectCount: import("kysely").GeneratedAlways<number>;
pendingCount: import("kysely").GeneratedAlways<number>;
processedCount: import("kysely").GeneratedAlways<number>;
takendownCount: import("kysely").GeneratedAlways<number>;
};
account_strike: import("../db/schema/account_strike").AccountStrike;
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
job_cursor: import("../db/schema/job_cursor").JobCursor;
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
verification: import("../db/schema/verification").Verification;
safelink_rule: import("../db/schema/safelink").SafelinkRule;
safelink_event: import("../db/schema/safelink").SafelinkEvent;
scheduled_action: import("../db/schema/scheduled-action").ScheduledAction;
}, "moderation_subject_status" | "account_events_stats" | "account_record_events_stats", "account_record_events_stats.totalReports" | "account_record_events_stats.reportedCount" | "account_record_events_stats.escalatedCount" | "account_record_events_stats.appealedCount"> & import("kysely").Selection<{
moderation_event: import("../db/schema/moderation_event").ModerationEvent;
moderation_subject_status: import("../db/schema/moderation_subject_status").ModerationSubjectStatus;
label: import("../db/schema/label").Label;
repo_push_event: import("../db/schema/repo_push_event").RepoPushEvent;
record_push_event: import("../db/schema/record_push_event").RecordPushEvent;
blob_push_event: import("../db/schema/blob_push_event").BlobPushEvent;
communication_template: import("../db/schema/communication_template").CommunicationTemplate;
signing_key: import("../db/schema/signing_key").SigningKey;
member: import("../db/schema/member").Member;
set_detail: import("../db/schema/ozone_set").SetDetail;
set_value: import("../db/schema/ozone_set").SetValue;
setting: import("../db/schema/setting").Setting;
account_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db/schema/account_events_stats").AccountEventsStats>;
account_record_events_stats: import("kysely/dist/cjs/util/type-utils").Nullable<{
subjectDid: import("kysely").GeneratedAlways<string>;
totalReports: import("kysely").GeneratedAlways<number>;
reportedCount: import("kysely").GeneratedAlways<number>;
escalatedCount: import("kysely").GeneratedAlways<number>;
appealedCount: import("kysely").GeneratedAlways<number>;
}>;
account_record_status_stats: import("kysely/dist/cjs/util/type-utils").Nullable<{
did: import("kysely").GeneratedAlways<string>;
subjectCount: import("kysely").GeneratedAlways<number>;
pendingCount: import("kysely").GeneratedAlways<number>;
processedCount: import("kysely").GeneratedAlways<number>;
takendownCount: import("kysely").GeneratedAlways<number>;
}>;
account_strike: import("../db/schema/account_strike").AccountStrike;
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
job_cursor: import("../db/schema/job_cursor").JobCursor;
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
verification: import("../db/schema/verification").Verification;
safelink_rule: import("../db/schema/safelink").SafelinkRule;
safelink_event: import("../db/schema/safelink").SafelinkEvent;
scheduled_action: import("../db/schema/scheduled-action").ScheduledAction;
}, "moderation_subject_status" | "account_events_stats" | "account_record_events_stats" | "account_record_status_stats", "account_record_status_stats.subjectCount" | "account_record_status_stats.pendingCount" | "account_record_status_stats.processedCount" | "account_record_status_stats.takendownCount">, "account_strike.totalStrikeCount" | "account_strike.firstStrikeAt" | "account_strike.lastStrikeAt" | "account_strike.activeStrikeCount as strikeCount">;
export declare const adjustModerationSubjectStatus: (db: Database, moderationEvent: ModerationEventRow, blobCids?: string[]) => Promise<ModerationSubjectStatusRow | null>;
export declare const getStatusIdentifierFromSubject: (subject: string | AtUri) => {
did: string;
recordPath: string;
};
//# sourceMappingURL=status.d.ts.map