Skip to content

Commit f30b2ef

Browse files
vcarlclaude
andcommitted
Migrate reportedMessages model to Effect-TS
- Create app/effects/models/reportedMessages.ts with Effect-based functions - Update all imports to use Effect-based version with legacy wrappers - Delete dead app/models/reportedMessages.server.ts Functions migrated: - recordReport (with DatabaseConstraintError handling) - getReportsForUser - getReportsForMessage - getUserReportStats - deleteReport - markMessageAsDeleted - getUniqueNonDeletedMessages - deleteAllReportedForUser (partial - still uses Discord client directly) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent bd1c7c5 commit f30b2ef

File tree

8 files changed

+450
-347
lines changed

8 files changed

+450
-347
lines changed

app/commands/escalate/handlers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111

1212
import { client } from "#~/discord/client.server.ts";
1313
import { executeResolution } from "#~/discord/escalationResolver.js";
14+
import { deleteAllReportedForUser } from "#~/effects/models/reportedMessages.js";
1415
import { hasModRole } from "#~/helpers/discord.js";
1516
import { parseFlags } from "#~/helpers/escalationVotes.js";
1617
import type { Features } from "#~/helpers/featuresFlags.js";
@@ -38,7 +39,6 @@ import {
3839
fetchSettings,
3940
SETTINGS,
4041
} from "#~/models/guilds.server";
41-
import { deleteAllReportedForUser } from "#~/models/reportedMessages.server";
4242

4343
import {
4444
buildConfirmedMessageContent,

app/commands/report.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import {
55
type MessageContextMenuCommandInteraction,
66
} from "discord.js";
77

8+
import { ReportReasons } from "#~/effects/models/reportedMessages.js";
89
import { commandStats } from "#~/helpers/metrics";
910
import { reportUser } from "#~/helpers/modLog";
1011
import { log, trackPerformance } from "#~/helpers/observability";
11-
import { ReportReasons } from "#~/models/reportedMessages.server";
1212

1313
const command = new ContextMenuCommandBuilder()
1414
.setName("Report")

app/commands/track.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import {
77
import { Button } from "reacord";
88

99
import { reacord } from "#~/discord/client.server";
10-
import { reportUser } from "#~/helpers/modLog";
1110
import {
12-
markMessageAsDeleted,
11+
markMessageAsDeletedLegacy as markMessageAsDeleted,
1312
ReportReasons,
14-
} from "#~/models/reportedMessages.server";
13+
} from "#~/effects/models/reportedMessages.js";
14+
import { reportUser } from "#~/helpers/modLog";
1515

1616
const command = new ContextMenuCommandBuilder()
1717
.setName("Track")

app/discord/automod.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Events, type Client } from "discord.js";
22

3+
import {
4+
markMessageAsDeletedLegacy as markMessageAsDeleted,
5+
ReportReasons,
6+
} from "#~/effects/models/reportedMessages.js";
37
import { isStaff } from "#~/helpers/discord";
48
import { isSpam } from "#~/helpers/isSpam";
59
import { reportUser } from "#~/helpers/modLog";
6-
import {
7-
markMessageAsDeleted,
8-
ReportReasons,
9-
} from "#~/models/reportedMessages.server";
1010

1111
import { client } from "./client.server";
1212

app/discord/honeypotTracker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { ChannelType, Events, type Client } from "discord.js";
22

33
import db from "#~/db.server.js";
4+
import { ReportReasons } from "#~/effects/models/reportedMessages.js";
45
import { reportUser } from "#~/helpers/modLog.js";
56
import { log } from "#~/helpers/observability";
67
import { fetchSettings, SETTINGS } from "#~/models/guilds.server.js";
7-
import { ReportReasons } from "#~/models/reportedMessages.server.js";
88

99
interface HoneypotConfig {
1010
guild_id: string;

0 commit comments

Comments
 (0)