{"version":3,"sources":["../src/dispute/dispute.enums.ts","../src/dispute/dispute.schemas.ts"],"names":["DisputeType","DisputeStatus","DisputeResponseSchema","z","DISPUTE_DETAIL_MAX_LENGTH","BOOKING_DISPUTE_DETAIL_MAX_LENGTH","DisputeReasonSchema","BookingDisputeReasonSchema","AnyDisputeReasonSchema","DisputeSubjectTypeSchema","DisputeStateSchema","DisputeOutcomeSchema","EntitlementKindSchema","EntitlementKind","OpenDisputeRequestSchema","RaiseBookingDisputeRequestSchema","RaiseBookingDisputeResponseSchema","GetBookingDisputeResponseSchema","AdminDisputeResponseSchema","MyDisputesQuerySchema","AdminDisputesQuerySchema","ResolveDisputeRequestSchema","PagedDisputesResponseSchema","PaginationResponseSchema","AdminRevokeViewerPlaybackSchema","AdminRevokedViewersResponseSchema"],"mappings":"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","file":"chunk-X4EV5MUV.mjs","sourcesContent":["export const DisputeType = {\n  SERVICE_NOT_DELIVERED: 'SERVICE_NOT_DELIVERED',\n  QUALITY_ISSUE: 'QUALITY_ISSUE',\n  PAYMENT_DISPUTE: 'PAYMENT_DISPUTE',\n  CANCELLATION_DISPUTE: 'CANCELLATION_DISPUTE',\n  OTHER: 'OTHER',\n} as const;\nexport type DisputeType = (typeof DisputeType)[keyof typeof DisputeType];\n\nexport const DisputeStatus = {\n  OPEN: 'OPEN',\n  UNDER_REVIEW: 'UNDER_REVIEW',\n  RESOLVED: 'RESOLVED',\n  CLOSED: 'CLOSED',\n} as const;\nexport type DisputeStatus = (typeof DisputeStatus)[keyof typeof DisputeStatus];\n","import { z } from 'zod';\nimport { DisputeType, DisputeStatus } from './dispute.enums';\nimport { EntitlementKind } from '../event';\nimport { PaginationResponseSchema } from '../common';\n\nexport const DisputeResponseSchema = z.object({\n  id: z.uuid(),\n  transactionId: z.uuid(),\n  eventId: z.uuid().optional(),\n  bookingId: z.uuid().optional(),\n  userId: z.uuid(),\n  disputeType: z.enum(DisputeType),\n  reason: z.string(),\n  amountInDispute: z.number(),\n  disputeStatus: z.enum(DisputeStatus),\n  resolution: z.string().optional(),\n  reportedAt: z.iso.datetime(),\n  slaDeadline: z.iso.datetime(),\n  resolvedAt: z.iso.datetime().optional(),\n  createdAt: z.iso.datetime(),\n});\n\nexport const DISPUTE_DETAIL_MAX_LENGTH = 500;\nexport const BOOKING_DISPUTE_DETAIL_MAX_LENGTH = 2000;\n\n/** Viewer entitlement dispute reasons (Prisma `DisputeReason` subset). */\nexport const DisputeReasonSchema = z.enum([\n  'EVENT_DID_NOT_RUN',\n  'POOR_QUALITY',\n  'ACCESS_ISSUE',\n  'OTHER',\n]);\n\n/** Crew / vendor booking dispute reasons (Prisma `DisputeReason` subset). */\nexport const BookingDisputeReasonSchema = z.enum([\n  'BOOKING_SERVICE_NOT_DELIVERED',\n  'BOOKING_SERVICE_POOR_QUALITY',\n  'BOOKING_SCOPE_MISMATCH',\n  'BOOKING_OTHER',\n]);\n\n/** Full Prisma `DisputeReason` surface for admin reads. */\nexport const AnyDisputeReasonSchema = z.enum([\n  ...DisputeReasonSchema.options,\n  ...BookingDisputeReasonSchema.options,\n]);\n\nexport const DisputeSubjectTypeSchema = z.enum(['ENTITLEMENT', 'BOOKING']);\n\n// Mirrors Prisma `DisputeState` enum.\nexport const DisputeStateSchema = z.enum(['OPEN', 'RESOLVED_CUSTOMER', 'RESOLVED_HOST', 'EXPIRED']);\n\n// Mirrors Prisma `DisputeOutcome` enum.\nexport const DisputeOutcomeSchema = z.enum(['REFUNDED', 'DENIED', 'PARTIAL_REFUND']);\n\nconst EntitlementKindSchema = z.enum(EntitlementKind);\n\nexport const OpenDisputeRequestSchema = z\n  .object({\n    entitlementKind: EntitlementKindSchema,\n    reason: DisputeReasonSchema,\n    detail: z.string().trim().min(1).max(DISPUTE_DETAIL_MAX_LENGTH).optional(),\n  })\n  .strict();\n\n/** `POST /marketplace/bookings/:id/dispute` */\nexport const RaiseBookingDisputeRequestSchema = z\n  .object({\n    reason: BookingDisputeReasonSchema,\n    detail: z.string().trim().min(1).max(BOOKING_DISPUTE_DETAIL_MAX_LENGTH).optional(),\n  })\n  .strict();\n\nexport const RaiseBookingDisputeResponseSchema = z\n  .object({\n    bookingId: z.uuid(),\n    dispute: z.object({\n      id: z.uuid(),\n      state: DisputeStateSchema,\n      raisedBy: z.enum(['HOST', 'VENDOR']),\n    }),\n  })\n  .strict();\n\n/** `GET /marketplace/bookings/:id/dispute` — queryable row linked to the booking. */\nexport const GetBookingDisputeResponseSchema = z\n  .object({\n    id: z.uuid(),\n    bookingId: z.uuid(),\n    subjectType: z.literal('BOOKING'),\n    userId: z.uuid(),\n    reason: BookingDisputeReasonSchema,\n    detail: z.string().nullable(),\n    state: DisputeStateSchema,\n    raisedBy: z.enum(['HOST', 'VENDOR']),\n    resolvedAt: z.iso.datetime().nullable(),\n    resolutionOutcome: DisputeOutcomeSchema.nullable(),\n    createdAt: z.iso.datetime(),\n    updatedAt: z.iso.datetime(),\n  })\n  .strict();\n\nexport const AdminDisputeResponseSchema = z\n  .object({\n    id: z.uuid(),\n    subjectType: DisputeSubjectTypeSchema,\n    subjectId: z.string().min(1),\n    entitlementId: z.string().nullable(),\n    eventId: z.uuid().nullable(),\n    bookingId: z.uuid().nullable(),\n    userId: z.uuid(),\n    reason: AnyDisputeReasonSchema,\n    detail: z.string().nullable(),\n    state: DisputeStateSchema,\n    resolvedAt: z.iso.datetime().nullable(),\n    resolutionOutcome: DisputeOutcomeSchema.nullable(),\n    correlationId: z.string(),\n    createdAt: z.iso.datetime(),\n    updatedAt: z.iso.datetime(),\n  })\n  .strict();\n\nexport const MyDisputesQuerySchema = z\n  .object({\n    state: DisputeStateSchema.optional(),\n    pageNumber: z.coerce.number().int().min(1).optional(),\n    pageSize: z.coerce.number().int().min(1).max(100).optional(),\n  })\n  .strict();\n\nexport const AdminDisputesQuerySchema = z\n  .object({\n    state: DisputeStateSchema.optional(),\n    eventId: z.uuid().optional(),\n    bookingId: z.uuid().optional(),\n    subjectType: DisputeSubjectTypeSchema.optional(),\n    pageNumber: z.coerce.number().int().min(1).optional(),\n    pageSize: z.coerce.number().int().min(1).max(100).optional(),\n  })\n  .strict();\n\nexport const ResolveDisputeRequestSchema = z\n  .object({\n    outcome: DisputeOutcomeSchema,\n    refundId: z.string().min(1).max(100).optional(),\n    resolutionNote: z.string().trim().max(500).optional(),\n  })\n  .strict();\n\nexport const PagedDisputesResponseSchema = z\n  .object({\n    items: z.array(AdminDisputeResponseSchema),\n    ...PaginationResponseSchema.shape,\n  })\n  .strict();\n\nexport const AdminRevokeViewerPlaybackSchema = z.object({\n  viewerId: z.uuid(),\n  reason: z.string().min(1).max(500).optional(),\n});\n\nexport const AdminRevokedViewersResponseSchema = z.object({\n  eventId: z.uuid(),\n  viewerIds: z.array(z.uuid()),\n});\n"]}