Files
adventure/apps/web/src/infrastructure/composition.ts
Zaine 8cff315496
Some checks failed
CI / test (push) Has been cancelled
change
2026-07-03 16:26:54 +01:00

34 lines
1.1 KiB
TypeScript

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<typeof updateAdventureItemUseCase>[1]["updates"]
) {
return updateAdventureItemUseCase(adventureDeps, {
userId,
date,
itemId,
dayOfWeek: getDayOfWeek(date),
updates,
});
}
export { adventureDeps };