import { updateAdventureItem as updateAdventureItemUseCase, type UpdateAdventureItemDeps, } from "@adventureos/application"; import { drizzleActionEventsRepository } from "@/adapters/persistence/drizzle-action-events.repository"; import { drizzleAdventureRepository } from "@/adapters/persistence/drizzle-adventure.repository"; import { drizzleScoringService } from "@/adapters/persistence/drizzle-scoring.service"; import { drizzleXpRepository } from "@/adapters/persistence/drizzle-xp.repository"; import { dayOfWeek as getDayOfWeek } from "@/lib/dates"; const adventureDeps: UpdateAdventureItemDeps = { adventureRepository: drizzleAdventureRepository, xpRepository: drizzleXpRepository, actionEventsRepository: drizzleActionEventsRepository, scoringService: drizzleScoringService, }; export async function updateAdventureItemViaUseCase( userId: string, date: string, itemId: string, updates: Parameters[1]["updates"] ) { return updateAdventureItemUseCase(adventureDeps, { userId, date, itemId, dayOfWeek: getDayOfWeek(date), updates, }); } export { adventureDeps };