export async function scopedQuery<
  A extends { where?: Record<string, unknown> },
  Q extends (args: A) => Promise<ReturnType<Q>>,
>({ args, query }: { args: A; query: Q }): Promise<ReturnType<Q>> {
  return query({
    ...args,
    where: {
      deletedAt: null,
      ...args.where,
    },
  })
}
