import type { Movement as PrismaMovement } from "@/generated/prisma/client"

import type { Asset } from "./asset"
import type { Item } from "./item"
import type { Recipient } from "./recipient"

export type Movement = PrismaMovement

export type MovementSummary = Pick<Movement, "id" | "type" | "quantity">

export type MovementWithItem = Movement & {
  item: Item | null
}

export type MovementWithItemAndAsset = Movement & {
  item: Item | null
  asset: Asset | null
}

export type MovementWithRecipientItemAsset = Movement & {
  recipient: Recipient | null
  item: Item | null
  asset: Asset | null
}
