import { uuidv5 } from "../../../shared/uuidv5";
import type { ExchangeRateCreate, Schema } from "../lib/types";
import { currencyIds } from "./currencies";

const NS = "erp-kit:primitives";

type SeedRow = Omit<ExchangeRateCreate<Schema>, "id">;

export const exchangeRateIds = {
  "USD-EUR": await uuidv5(NS, "rate:USD-EUR"),
  "USD-GBP": await uuidv5(NS, "rate:USD-GBP"),
  "USD-JPY": await uuidv5(NS, "rate:USD-JPY"),
  "USD-CNY": await uuidv5(NS, "rate:USD-CNY"),
} as const;

// Illustrative rates (USD-based, not live market data)
export const exchangeRates: Record<string, SeedRow> = {
  [exchangeRateIds["USD-EUR"]]: { sourceCurrencyId: currencyIds.USD, targetCurrencyId: currencyIds.EUR, rate: 0.92, effectiveDate: new Date("2025-01-01") },
  [exchangeRateIds["USD-GBP"]]: { sourceCurrencyId: currencyIds.USD, targetCurrencyId: currencyIds.GBP, rate: 0.79, effectiveDate: new Date("2025-01-01") },
  [exchangeRateIds["USD-JPY"]]: { sourceCurrencyId: currencyIds.USD, targetCurrencyId: currencyIds.JPY, rate: 148.5, effectiveDate: new Date("2025-01-01") },
  [exchangeRateIds["USD-CNY"]]: { sourceCurrencyId: currencyIds.USD, targetCurrencyId: currencyIds.CNY, rate: 7.24, effectiveDate: new Date("2025-01-01") },
};
