34 lines
1.1 KiB
TypeScript
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 };
|