refactor(modules): propagate UserError in quest, trade, and class services
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
|
||||
```typescript
|
||||
import { quests, userQuests, users } from "@/db/schema";
|
||||
import { eq, and, sql } from "drizzle-orm";
|
||||
import { UserError } from "@/lib/errors";
|
||||
import { DrizzleClient } from "@/lib/DrizzleClient";
|
||||
import { economyService } from "@/modules/economy/economy.service";
|
||||
import { levelingService } from "@/modules/leveling/leveling.service";
|
||||
@@ -45,8 +46,8 @@ export const questService = {
|
||||
}
|
||||
});
|
||||
|
||||
if (!userQuest) throw new Error("Quest not assigned");
|
||||
if (userQuest.completedAt) throw new Error("Quest already completed");
|
||||
if (!userQuest) throw new UserError("Quest not assigned");
|
||||
if (userQuest.completedAt) throw new UserError("Quest already completed");
|
||||
|
||||
// Mark completed
|
||||
await txFn.update(userQuests)
|
||||
@@ -62,7 +63,7 @@ export const questService = {
|
||||
|
||||
if (rewards?.balance) {
|
||||
const bal = BigInt(rewards.balance);
|
||||
await economyService.modifyUserBalance(userId, bal, 'QUEST_REWARD', `Reward for quest ${questId}`, null, txFn);
|
||||
await economyService.modifyUserBalance(userId, bal, 'QUEST_REWARD', `Reward for quest ${ questId }`, null, txFn);
|
||||
results.balance = bal;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user