import { inArray } from 'drizzle-orm' import { db } from '~/drizzle/db' import { cardCodes, cardCodeRedemptions, songs } from '~/drizzle/schema' export async function deleteCardCodesByIds(ids: number[]) { return await db.transaction(async (tx) => { await tx.update(songs) .set({ cardCodeId: null }) .where(inArray(songs.cardCodeId, ids)) await tx.delete(cardCodeRedemptions) .where(inArray(cardCodeRedemptions.cardCodeId, ids)) const deleted = await tx.delete(cardCodes) .where(inArray(cardCodes.id, ids)) .returning() return deleted }) }