import { z } from 'zod';
import { PAYMENT_PROVIDERS, PAYMENT_STATUSES } from './Payment.const';

export const paymentProviderNameSchema = z.enum(PAYMENT_PROVIDERS);

export const paymentStatusSchema = z.enum(PAYMENT_STATUSES);

export const paymentProviderDataSchema = z.object({
  provider: paymentProviderNameSchema,
  paymentIntentId: z.string().optional(),
  transactionId: z.string(),
  amountPaid: z.number(),
  currency: z.string(),
  paymentStatus: paymentStatusSchema,
  paymentMethod: z.string().optional(),
  metadata: z.record(z.string(), z.any()).optional(),
});
