1
1
mirror of https://github.com/theoludwig/p61-project.git synced 2024-07-17 07:00:12 +02:00
p61-project/infrastructure/supabase/repositories/HabitEdit.ts

24 lines
842 B
TypeScript
Raw Normal View History

import type { HabitEditRepository } from "@/domain/repositories/HabitEdit"
2024-05-02 23:48:47 +02:00
import { SupabaseRepository } from "@/infrastructure/supabase/repositories/_SupabaseRepository"
import { habitSupabaseDTO } from "../data-transfer-objects/HabitDTO"
export class HabitEditSupabaseRepository
extends SupabaseRepository
implements HabitEditRepository
{
public execute: HabitEditRepository["execute"] = async (options) => {
const { habitEditData } = options
2024-05-02 23:48:47 +02:00
const { data } = await this.supabaseClient
.from("habits")
2024-05-02 23:48:47 +02:00
.update(
habitSupabaseDTO.fromDomainEditDataToSupabaseUpdate(habitEditData),
)
2024-04-11 13:07:17 +02:00
.eq("id", habitEditData.id)
.select("*")
2024-05-02 23:48:47 +02:00
.single()
.throwOnError()
const updatedHabit = data as NonNullable<typeof data>
return habitSupabaseDTO.fromSupabaseToDomain(updatedHabit)
}
}